Forum: Mikrocontroller und Digitale Elektronik 89C51 Baudrate ohne Timer?


von Thomas (Gast)


Lesenswert?

Hallo,
ich habe hier einen Philips P89C51 Controller und möchte etwas über die
serielle Schnittstelle machen.
Kannte vorher nur den 80515, und bei diesem konnte man die Baudrate
über das Bit BD im ADCON Register vom Systemtakt ableiten. Der 89C51
besitzt dieses Register ja gar nicht. Lässt dich bei diesem die
Baudrate nur über einen Timer realisieren?
Das Datenblatt vom Philips ist ja recht mager, aber demnach lässt sich
der Takt ja wirklich nur von Timer 1 oder 2 ableiten.
Eigentlich schade, da ich ein Projekt habe bei dem alle anderen Timer
schon gebraucht werden.

MfG
Thomas

von Benedikt (Gast)


Lesenswert?

Ist leider so, außerdem hast du beim 89C51 nur zwei Timer (0 und 1), den
Timer2 gibt es nur beim 89C52 bzw. bei einigen erweiterten Controllern
wie dem AT89C51RC2 Bei diesem hat der UART auch einen eigenen
Baudrategenerator.

von Peter D. (peda)


Lesenswert?

Du kannst ja T0 in Mode 3 betreiben, dann hast Du 2 8-Bit Timer und T1
für die Baudrate.

Oder Du nimmst den 89C52, dann hast du auch noch T2.


Damit die Datenblätter nicht so dick sind, sind da nur die
Besonderheiten drin.
Die komplette Beschreibung des Ur-8051 findest Du in der
8051-Users-Guide oder so ähnlich.


Peter

von Thomas (Gast)


Lesenswert?

Danke für die schnellen Infos!
Ich habe einen 89C51RD2, habe also den Timer 2. Schade dass das nicht
geht, wäre ja auch zu einfach.

Aber zu den Datenblättern:
Ich habe mir das gleiche Datenblatt von Atmel mal angeschaut und finde
dieses doch wesentlich besser. Oder es ist nur Geschmackssache ;-)

Thomas

von Benedikt (Gast)


Lesenswert?

Bei AT89C51RC2/RD2/ED2 usw. gibt es einen eigenen Baudratecounter !
(wusste ich auch anfangs nicht...)
Da der Atmel normalerweise identisch ist mit dem von Philips, müsste
der das auch haben.

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.