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







Zitieren

Lesezeichen