Guten Tag. Mache gerade die ersten Gehversuche zum Thema AVR mit einem ATtiny2313. Habe angeschlossen zwei LED`s und zwei Taster. LED1: PD5 LED2: PD6 Taster2: PD3 Taster3: PD4 Mein Code lauet:
1 | .include "tn2313def.inc" ; Definitionsdatei für den Prozessortyp einbinden |
2 | |
3 | ldi r16, 0b01100000 ; lade Arbeitsregister r16 mit der Konstanten 0xFF |
4 | out DDRd, r16 ; Inhalt von r16 ins IO-Register DDRB ausgeben |
5 | |
6 | ldi r16, 0b01100000 ; 0b11111100 in r16 laden |
7 | out PORTd, r16 ; r16 ins IO-Register PORTB ausgeben |
8 | |
9 | |
10 | loop: |
11 | in r16, PIND ; an Port D anliegende Werte (Taster) nach r16 einlesen |
12 | rol r16 |
13 | rol r16 |
14 | out PORTd, r16 ; Inhalt von r16 an Port B ausgeben |
15 | rjmp loop ; Sprung zu "loop:" -> Endlosschleife |
(bissle Copy and Paste) Ich will das beim Drücken des einen Tasters die eine LED und beim Drücken des anderen Tasters die andere Leuchtet. Momentan ist es so das beim Drücken des Taster3 die LED2 über die Zeit des Drückens aufleuchtet (so wie es sein soll). Wenn ich Taster2 drück Leuchtet die LED1 auf und geht nicht wieder aus. Wenn ich nun auf irgendeinen Taster drücke (selbst wenn er an PD2 angeschlossen ist) nachdem Taster2 gedrückt wurde leuchtet auch die LED2 auf und geht nicht aus. Einzige Abhilfe hier ist den Reset zu drücken. Wie schon gesagt hab ich nochnicht ganz so viel Ahnung und wollte mal nachfragen woran das liegt. Hoffe das mir wie sonst gut geholfen wird. Danke im Vorraus