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


von Roman R. (ramon22)


Lesenswert?

Hallo allerseits,

ich sitze gerade am programmieren mit meinem 89S51 und habe einen 
Rechteckgenerator programmiert:
1
          ORG  0h
2
          AJMP 100h
3
          ORG 100h
4
          CLR tr0
5
          MOV TMOD, #01h
6
m2:       MOV R0, #07ah
7
haupt:    CLR TF0
8
          MOV TH0, #000h
9
          MOV TL0, #000h
10
          SETB TR0
11
loop:     JNB TF0, loop
12
m1:       DJNZ R0, haupt
13
          CPL P2.0
14
          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

von Reinhard B. (brainstorm)


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

von Roman R. (ramon22)


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=3173;ARTICLE=1876;SID=31TRnP7H8AAAIAAEYUZwM4bac4ccfc3e98a2d5bbc5305281d8716

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

von Peter R. (pnu)


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.

von hans Flip (Gast)


Lesenswert?

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

von Roman R. (ramon22)


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

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.