www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterschiede 825x <-> Atmel ATMega8


Autor: Maxim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie groß ist der Unterschied zwischen diesen beiden uC? Ich meine jetzt 
nicht die Leistung / Daten, sondern die Assembler-Befehle.

In der Schule lerne ich gerade den i825x kennen und zuhause habe ich 
einen ATMega8. Kommt man da nicht durcheinander?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "i" vorne klingt zwar danach, aber 825x in diesem Zusammenhang nicht 
wirklich nach Intel, denn 82xx waren bei da traditionell die 
Perphieriebausteine, nicht die Prozessoren oder Controller. Du meinst 
wahrscheinlich die 8051 Familie.

Ob man durcheinander kommt, muss jeder selbst rausfinden. Mir ging es 
mit Programmierung auf allerlei verschiedenen Prozessoren 
unterschiedlichsten Kalibers eher andersrum - es wurde einfacher. 
Jedenfalls solange sie nicht völlig aus der Art schlagen (MaxQ2000 wär 
so eine schräge Nummer).

Vergleich einzelner Befehle ergibt anfangs keinen Sinn. Insbesondere 
wenn die Grundarchitektur abweicht. 8051 ist einigermassen 
Akkumulator/Speicher-orientiert, AVR konsequent Register-orientiert. Da 
gilt es, diese Grundarchitektur zu verstehen und die jeweiligen 
Programmiertechniken. Die Befehle sind überwiegend eine Folge davon und 
dementsprechend verschieden.

Vergleichen lasst sich Möglichkeiten und Problemfelder. 8051 entstand zu 
einer Zeit, in der die meisten Daten kein Vorzeichen hatten, und Intel 
liess deshalb da einiges weg. Dementsprechend schwer tut man sich beim 
Vergleich von Daten mit Vorzeichen. AVR hat dieses Problem nicht, dafür 
aber welche mit atomaren I/O-Operationen. Dies nur als Beispiel.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
i825x sagt mir nichts.

Wenn Du aber 8051/52 meinst, die sind ziemlich ähnlich.
Beide haben 32 Register.

Die größten Schwierigkeiten hatte ich mit den MOV-Befehlen.
Beim 8051 gibts nur MOV, MOVC und MOVX.
Beim AVR muß man immer nach Quelle und Ziel unterschiedliche Befehle 
nehmen (MOV, IN, OUT, LDI, LDS, LD, LDD, ST, STS, STD, BLD, BST, LPM, 
SPM usw.).

Der AVR hat keine Kombibefehle (DJNZ, CJNE, JB, JNB, JBC, XCH, XCHD, 
MOVC A,@A+PC), muß man dann aus 2 oder mehr zusammenbasteln.


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.