Forum: Mikrocontroller und Digitale Elektronik Wie kompatibel ist ATMega16 zum AT89S8252?


von Maxim (maxim) Benutzerseite


Lesenswert?

Beice Chips sind von Atmel. Beim ATMega handelt es sich um einen RISC. 
Der 8252 ist MCS51 Intel kompatibel. Wie groß wäre der Aufwand ein 
Programm vom ATMega auf den 8252 zu portieren?

von Fritz (Gast)


Lesenswert?

Solange Du in C programmierst und kein IO ansprichst, sind sie wohl sehr 
ähnlich handzuhaben. Laufen auch beide mit 5V und lassen sich mit 
Lötzinn löten.

Analog dazu haben die meisten hierzulande hergestellten Autos alle 4 
Räder. Solange Du keine Ersatzteile einbauen willst, kann man damit gut 
fahren. Beim Tanken gibt es aber schon Unterschiede.

von Ronny (Gast)


Lesenswert?

Kommt ganz auf das Programm an.Ein LED-Blinker ist in 15-Minuten 
portiert,eine komplexe Mikrocontroller-Anwendung die UART,SPI,Timer,I2C 
usw. benutzt braucht hingegen deutlich mehr Zeit.Wenn dann noch sowas 
wie ein gefaktes kleines OS drauf läuft wird es schnell sehr aufwändig.

Gibt es den einen Grund,weshalb die Software auf den 'kleineren' 
Controller umziehen muss?Wenn nicht gerade schon fertige Hardware 
existiert,ist der AVR sicher die bessere Wahl (meine Meinung ;) )

von Maxim (maxim) Benutzerseite


Lesenswert?

Zuhause habe ich den ATMega und in der Schule ist der 8252. Ich muss in 
einem Projekt ein Assembler-Programm schreiben. Damit das Projekt etwas 
umfangreicher wird, habe ich mir gedacht, das Programm für den ATMega zu 
schreiben und dann sozusagen als eine Zusatzaufgabe eine Portierung 
vorzunehmen. Da muss ich halt den Aufwand ungefähr abschätzen.

Das Programm wird einen Stepper-Treiber ansteuern und eine LCD Anzeige. 
Die LCD Anzeige ist aber nur auf dem 8252 Board vorhanden. D. h. ich 
muss nur ein Teil des Programms portieren und dann die Portierung 
erweitern. Counter und ein paar arithmetische Operationen werden 
sicherlich gebraucht.

von SIGINT112 (Gast)


Lesenswert?

Assembler-Programme zu portieren hat meiner Meinung nach keinen großen 
Sinn. Da wäre es wahrscheinlich praktischer das Programm neu zu 
schreiben. Ich würde eine virtuelle Maschine schreiben, die mit einem 
eigenen Assembler Dialekt programmiert wird und das Zielprogramm dann in 
der VM ablaufen lassen. Wenn man es richtig macht, dann muss man das 
Anwenderprogramm nichtmal mehr neu assemblieren.

Gruß,
  SIGINT

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.