Hmm, die Frage ist generell erst einmal, willst du einen syncronen oder einen asynchronen Timer ?
Hier einmal die relevanten Bits um diesen überhaupt erst einmal zum laufen zu bekommen:
PLLCSR:
- PCKE -> 0
- PLLE -> 0
TCCR1A:
- alle Bits gelöscht
TCCR1B:
- CS10, CS11, CS 13 gesetzt, rest gelöscht
Damit sollte der Timer theoretisch erst einmal laufen.
Für den Overflow Interupt muss man übrigens das Bit TOIE1 im Register TIMSK setzen.
Anbei mal ein kleines Assemblerprogramm, das eigentlich nur diesen Timer mit einem Prescaler von 1024 initialisert (µC Clock als Bezug).
Getestet hab ich es nur im AVR Studio, da mir hier wederein Tiny26, noch ein passendes Devboard oder gar ein Oszi zur Verfügung steht.
Code:
.nolist
.include "tn26def.inc"
.list
clr r16
out PLLCSR, r16
out TCCR1A, r16
ldi r16, (1<<CS10) | (1<<CS11) | (1<<CS13)
out TCCR1B, r16
loop:
rjmp loop
Grüße,
da Hanni.
Lesezeichen