mikrocontroller.net

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


Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
push  PSW
push  ACC
clr  CY    
mov  A,count
subb  A,#064h     ; Akku mit 100 substrahieren
jb  CY,x10
....

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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.