Programm von 89C51CC03 auf 89C2051

Gast #1030396
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
#1030542
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
Gast #1030562
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.
Gast #1030586
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.
#1030595
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.