Hallo,
ich arbeite mich gerade in die Mikrocontrollerprogrammierung ein. Aktuell kämpfe ich mit den Interrupts.
Das Board ist wie folgt verkabelt: Taster 1 an Port D.2, Taster 2 an D.3, grüne LED an B.1, gelbe LED an B.2, rote LED an B.3.
Das ist mein Programmcode:
Was passieren soll: Die drei LEDs leuchten mit Programmbeginn. Bei Betätigung von Taster 1 wird die grüne LED per Interrupt abgeschaltet. Bei Betätigung von Taster 2 wird die grüne LED abgeschaltet.Code:.include "AVR.H" begin: rjmp main ; RESET External Pin, Power-on Reset, Brown-out Reset and Watchdog Reset rjmp interrupt0 ; INT0 External Interrupt Request 0 rjmp interrupt1 ; 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) out SPH, r16 ldi r16, lo8(RAMEND) out SPL,r16 cbi DDRD, 2 ; D.2: Eingang, Taster sbi PORTD, 2 ; Pull-Up cbi DDRD, 3 ; D.3: Eingang, Taster sbi PORTD, 3 ; Pull-Up sbi DDRB, 1 ; B.1: grüne LED sbi DDRB, 2 ; B.2: gelbe LED sbi DDRB, 3 ; B.3: rote LED sbi PORTB, 1 ; B.1: grüne LED ein sbi PORTB, 2 ; B.2: gelbe LED ein sbi PORTB, 3 ; B.3: rote LED ein ldi r16, 0b00000011 out EIMSK, r16 ldi r16, 0b00001010 sts EICRA, r16 sei ;----------------------------------------------------------------------------- mainloop: wdr rjmp mainloop interrupt0: cbi PORTB, 1 ; grüne LED aus reti interrupt1: cbi PORTB, 3 ; rote LED aus reti
Was passiert: Die LED leuchten. Taster 1 schaltet die rote LED aus, Taster 2 bewirkt gar nichts.
Ich kapier leider nicht, was da schief läuft, und bin für jede Hilfe dankbar.







Zitieren
Ich benutze übrigens SiSy3 

Lesezeichen