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
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.