User manual

Entwicklung eines kleinen Programms Seite: 39/152
© Laser & Co. Solutions GmbH Benutzerhandbuch SiSy
;+-----------------------------------------------------------------------------
;| Title : Assembler Grundgerüst für ATmega8
;+-----------------------------------------------------------------------------
;| Prozessor : ATmega8
;| Takt : 3,6864 MHz
;| Sprache : Assembler
;+-----------------------------------------------------------------------------
.include "AVR.H"
;------------------------------------------------------------------------------
begin:
rjmp main ; Power-on Reset
reti ; INT0 External Interrupt Request 0
reti ; INT1 External Interrupt Request 1
reti ; TIMER2 COMP Timer/Counter2 Compare Match
reti ; TIMER2 OVF Timer/Counter2 Overflow
reti ; TIMER1 CAPT Timer/Counter1 Capture Event
reti ; TIMER1 COMPA Timer/Counter1 Compare Match A
reti ; TIMER1 COMPB Timer/Counter1 Compare Match B
reti ; TIMER1 OVF Timer/Counter1 Overflow
reti ; TIMER0 OVF Timer/Counter0 Overflow
reti ; SPI, STC Serial Transfer Complete
reti ; USART, RXC USART, Rx Complete
reti ; USART, UDRE USART Data Register Empty
reti ; USART, TXC USART, Tx Complete
reti ; ADC ADC Conversion Complete
reti ; EE_RDY EEPROM Ready
reti ; ANA_COMP Analog Comparator
reti ; TWI 2-wire Serial Interface
reti ; SPM_RDY Store Program Memory Ready
;------------------------------------------------------------------------------
main: ldi r16,hi8(RAMEND) ; Main program start
out SPH,r16 ; Set Stack Pointer to top of RAM
ldi r16,lo8(RAMEND)
out SPL,r16
;Hier Init-Code eintragen.
;------------------------------------------------------------------------------
mainloop:
wdr
;Hier den Quellcode eintragen.
rjmp mainloop
Quellcode in Assembler erstellen
Das Lauflicht soll über die LEDs angezeigt und von dem Prozessorport D gesteuert
werden. Die Realisierung erfolgt über je ein Bit im Register R18. Dieses wird mit dem
Befehl Bit-Rotation nach rechts verschoben und an PORT D des Prozessors ausgege-
ben. Auf Grund der Prozessorgeschwindigkeit muss die Ausgabe des Lauflichtes r
unser Auge verzögert werden. Geben Sie folgenden Quellcode ein bzw. ergänzen Sie
die Programmvorlage!