Forum: Mikrocontroller und Digitale Elektronik Attinyx61 Timer1 im 10bit Modus mit OCR, unklar.


von Gerald S. (pcgerald63)


Lesenswert?

Hallo, ich komme trotz Datenblatt nicht ganz klar.
AVR-Studio unterstützt im Simulator den Timer 1 nicht korrrekt um selber 
dahinter zu kommen.
Wie, bzw. geht das mit Timer 1 im 10bit CompareMode, da steht was im 
Datenblatt OCR1A,B,C und D zusammen, wobei OCR1C aber nur das High-Byte 
hält, bzw. TC1H dafür sein sollte.
Hintergrund: Brauche Timer0 für was anderes und Timer1 soll mit 
Prescaler 16348 und OCR-Wert $01C1 bei 7,3728MHz einen Sekundentakt 
abgeben. Dieses TC1H ist aber für die Bits 8 und 9 zuständig.
Ich beutze ausschließlich Assembler. Vieleicht kann mir mal jemand kurz 
einige Hinweise geben.
Danke schonmals.

von spess53 (Gast)


Lesenswert?

Hi

Was verstehst du nicht? Ein Beispiel für den Zugriff auf ein
10Bit-OC-Register findest du im Datenblatt auf S.110.

MfG Spess

von Gerald S. (pcgerald63)


Lesenswert?

Hallo, danke für die schnelle Antwort, auf S.92 steht unter anderen "The 
OCR1C holds the Timer/Counter TOP value, i.e. the clear on compare match 
value.
unter anderem beim Init...
 .
 ldi temp1,($0F<<CS10)  ;CS10-CS13 Prescaler=16348
 out tccr1b,temp1    ;OCR-Wert $01C1 für 1sek. Takt
 ldi temp1,$C1             ;low-Byte
 out ocr1a,temp1
 ldi temp1,$01             ;high-Byte
 out tc1h,temp1
 .

und in der Interruptroutine dann mit
 .
 .
 ldi temp1,$0
 out tcnt1,temp1
 out tc1h,temp1           ;wieder auf 0 setzen
 .
 .
 reti

geht das so einfach mit den Doppelregister? Im AVR Simulator kann man 
das noch nicht testen, laut Hilfe wird der Timer beim Simulator noch 
nicht unterstützt.
Mfg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.