Danke für die Antwort ...
Ist ganz schön kompliziert ...
Habe nun selber ein Programm geschrieben:
Code:
.include "m8def.inc"
.def temp = r16 ;Arbeitsregister setzen
.def flag = r17 ;Flagregister setzen
.equ TIMERWERT = 65535-976 ;Timerwert auf etwas setzen
;********************************************************
;* Init Timer / Counter 1 *
;********************************************************
ldi temp, (1 << CS10) | (1 << CS12) ;Setze Prescalerwerte
;CS10 auf Null und CS11 und CS12 auf Eins Divisionsfaktor = 1024
out TCCR1B, temp ;Übergebe den Wert an das Timer/Counter1 Control Register B
;********************************************************
;* Init LED's *
;********************************************************
cbi PORTD7, PD7
cbi DDRD, DDD7 ;Back-LEDs wirklich ausschalten
;********************************************************
;* MAIN *
;********************************************************
main:
rcall front_led_on
rcall timer_countdown
rcall front_led_off
rcall timer_countdown
rjmp main
;********************************************************
;* Funktionen *
;* ********** *
;********************************************************
;********************************************************
;* Timer Countdown *
;********************************************************
timer_countdown:
loop:
in temp, TIFR
sbrs temp, TOV1
rjmp loop
rcall timer_reset
ldi temp, (1<<TOV1)
out TIFR, temp
ret
;********************************************************
;* Timer Reset *
;********************************************************
timer_reset:
ldi temp, HIGH(TIMERWERT)
out TCNT1H, temp
ldi temp, LOW(TIMERWERT)
out TCNT1L, temp
ret
;********************************************************
;* Front LED On *
;********************************************************
front_led_on:
sbi PORTD, PD6
sbi DDRD, DDD6
ret
;********************************************************
;* Front LED Off *
;********************************************************
front_led_off:
cbi DDRD, DDD6
ret
Was mich da aber stört ist, dass er nicht sofort mit dem Blinken startet.
Warum nicht?
@A.Hoffmann:
Kann man dein Programm auch auf die Art schreiben, wie ich meinen Timer benutze?
Lesezeichen