Hallo Leute, ich muss einen 36 Khz Oszillator mit einem 8051er realisieren. Das ganze ist für die Trägerfrequenz für eine IR-Fernbedienung. Kann mir eventuell jemand einen Tip geben. Ich habe noch sehr wenig Erfahrung mit Mikrocontrollern. Danke
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
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
ganz einfach .. weil die periode aus einem high- und einem low-teil, welche jeweils 77 takte dauern, besteht. 2*77 gibt dann deine 154 Takte gruß konrad
Eine Periode bei 36Khz hat 308 Takte bei 11,059 MhZ, deswegen habe ich ja schon 2*154.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.