AVR-Tutorial - 5. Interrupts - www.mikrocontroller.net
Impressum: Andreas Schwarz - Seßlacher Weg 4 - 96450 Coburg - webmaster(at)mikrocontroller(dot)
net
file:///E|/Elektronik/AVR/assemblertutorial/interrupts.htm (4 of 4)30.01.2007 15:23:44
ldi temp, 0x00
out DDRD, temp
ldi temp, 0xFF
out DDRB, temp
ldi temp, 0b00001010
out MCUCR, temp
ldi temp, 0b11000000
out GIMSK, temp
sei
loop:
rjmp loop
int0_handler:
sbi PORTB, 0
reti
int1_handler:
cbi PORTB, 0
reti
Für dieses Programm braucht man nichts weiter als eine LED an PB0 und je einen Taster an PD2
(INT0) und PD3 (INT1). Wie diese angeschlossen werden steht in
Die Funktion ist auch nicht schwer zu verstehen: Drückt man eine Taste, wird der dazugehörige
Interrupt aufgerufen und die LED an- oder abgeschalten. Das ist zwar nicht sonderlich spektakulär,
aber das Prinzip sollte deutlich werden.
Meistens macht es keinen Sinn, Taster direkt an einen Interrupteingang anzuschließen. Häufiger
werden Interrupts in Zusammenhang mit dem UART verwendet, um z.B. auf ein empfangenes
Zeichen zu reagieren. Wie das funktioniert seht ihr im
;INT0 und INT1 konfigurieren
;INT0 und INT1 aktivieren
;Interrupts allgemein aktivieren
;eine leere Endlosschleife
Teil 2
nächsten
Kapitel.
des Tutorials.