Ich möchte einen 80C535 (12MHz) austauschen und durch einen SAB80C537-16 ersetzen (mit 16MHz Takt). Wie muss ich die serielle initialisieren ( Assembler oder C ) damit sie mit 9600Baud arbeitet. Habe im Manual zum Controller nichts gefunden. Sie gehen immer nur auf den 12MHz Typ ein.
Bei 16Mhz geht nur Timer2. Reloadwerte: mov RCAP2L, #CCh mov RCAP2H, #FFh Das ergibt 9615 Baud.
Siggi wrote: > Ich möchte einen 80C535 (12MHz) austauschen und durch einen SAB80C537-16 > ersetzen (mit 16MHz Takt). Den MC austauschen ändert garnichts, der läuft dann auch mit 12MHz. Du mußt noch den Quarz tauschen. > Wie muss ich die serielle initialisieren ( Assembler oder C ) damit sie > mit 9600Baud arbeitet. Habe im Manual zum Controller nichts gefunden. Das ist aber komisch, in meinen 8051-Manuals steht immer auch die Formel drin für jeden x-beliebigen Quarz. Man muß dann noch den prozentualen Fehler ausrechnen, wenn man kein Baudratenquarz (14,7456MHz) nimmt. Als Programmierer sollte man seine Angst vor Formeln und Rechnen schleunigst ablegen. In der Regel muß man einfach nur die Formel hinschreiben und überläßt dem Compiler (Präprozessor) das Ausrechnen. Peter
Das mit dem Quarz und Timer ist selbsverständlich. Ich dachte nur das es auch hier eine Möglichkeit gibt (so wie beim 80535, durch setzen der Bits "BD und SMOD") eine PC Kompatible Baudrate zu erzeugen ohne das ich einen Timer benutzen muss.
Siggi wrote: > Das mit dem Quarz und Timer ist selbsverständlich. Ich dachte nur das es > auch hier eine Möglichkeit gibt (so wie beim 80535, durch setzen der > Bits "BD und SMOD") eine PC Kompatible Baudrate zu erzeugen ohne das ich > einen Timer benutzen muss. Nimm die Formel aus dem Datenblatt, berechne den Teilerwert und dann die Abweichung zum nächsten ganzzahligen Wert. Die sollte besser 1% sein, mindestens aber unter 2%. Oder nimm besser gleich nen Baudratenquarz, der Unterschied in der CPU-Leistung von 16MHz zu 14,7456MHz ist nicht merkbar. Peter
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.