www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Oszillator


Autor: Herbert Braun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Teiler aus Quarztakt gewinnen?

Einen der Timer des '51 verwenden?

Autor: Christian Hoefling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Herbert Braun (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Konrad Heisig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Herbert Braun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Periode bei 36Khz hat 308 Takte bei 11,059 MhZ, deswegen habe ich
ja schon 2*154.

Autor: Franz Hamberger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.