In
dem ersten Beitrag zur Intervallschaltuhr habe ich darüber
berichtet, dass ich
als Notlösung eine Zweiprozessorschaltung gebaut hatte, da ich
einige Funktion
damals noch nicht in Assembler schreiben konnte. Mittlerweile bin ich
in
Assembler etwas weiter gekommen, so dass ich nun auch die
Menueführung und die
Zeitvorgaben in Assembler schreiben und damit alle Funktionen
auf einen
Controller vereinen konnte. Damit vereinfachte sich die Schaltung.
Leider
gewann das Programm im Gegenzug gewaltig an Umfang, so dass ich es hier
zwar listen,
aber ob des Umfanges nicht
beschreiben möchte. Der interessierte Leser sei
darüber informiert, dass ich
mein Grundwissen aus dem AVR-Tutorial
bezog. Die eigentliche Infrarotansteuerung übernahm ich wieder
von Big-Mike.
Selbstverständlich waren das alles Grundelemente, die ich auf
meine Bedürfnisse
zugeschnitten habe. So ist das AVM-Tutorial z.B. auf den
ATmega 8
ausgerichtet, während ich den ATmega88 benutze. Zwar ist der
Befehlssatz für
beide Controller weitgehend identisch, jedoch unterscheiden sich die
beiden
Prozessoren z.T. erheblich in den Registernamen und den
Adressierungsarten. Was
auf dem
ATMega8 meist mit IN bzw. OUT erledigt werden kann, erfordert auf dem
ATMega88 oft die Befehle LDS
bzw. STS, da die betroffenen Register an höheren Adressen
liegen.
Für den Aufbau verwendete ich hier ein käufliches
Gehäuse. Um
Platz zu sparen montierte ich die LCD-Anzeige in Sandwich-Bauweise auf
die
Hauptplatine. Das setzte natürlich voraus, das die gesamte
Schaltung vorher
gründlich getestet wurde, da man nach dem Anbau des
LCD-Displays
nicht mehr an
die Komponenten heran kam.
Das
Programm kann hier heruntergeladen werden. Die Dateien wurden mit dem
AVR-Studio Version 4.18 generiert. Hier gehts zum
Softwaredownload
|
|