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
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. ...
Hallo, wie wäre es denn mit dem Code im Anhang? Hoffe ich habe dich richtig verstanden. Gruß Topsoft
Hallo, vielen Dank für den Anhang, ich hab wahrscheinlich eine Lösung gefunden.
Hallo, hab gerade mal die umschalter.asm ausprobiert, wie bekomme ich den Baustein wieder gelöscht? MfG Hilmar
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
Hallo, in dem Progie ist eine Zeile zu viel drin, deswegen funzt es nicht richtig. Gruß Topsoft
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
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
@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
@Andi: wo du recht hast haste recht PullUp natürlich extern anschliessen, siehe oben
@Topsoft: Mein letzter Beitrag bezog sich auf Deinen von 20:37. MfG Andi
@Andi: schon klar :-) und im Anhang noch mal Schaltplan und Progi ohne überflüssigen Code, Andi sei dank. Gruß Topsoft
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
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
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). ;-) ...
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
sorry Hannes, hatte Deinen Beitrag noch nicht gesehen, bin einfach zu lahm! MfG Andi
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.