www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 89S51 Ti und Tp berechnen


Autor: Roman R. (ramon22)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

ich sitze gerade am programmieren mit meinem 89S51 und habe einen 
Rechteckgenerator programmiert:
          ORG  0h
          AJMP 100h
          ORG 100h
          CLR tr0
          MOV TMOD, #01h
m2:       MOV R0, #07ah
haupt:    CLR TF0
          MOV TH0, #000h
          MOV TL0, #000h
          SETB TR0
loop:     JNB TF0, loop
m1:       DJNZ R0, haupt
          CPL P2.0
          AJMP m2

Ich komme nicht ganz klar mit dem berechnen der Impuls- und Pausendauer.
Habe einen 24MHz-Quarz. Ich denke folgerndermaßen:
F=24*10^6/12 = 2*10^6
T= 1/f = 1/2*10^6 = 0,5*10^-6s
bei 16-bit timer müsste das doch 32768*0,5*10^-6 = 0,016384s sein pro 
hochzählen?! Und das mal 7A(122) von R0 müsste doch ca.2s ergeben? Habe 
ich da ein denkfehler? In der Realität komme ich auf 12s!
Wo habe ich meinen Denkfehler?

Danke schon mal für Hilfe.

Gruß
ramon

Autor: Reinhard B. (brainstorm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Roman!

Ohne jetzt die Timer-Einstellungen im Code zu überprüfen:

1. 16bit sind 65536 Schritte, nicht 32768.
2. Die Abweichung wäre dann noch immer Faktor 3, also wie mit einem 8MHz 
Quarz. Vielleicht ist der von dir verwendete Quarz ein Oberton-Typ und 
der Controller kommt damit nicht zurecht.

mfg
Reinhard

Autor: Roman R. (ramon22)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, ich Simpel habe mich schon bei den den 16bit verrechnet ;-)

Es handelt sich um diesen Quarz:
http://www.reichelt.de/?ACTION=3;GROUP=B41;GROUPID...

24.000000MHz im 3.Oberton
Sieht wohl so aus und dann hätten wir auch den Faktor 3!
Wie funktioniert das dann mit den Obertönen. Wie wird das aufmoduliert!
Warum läuft der AT89S51 trozdem damit?
Wie sehr muss ich die anderen Schritte in die Berechnung mit 
einbeziehen?
Kann ich dann den Quarz als 8MHz-Typ verwenden?

Danke

Roman

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jeder Quarz hat die Eigenschaft, auch auf Obertönen schwingen zu können.

Ein Quarz 24MHz, 3.Oberwelle ist so hergestellt, dass er bei Betrieb auf 
24 MHz genaue Frequenz erreicht.(das aber mit einem LC-Oszillator 
zusammen)

Zusammen mit der einfachen Oszillatorschaltung im Kontroller schwingt er 
auf der Grundwelle, 8MHz.

Das aber etwas "ungenau" (weniger als 1% Fehler).
Für die meisten Anwendungen ist diese Abweichung belanglos.

Autor: hans Flip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht musst du dem Quarz nur die passenden Kondensatoren schenken.
Datenblaetter ausgraben und studieren !

Autor: Roman R. (ramon22)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn im Datenblatt vom 89S51 30pF ±10 steht und ich 22pF und 33pF 
ausprobiert habe und das selbe Ergebnis habe, habe ich wohl nicht mehr 
viel Optionen!
Danke an Peter und Reinhard für die Hilfe!

mfg
Roman

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.