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?
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.
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
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.