Beginner Code korrigieren
Hallo erstmal.
Habe mir das AVR Board von Pollin zusammengebaut und wollte nun mal meine ersten Gehversuche in Assembler machen. Was ich bis dato hinbekommen habe ist eine brennende LED. Nun wollte ich mal die LED per Taster einschalten (ein wenn gedrückt, aus wenn nicht gedrückt).
Das funktioniert nun aber leider nicht wie gewünscht.
Hier ist erst mal der Link zum Schaltplan: http://www.pollin.de/shop/downloads/D810038B.PDF
Ich benutze einen Atmega8.
Und nun mein Code. Wäre sehr freundlich wenn mir jemand sagen könnte was da nicht stimmt:
Code:
;+++++++++++++++++++++++++++
;My first AVR ASSEMBLY CODE
;+++++++++++++++++++++++++++
;################
.NOLIST
.DEVICE ATMEGA8
.LIST
.CSEG
;################
.EQU PORTD = 0x12
.EQU DDRD = 0x11
.EQU Taster = 2
.EQU LED1 = 5
RJMP main
main:
loop:
LDI R16,0x00
OUT DDRD,R16 ;PORT D auf Input setzen
SBIS PORTD,Taster ;BIT 2 prüfen (Taster1 liegt auf PD2)
BREQ led_on ;springen wenn Taster gedrückt
LDI R16,0xFF
OUT DDRD,R16 ;PORT D auf Output setzen
CBI PORTD,LED1 ;LED1 ausschalten (PD5)
RJMP loop
led_on:
LDI R16,0xFF
OUT DDRD,R16 ;PORT D auf Output setzen
SBI PORTD,LED1 ;LED1 anschalten (PD5)
RJMP loop