Also, weiter gehts, leider will die LED partout nicht blinken.
Sie geht nur einmal an und das auch nur nach viel zu langer Zeit, eigentliche frequenz sollte 1Hz sein.
Vielleicht habt ihr ja noch mal nen Tipp, habe versucht den Code so gut wie möglich zu kommentieren:
Code:
;******************************************************************
;Trying to make the LED blink
;******************************************************************
;*******************
.NOLIST
.INCLUDE "m8def.inc"
.LIST
;*******************
.EQU Taster1 = 2
.EQU LED1 = 5
.EQU Timer_Start_Wert = 65536 - 15625
main:
LDI R16,(1<<LED1)
OUT DDRD,R16 ;PORT D Input/Output directions setzen
LDI R16,(1<<CS12)+(1<<CS10) ;Prescaller für Timer1 auf 1024 setzen, 16MHz/1024 = 15625Hz
OUT TCCR1B,R16
outer_loop:
LDI R16,HIGH(Timer_Start_Wert) ;Startwert in Timer laden, Timer soll ein mal pro Sekunde überlaufen
OUT TCNT1H,R16
LDI R16,LOW(Timer_Start_Wert)
OUT TCNT1L,R16
inner_loop:
IN R16,TIFR ;auf Overflow des Timer1 warten
SBRS R16,TOV1
RJMP inner_loop
IN R16,PORTD ;LED Zustand einlesen
COM R16 ;toggeln
ANDI R16,(1<<LED1)
OUT PORTD,R16 ;wieder ausgeben
RJMP outer_loop ;zurück zum Timer reseten
Lesezeichen