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