Forum: Mikrocontroller und Digitale Elektronik Programm von 89C51CC03 auf 89C2051


von Tim (Gast)


Lesenswert?

Hallo,
ich hab ein Problem, welches für mich nicht ganz logisch ist.
Ich hab ein Programm geschrieben, welches ich auf dem 89C51CC03 
entwickelt habe und wollte es nun auf einen 89C2051 überspielen. Es sind 
keine Besonderheite im Programm enthalten. das Prog selber ist 356 Byte 
groß und hat Variablen (Bytes) von 25h bis 2Fh reserviert. Der 
Stackpointer liegt auf 30h. Im Programm wird ein Interrupt (Timer0) 
verwendet. Laut Simulation steigt der Stackpointer max nur auf 40h. Das 
programm liest im Zeitraum von allen 10ms einen Pin ein und zählt 
dementsprechend die Variablen hoch. Das hochzählen scheint beim 2051 
nicht sorichtig zu funken ... auf dem 89C51CC03 klappt es allerdings .. 
woran kann das liegen?

mfG Tim

von Peter D. (peda)


Lesenswert?

Tim wrote:
> Das hochzählen scheint beim 2051
> nicht sorichtig zu funken

Das ist keine informative Aussage.
Welche Reaktion erwartest Du und was passiert statt dessen?


Die Pinbelegung ist anders.
Manche Pins haben keinen Pullup.
Der AT89C2051 läuft mit XTAL/12.


Peter

von Tim (Gast)


Lesenswert?

Das das keine schicke Aussage ist, ist mir auch klar. Ich wissen wollte, 
ob man bei Übertragung vom 89C51CC03 auf einen 2051 hinsichlich des 
Assemblercodes etwas beachten muss, der Takt läuft richtig und der Timer 
funkt auch wie er soll.

Inzwischen vermute ich das der 2051 mit dem folgenden Code nicht klar 
kommt
1
push  PSW
2
push  ACC
3
clr  CY    
4
mov  A,count
5
subb  A,#064h     ; Akku mit 100 substrahieren
6
jb  CY,x10
7
....

Das PSW und der Akku werden später noch mit pop zurückgeschrieben. Der 
Code kommt auch sicher zum Rückschreiben.

von Matthias (Gast)


Lesenswert?

Rein Befehlscode-technisch gibts keine Unterschiede, haben beide 8051er 
Kern. Unterschiede gibts jedoch in den spezifischen Komponenten und 
dazugehörigen SFRs. Musst das Datenblatt sehr genau lesen.

von Peter D. (peda)


Lesenswert?

Tim wrote:

> Inzwischen vermute ich das der 2051 mit dem folgenden Code nicht klar
> kommt

Die 8051 sind quasi zu 101% codekompatibel, d.h. die kommen mit allem 
51-er Code klar.
Unterschiede sind nur im SRAM und den SFRs.

Häng doch einfach den Code als Anhang an.


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