Hallo Leute,
folgendes Programm macht mir Probleme.
Ich habe gerade mit den Interrupts angefangen.
Hier das Programm:
Ich habe vor die Status-LED mit den Interrupts zu togglen.Code:.include "m8def.inc" .def temp = r16 .def temp2 = r17 .org 0x000 rjmp main ; Reset Handler .org INT0addr rjmp int0_handler ; IRQ0 Handler .org INT1addr rjmp int1_handler ; IRQ1 Handler main: ; hier beginnt das Hauptprogramm ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ldi temp2, 0x00 ldi temp, 0x00 out DDRD, temp ldi temp, 0xFF out DDRB, temp ldi temp, 0b00001010 ; INT0 und INT1 konfigurieren out MCUCR, temp ldi temp, 0b11000000 ; INT0 und INT1 aktivieren out GICR, temp sei ; Interrupts allgemein aktivieren loop: rjmp loop ; eine leere Endlosschleife int0_handler: sbi PORTB, 0 reti int1_handler: sbrs temp2, 0 rcall f_led_on sbrc temp2, 0 rcall f_led_off reti f_led_on: sbi PORTB, 0 ldi temp2, 0xFF ret f_led_off: cbi PORTB, 0 ldi temp2, 0x00 ret
Was habe ich falsch gemacht?







Zitieren


Lesezeichen