![]() |
Tutorial für das Erlernen der Assemblersprache von AVR-Einchip-Prozessoren AT90Sxxxx von ATMEL anhand geeigneter praktischer Beispiele. Einfache Einführungsbeispiele, Tutorial |
| HTML- Format | ASM- Format | Erläuterung zum Inhalt |
|---|---|---|
| Test1 | Test1 | Umgang mit dem Board kennenlernen, Ausgabe über den Port an die angeschlossenen Leuchtdioden, Grundstruktur von Assembler, -direktiven und -befehlen kennenlernen. Die Lampen blinken mit 800 Hz Takt. |
| Test2 | Test2 | Eingabe von einem Port lesen, das Aufrufen von Unterprogrammen, Stack- (Stapel-Befehle), Binäre Rechen- Operationen (AND, OR, ROL, etc.), Bedingte Verzweigungen (SBIx, BRxx). Das Drücken der Schalter 0 und 1 soll die Lampen 0 und 1 anmachen, das Drücken eines der Schalter 2 bis 6 die anderen Lampen. Das Drücken von Schalter 7 macht alle Lampen aus. |
| Test3 | Test3 | Timer im Polling modus ansteuern, MOV-Befehl. Ein Loop im Hauptprogramm fragt den Hardware-Zähler ab, bis dieser Null erreicht, dann wird der Softwarezähler um Eins erhöht und auf den LEDs ausgegeben. |
| Test4 | Test4 | Timer im Interrupt modus, Interrupts, Interrupt-Vektoren, BCD-Arithmetik. Hauptprogramm-Loop fragt oberes Byte des Software-Zählers ab, bis dieser hex 3D erreicht hat. Dann den Timer, bis dieser 09 erreicht hat (eine Sekunde = dez 15625 = hex 3D09 Zählerimpulse). Die Zähler werden auf Null gesetzt und eine Sekunde weitergezählt. Die Sekunden werden als gepackte BCD-Zahl behandelt (eine Ziffer zu vier Bit, 1 Byte entspricht zwei Ziffern), Die Sekunden werden bei Erreichen von 60 wieder auf Null gesetzt. Der Sekundenstand wird auf den LEDs ausgegeben. |