Tag Sucher,
AVRs und 8051er Controller unterscheiden sich grundsätzlich voneinander.
Dabei spielt es keine Rolle, von welchem Hersteller sie sind. ATMEL
stellt Controller aus beiden Controllerfamilien her.
Die Unterschiede sind so ziemlich überall zu finden. AVRs haben keinen
externen Programmspeicher, 8051er können diesen schon haben. AVRs haben
keine Zyklenbildung aus mehreren Takten, 8051er schon (12Takte =
1Zyklus). Desweiteren haben AVRs eine ganz andere interne ALU als 8051er
und müssen z.B. Multiplikationen im Programmcode extra generieren.
Man kann hier noch dutzende weitere Unterschiede aufzählen.
Bis irgendwann,
MC
> was ist der große unterschied zwischen avr und 8051 struktur?
Groß ist der Unterschied höchstens dann, wenn du bestehende Software,
die du nicht selbst geschrieben hast, von einem der beiden auf den
anderen portieren möchtest.
Die verbleibenden Unterschiede fallen größtenteils in die Kategorie
"Geschmacksache" (Beispiel: Ich persönlich finde die AVRs etwas
schmackhafter :-)). Eine gegebene Anwendung kannst du in den
allermeisten Fällen entweder mit beiden oder mit keinem von beiden
realisieren.
Die 8051-Architektur ist schon uralt, hat sich aber im Laufe der Zeit
zu einer Art Industriestandard entwickelt. Sehr viele Hersteller
bieten deswegen Derivate davon an, so auch Atmel.
Vielleicht noch ein etwas bedeutsamerer Unterschied, wenngleich ich
den nicht zur "Struktur" zählen würde: Die Bandbreite an Gehäusegrößen
und Pinzahlen ist bei den AVRs größer, damit kann man sie sowohl bei
Platzmangel als auch bei massivem Bedarf an I/O-Pins gut einsetzen.
> Desweiteren haben AVRs eine ganz andere interne ALU als 8051er und> müssen z.B. Multiplikationen im Programmcode extra generieren.
So unterschiedlich sind die ALUs auch wieder nicht. Beide unterstützen
die für 8-Bit-Prozessoren üblichen Standardoperationen und (mit
Ausnahme der ATtiny-AVRs) zusätzlich Multiplikationen.
Durchblicker wrote:
> Sowohl bei 8051 als auch bei AVR sind Programm und Datenspeicher> voneinander getrennt, der Unterschied fällt flach :-).
Beim 8051 lässt sich bei entsprechender Beschaltung aber auch Code im
(externen) Ram ausführen lassen.
Magnus Müller wrote:
> Beim 8051 lässt sich bei entsprechender Beschaltung aber auch Code im> (externen) Ram ausführen lassen.
Aber nur die ab 40Pins aufwärts und nicht die 1-clocker.
Peter
Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und
da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um
umladen dieses Registers. Der neuere AVR hat drei davon. Es gibt Leute,
die wollen die 25 jaehrigen Tools mit dem 8051 noch etwas amortisieren.
Lassen wir die. In den Kuebel damit.
Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in
"Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich
ueberhaupt noch oder nur Nachbauten? Irgendwie isses schon bissel
daneben dass er nich nen etwas aktuelleren bespricht... aber immerhin
sozusagen ;)
Michael
Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und> da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um> umladen dieses Registers.
register bank switching ist dir ein Begriff? Dann sind es schon mal 4
Pointer, wozu auch immer man das braucht...
> Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in> "Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich> ueberhaupt noch oder nur Nachbauten? Irgendwie isses schon bissel> daneben dass er nich nen etwas aktuelleren bespricht... aber immerhin> sozusagen ;)> Michael
Du bekommst "nur" noch Nachbauten( besser ausgedrückt: stark verbesserte
Weiterentwicklungen).
Das Ding ist nunmal Industriestandard und auch alles andere als schwach
auf der Brust. Bitschubserei kann er z.B. gut. Keine Sorge, so schnell
reizt du den nicht aus ;-)
Ich hab grad "Nachbauten" mit 8051-Kern, aber mit einem Takt pro Befehl,
USB, 48 MIPS, und und und..
Sogesehen sterben die Dinger "nie" aus...
...die Original mit 12 Takten pro Befehl verwendet man natürlich nicht
mehr.
Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und> da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um> umladen dieses Registers. Der neuere AVR hat drei davon. Es gibt Leute,> die wollen die 25 jaehrigen Tools mit dem 8051 noch etwas amortisieren.> Lassen wir die. In den Kuebel damit.
hmm wir haben den 68HC11 als lernobjekt .....
auch schon älter ....
die nächste stuf soll bald in planung sein .. ARM9
Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und> da laeuft alles drueber.
Wenn man so blöd ist, alle Daten nach XDATA auszulagern, kann
oberflächlich dieser Eindruck entstehen.
Für Leute, die das Datenblatt lesen können, hat er aber 9 Datenpointer
und 2 Codepointer.
Wobei neuere 8051 auch mehrere XDATA-Pointer haben.
Die NXP 51MX-Serie hat sogar 2 24Bit Pointer, d.h. kann linear 8MB Daten
+ 8MB Code adressieren.
Peter
Michael G. wrote:
> Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in> "Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich> ueberhaupt noch oder nur Nachbauten?
Naja man bekommt nur über 500 verschiedene Derivate von über 50
verschiedenen Herstellern. Reicht das?
Wobei die Tendenz weg vom 12-Clocker hin zum 1- oder 2-Clocker geht
(Atmel, Infineon, Silabs, ...).
Sogar Infineon hat kürzlich seine 8051 auf Flash umgestellt.
Peter
Durchblicker wrote:
> Sowohl bei 8051 als auch bei AVR sind Programm und Datenspeicher> voneinander getrennt, der Unterschied fällt flach :-).
Nein das stimmt nicht ganz, gemeint ist:
8051 hat einen Datenbus für Programm & Datenspeicher.
AVR hat getrennten Daten und Programmspeicherbus !!!
Daher also doch ein unterschied.
Bei AVR werden fast alle Befehle in einem Takt ausgeführt.
Bei 8051 gibt es Befehle mit 4 Takte(und die normale 51er Kerne teilen
den Takt nochmal durch 12) Gibt aber wohl auch schon welche die nur
durch 6 oder 3 oder 4 Teilen, hab ich wohl mal gesehen. Zum Teil die LPC
von NXP(ehem. Philips).
In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt =
1Befehl abarbeiten können.
PIC´s dort wird der Takt durch 2 geteilt....
Naja, jede Architektur hat so seine Vor und Nachteile...
Aber AVR ist halt eine recht neue Familie und es werden auch ständig
neue Mikrocontroller entwickelt die dann immer noch mehr können.
8051 stammt von Intel und ist wirklich wenn ich mich erinnere aus den
70er oder Anfang 80er... Also so mit die ersten 8bit Mikrocontroller
wohl.
Es kommt immer darauf an was man machen will, die 8051er haben den
Vorteil das die von mehreren Herstellern gebaut werden, in sehr vielen
Varianten.
Für mich gibt es in dem ewigen "8051 ist veraltet" Streit keinen
Gewinner, immer wen mir Jemand erzählt hat das der 8051 keine Zukunft
mehr hat, kam ein neues Modell mit neuen Featurs raus.
Meiner Meinung nach ist die flex. Handhabung des Spezial Funktions
Registers und die Kompatiblität einzigartig.
Und als Grundlage zum lernen ist der 8051 sowiso Ideal.
Der 8051 ist zum lernen wirklich ideal, da er sehr logisch aufgebaut
ist. Und man darf nicht 8051 als 8051 abtun! Der erste 8051 ist wirklich
veraltet und wird auch nicht mehr produziert. Aber der Kern wird immer
weiter entwickelt und taucht mit Features auf, von denen AVRs teilweise
nur träumen können. Außerdem hat man bei der Beschaffung keine Probleme,
da man nicht von einem Hersteller abhängig ist! (Was ich besonders
wichtig finde). Ein (für mich) wichtiger Vorteil des 8051 gegenüber den
AVRs sind die Interruptprioritäten, mit denen man besonders bei
Regelungen und Kommunikationssystemen einen schnelleren Ablauf erzielen
kann.
Thorsten Poser wrote:
> In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt => 1Befehl abarbeiten können.
Das waren sie noch nie.
Die 1-Clocker 8051 von Silabs gibts schon länger (C8051F120, 100MIPS)
Dann gibts noch welche von Maxim (DS89C450, 33MIPS) und sogar Atmel hat
welche (AT89PL24052, 20MIPS).
Gibt aber bestimmt noch mehr von anderen Herstellern.
Peter
Peter Dannegger wrote:
> Thorsten Poser wrote:>>> In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt =>> 1Befehl abarbeiten können.>> Das waren sie noch nie.>> Die 1-Clocker 8051 von Silabs gibts schon länger (C8051F120, 100MIPS)> Dann gibts noch welche von Maxim (DS89C450, 33MIPS) und sogar Atmel hat> welche (AT89PL24052, 20MIPS).> Gibt aber bestimmt noch mehr von anderen Herstellern.>>> Peter
Danke Peter für die Info...
Habe in den letzten Jahren nicht mehr alles über 8051 verfolgt.
Ich kenne noch die Zeiten, wo man viel mit 8051er Kernen von
Siemens/Infineon herum machte.... Und die waren zu der Zeit recht
langsam... Aber wohl in den letzten 2-3 Jahren hat man da viel
Beschleunigungsarbeit bei den Kernen geleistet...
Ich benutze aber AVR recht gerne, da das STK500 Entwicklingsümgebung
recht günstig ist und man kann recht viel damit anfangen, außerdem sind
die AVR´s sehr günstig(Reichelt)...
Jede Fam. AVR oder 8051er haben so ihre Vor & Nachteile !!!
Danke noch mal fü die Info !
Thorsten
Ich möchte die Info hier, noch ein wenig erweitern.
Als ATMEL die AVR auf dem Markt gebracht haben, wurden auch welche mit
kompatiblen Pin's gebaut.
ATMEGA 8515 = 80C52
ATMEGA 162 = 80C52
ATTINY 2313 = AT89C4051
Nachdem es auch schnelle 80C52 Typen auf dem Markt gab, zum Teil sogar
schneller als die AVR Typen, hat ATMEL keine neuen Pin kompatiblen AVR
auf dem Markt gebracht. Wer sich beim Entwickeln des Layout's noch nicht
sicher ist, hat hier die Möglichkeit zwischen beiden Typen zu wechseln.
So hat man auch die Möglichkeit auf ein altes 8051 Board mit einem AVR
zu entwickeln.
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