Forum: Mikrocontroller und Digitale Elektronik Suche Programmierer füt Tiny 12


von Hilmar Seibel (Gast)


Lesenswert?

Hallo,
ich brauche Hilfe von einem Experten. Ich möchte einen Tiny 12 als
Umschalter programmieren.
3 Taster, die an PB0-PB2 liegen sollen 3 Ausgänge, PB3-PB5 steuern.
Wenn ich also Taster 1 PB0 drücke soll PB3 solange auf H gelegt werden
bis ein anderer Taster, z.B. PB1 gedrückt wird der wiederum PB4
dauerhaft auf H legt bis ein anderer Taster gedrückt wird. Quasi ein 3
fach Umschalter
Ich habe am Wochenende versucht das selber hinzubekommen, habe aber
keine Beispielprogramme für den Tiny 12 gefunden, der AVR macht alles
nur nicht das was er soll. Ich befasse mich erst seit Samstag mit dem
Thema AVR und brauche das Prg für private Zwecke (Amateurfunk).
Wer kann gegen gegen kleines Entgeld helfen?

MfG

HilSei

von ...HanneS... (Gast)


Lesenswert?

Und du bist sicher, dass du PB5 nutzen willst? (Schau nochmal ins
Datenblatt, speziell nach Reset-Beschaltung und Programmiermodi...)

Und wenn du dann die Aufgabe verständlich und eindeutig formulierst,
findet sich sicherlich auch jemand, der dir beim Programmieren hilft.

...

von Topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

wie wäre es denn mit dem Code im Anhang? Hoffe ich habe dich richtig
verstanden.

Gruß Topsoft

von Hilmar (Gast)


Lesenswert?

Hallo,
vielen Dank für den Anhang, ich hab wahrscheinlich eine Lösung
gefunden.

von Hilmar (Gast)


Lesenswert?

Hallo,
hab gerade mal die umschalter.asm ausprobiert, wie bekomme ich den
Baustein wieder gelöscht?

MfG

Hilmar

von Topsoft (Gast)


Lesenswert?

Hallo,

einfach löschen und neu beschreiben, weiß ja nicht was für ein
Programmer und welche Software du benutzt.
Ich hoffe du hast nicht die Fuse RSTDISABLE gesetzt wenn du nicht im
HighVoltage Modus Flashen kannst.

Gruß Topsoft

von Topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

in dem Progie ist eine Zeile zu viel drin, deswegen funzt es nicht
richtig.

Gruß Topsoft

von Hilmar (Gast)


Lesenswert?

Hallo,

den Prom kann ich nicht mehr löschen, habe mit yaap geflasht (5V) und
nichts den fuses geändert. Der "Programmer" sind 3 Widerstände in den
Datenleitungen. Nicht schlimm, morgen klappt es bestimmt. Ich glaube ich
muß mir alles nochmal ansehen. Wenn ich mit Yaap ein leeres Projekt
öffne müßte das PRG die in dem Baustein vorhandenen Daten
überschreiben, oder?


MfG

Hilmar

von Topsoft (Gast)


Lesenswert?

Hallo,

die Programmer löschen vor dem flashen das Flash. Das Progi ist immer
noch fehlerhaft da ja ein nicht gedrückter Taster High Pegel am Eingang
verursacht. Wichtig ist auch der PullUp Widerstand am Reseteingang. Habe
das geändert und als Anhang drangehängt. Damit das Progi funzt mußt du
aber die besagte Fuse (RSTDISABLE) setzen nur dann ist es aus mit dem
Isp programmieren im Low Voltage Mode.

Gruß Topsoft

von Topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Anhang vergessen ;-)

von Andi K. (Gast)


Angehängte Dateien:

Lesenswert?

@Topsoft: vielleicht sind es auch 5 Zeilen zu viel?
Wenn man schon die 3 Konstanten für den Port mit einem Befehl ausgeben
kann, dann kann man sich das "rjmp xxx" und die Marken schenken
(siehe Änderung im Anhang).
Ansonsten wurden ja für PB3-PB5 die Pullups aktiviert und es war vorher
so, das mit SBIS der RJMP übersprungen wurde und quasi bei Eingang X = 1
(high) ein schalten erfolgen würde was aber mit aktiven Pullup ja immer
1 (high) ist also ein wirres hin und her schalten hervorrufen würde.
Allerdings, geht ein Pullup bei Open Drain (Reset) überhaupt?

MfG
Andi

von Topsoft (Gast)


Lesenswert?

@Andi: wo du recht hast haste recht

PullUp natürlich extern anschliessen, siehe oben

von Andi K. (Gast)


Lesenswert?

@Topsoft: Mein letzter Beitrag bezog sich auf Deinen von 20:37.

MfG
Andi

von Topsoft (Gast)


Angehängte Dateien:

Lesenswert?

@Andi: schon klar :-)

und im Anhang noch mal Schaltplan und Progi ohne überflüssigen Code,
Andi sei dank.

Gruß Topsoft

von Andi K. (Gast)


Angehängte Dateien:

Lesenswert?

Anderer Seits könnte man noch dafür sorgen, das beim (versehentlichen)
Drücken von 2 Tasten nur der erste Ausgang in der Abfragereihenfolge
geschaltet wird um ein zu schnelles An- und Abschalten zu vermeiden was
für Relais nicht so sehr gut sein kann (siehe Anhang).
Damit wären wir wieder bei der ersten Lösung, nur das dann nach einer
Port-Ausgabe bei Abfrage 1 und 2 gleich wieder zum Anfang gesprungen
wird.

MfG
Andi

von Topsoft (Gast)


Lesenswert?

Bei mechanischen Bauteilen keine schlechte Idee, hatte auch schon
darüber nachgedacht. Jetzt könnte man das ganze noch mit dem Timer 10x
pro sec. machen und den Rest der Zeit den Kontroller schlafen
schicken.

Gruß Topsoft

von ...HanneS... (Gast)


Lesenswert?

Und vielleicht die Taster entprellen, sonst reagiert das Teil auf jeden
Störimpuls.

Aber bei diesem Andrang an Vorschlägen halte ich mich etwas zurück (das
spart Zeit). ;-)

...

von Andi K. (Gast)


Lesenswert?

Jau, oder 20 mal je Sekunde, man weiß ja nie, wie kurz jemand drücken
kann.
Eine Entprellung benötigt man für den Fall glaube ich nicht.

MfG
Andi

von Andi K. (Gast)


Lesenswert?

sorry Hannes, hatte Deinen Beitrag noch nicht gesehen, bin einfach zu
lahm!

MfG
Andi

von ...HanneS... (Gast)


Lesenswert?

;-)

von Topsoft (Gast)


Angehängte Dateien:

Lesenswert?

Etwa so?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.