schroejahr
24.09.2005, 19:56
Hallo, schon wieder mal ein problem ;-(
Ich hab an meinem atmega8 folgendes angeschlossen:
an portB 3 und portb 4 sind leds angeschlossen.
an portD 3 ist ein taster direkt auf Gnd.
dann hab ich folgenden code auf den chip geladen:
.include "4433def.inc" ;bzw. 2333def.inc
ldi r16, 0xFF
out DDRB, r16 ;Port B durch Ausgabe von 0xFF ins
;Richtungsregister DDRB als Ausgang konfigurieren
ldi r16, 0x00
out DDRD, r16 ;Port D durch Ausgabe von 0x00 ins
;Richtungsregister DDRD als Eingang konfigurieren
loop:
in r16, PIND ;an Port D anliegende Werte (Taster) nach r16
;einlesen
out PORTB, r16 ;Inhalt von r16 an Port B ausgeben
rjmp loop ;Sprung zu "loop:" -
jetzt müsste doch wenn ich den taseter drücke die led an portB 3 ausgehen.
aber wenn ich sie drücke gehen beide aus, wieso ?
Ich hab an meinem atmega8 folgendes angeschlossen:
an portB 3 und portb 4 sind leds angeschlossen.
an portD 3 ist ein taster direkt auf Gnd.
dann hab ich folgenden code auf den chip geladen:
.include "4433def.inc" ;bzw. 2333def.inc
ldi r16, 0xFF
out DDRB, r16 ;Port B durch Ausgabe von 0xFF ins
;Richtungsregister DDRB als Ausgang konfigurieren
ldi r16, 0x00
out DDRD, r16 ;Port D durch Ausgabe von 0x00 ins
;Richtungsregister DDRD als Eingang konfigurieren
loop:
in r16, PIND ;an Port D anliegende Werte (Taster) nach r16
;einlesen
out PORTB, r16 ;Inhalt von r16 an Port B ausgeben
rjmp loop ;Sprung zu "loop:" -
jetzt müsste doch wenn ich den taseter drücke die led an portB 3 ausgehen.
aber wenn ich sie drücke gehen beide aus, wieso ?