Bardzo proszę o sprawdzenie tego programu i napisanie co jest źle, dlaczego ten program nie działa tak jak powinien.
Mikrokontroler to Attiny 2313, diody podłączone do portu B zapalane 0, klawisze na porcie D zwierające do masy.
Zadaniem programu było zapalenie lub gaszenie diody w zależności od stanu poprzedniego, realizowane na przerwaniu
Mikrokontroler to Attiny 2313, diody podłączone do portu B zapalane 0, klawisze na porcie D zwierające do masy.
Zadaniem programu było zapalenie lub gaszenie diody w zależności od stanu poprzedniego, realizowane na przerwaniu
.INCLUDE "TN2313DEF.INC"
.CSEG
.ORG 0x00
RJMP RESET
.ORG 0X01
RET
.ORG 0X02
RJMP INTERRUPT1
RESET:
LDI R16,0XFF
OUT DDRB,R16
OUT PORTB,R16
LDI R16,0
OUT DDRD,R16
LDI R16,0XFF
OUT PORTD,R16
LDI R16,0X0F
OUT MCUCR,R16
LDI R16,0XFF
OUT GIMSK,R16
SEI
POCZ:
NOP
RJMP POCZ
INTERRUPT1:
RJMP STOP
IN R17,PORTB
ANDI R17,0B00000001
LDI R18,0X01
CPSE R18,R17
LDI R17,0B11111111
LDI R17,0B11111110
ANDI R17,0B10000001
OUT PORTB,R17
RETI
STOP:
LDI R19,0XFF
SK: LDI R20,0XFF
S: DEC R20
BRNE S
DEC R19
BRNE SK
RET