Oszillator

Gast #144944
Lesenswert?

Ja du kannst einen Timer des 8051 benutzen,indem die die geeignete Stufe
des Timers?Zaehlers abfragst.welche Stufe du verwenden musst,haengt ganz
von der Taktfrequenz ab mit der der Timer/Zaehler laeuft.Findest du im
datenblatt des uControllers.

mfg

Chris
Gast #144945
Lesenswert?

Vielen Dank für die schnelle Antwort.
Ich habe mir schon gedacht, dass ich die Timer dazu benötige. Ich nehme
also folgendes an. Bitte um Korrektur, wenn ich falsch liege.

Bei 36khz ergibt sich eine Periodendauer von 2,77 E -5.

Mein 8051er wird mit 11,059 Mhz getaktet, entspricht einer Taktdauer
von 9,042 E -8.

Für 36 Khz muss ich alle 154 Takte das Signal ändern.

Also muss ich den Timer mit (65535 - 154 ) initialisieren.

Mein Professor hat uns aber folgende Codezeile als Hilfestellung
gegeben.
RCAP2L    EQU  0CAh
RCAP2H    EQU  0CBh

MOV  RCAP2L,#LOW(65535-154)  ;f Osz OUT = 36kHz bei 22.1184MHz
  MOV  RCAP2H,#HIGH(65535-154)
  MOV  RCAP2L,#LOW(65535-77);f Osz OUT = 36kHz bei 11.059MHz
  MOV  RCAP2H,#HIGH(65535-77)


Meine Frage wäre, warum es bei ihm nur 77 Takte sind
Gast #144948
Lesenswert?

Hallo Herbert,

der Timer-2 kann aus unterschiedlichen Taktquellen betrieben werden.
Deshalb muss man beim Berechnen der Ausgangsfrequenz je nach
8051-Derivat noch einen Teilungsfaktor für den Timer-Eingangstakt
berücksichtigen. Üblich sind fclock/2, 4, oder 12.

Schöne Grüsse,

Franz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren