Exodus
29.06.2006, 16:23
Hallo,
Also dass programm sollte so funktionieren!
erst wenn 4 tasten gedrückt werden, dann soll der ausgang geschalten werden (DDRB, 0)
Problem:
Warum leuchtet die LED am anfang schon auch wenn ich nichts mache!
Programm:
.include <m8535def.inc>
;leerlauf
loop:
in R21, PINA
cpi R21, 0x01
breq NR1
cpi R21, 0x02
breq NR2
cpi R21, 0x03
breq NR3
cpi R21, 0x04
breq NR4
cpi R22, 4
breq setbit
rjmp loop
;CODE Eingabe
NR1:
ldi R16, PINA
inc R22
ldi R17, 1
sbi EEARL, 0
sbi EECR, 2
sbi EECR, 1
out EEDR, R17
cbi EEARL, 0
cbi PINA, 0
rjmp loop
NR2:
ldi R16, PINA
inc R22
ldi R18, 2
sbi EEARL, 1
sbi EECR, 2
sbi EECR, 1
out EEDR, R18
cbi EEARL, 1
cbi PINA, 1
rjmp loop
NR3:
ldi R16, PINA
inc R22
ldi R19, 3
sbi EEARL, 2
sbi EECR, 2
sbi EECR, 1
out EEDR, R19
cbi EEARL, 2
cbi PINA, 2
rjmp loop
NR4:
inc R22
ldi R20, 4
sbi EEARL, 3
sbi EECR, 2
sbi EECR, 1
out EEDR, R20
cbi EEARL, 3
cbi PINA, 3
rjmp loop
setbit:
sbi DDRB, 0
rjmp setbit
MFG
Michael
Also dass programm sollte so funktionieren!
erst wenn 4 tasten gedrückt werden, dann soll der ausgang geschalten werden (DDRB, 0)
Problem:
Warum leuchtet die LED am anfang schon auch wenn ich nichts mache!
Programm:
.include <m8535def.inc>
;leerlauf
loop:
in R21, PINA
cpi R21, 0x01
breq NR1
cpi R21, 0x02
breq NR2
cpi R21, 0x03
breq NR3
cpi R21, 0x04
breq NR4
cpi R22, 4
breq setbit
rjmp loop
;CODE Eingabe
NR1:
ldi R16, PINA
inc R22
ldi R17, 1
sbi EEARL, 0
sbi EECR, 2
sbi EECR, 1
out EEDR, R17
cbi EEARL, 0
cbi PINA, 0
rjmp loop
NR2:
ldi R16, PINA
inc R22
ldi R18, 2
sbi EEARL, 1
sbi EECR, 2
sbi EECR, 1
out EEDR, R18
cbi EEARL, 1
cbi PINA, 1
rjmp loop
NR3:
ldi R16, PINA
inc R22
ldi R19, 3
sbi EEARL, 2
sbi EECR, 2
sbi EECR, 1
out EEDR, R19
cbi EEARL, 2
cbi PINA, 2
rjmp loop
NR4:
inc R22
ldi R20, 4
sbi EEARL, 3
sbi EECR, 2
sbi EECR, 1
out EEDR, R20
cbi EEARL, 3
cbi PINA, 3
rjmp loop
setbit:
sbi DDRB, 0
rjmp setbit
MFG
Michael