Forum: Mikrocontroller und Digitale Elektronik Sind die 8051'er am aussterben?


von 8051er-FAN (Gast)


Lesenswert?

Hallo!

Habe von einem berufsmäßigen Programmierer von div. Controllern gehört,
dass die 8051er-Architektur am aussterben sei... :-(

Was sagt ihr dazu?

Ciao!

von Thorsten (Gast)


Lesenswert?

Echt ? Kann ich mir nicht vorstellen, fast jeder Hersteller hat doch
Controller mit 51-er Kern im Programm und von Abkündigungen hört man da
auch nichts. Auch habe ich die Erfahrung gemacht, dass viele Kunden bei
Neuentwicklungen explizit 8051er haben wollen. Von daher: es lebe die
8051er Architektur :)

Thorsten

von Aleksej Kiselev (Gast)


Lesenswert?

na ja, wenn es so ist, dann verstehe ich nichtm wieso Atmel mit der
AT89-Serie nicht aufhört. Die herstellen immer neue Controller mit CAN,
MP3, USB u s.w. als AT89. Und wenn manche professionelle Programmierer
meinen, dass 8051-Architektur das beste überhaupt in der 8bit-Welt ist,
dann sagt das doch was für mich. Und 8bit Controller sterben ganz
bestimmt nicht. Was stirbt aus, wird von den meisten Herstellern nicht
mehr produziert, so wie ich die Gesetze von dem Markt kenne. Manche
16bit Controller verlieren in der Leistung und ganz bestimmt im
Verhältnis Preis/Leistung. So, schätze ich, war dein Freund zu
pessimistisch.

von Olaf (Gast)


Lesenswert?

MCS51 wird es vermutlich noch geben wenn wir alle in Rente sind. Das ist
der Controller der als letztes ausstirbt. Das Dingen ist zwar schlecht
im Vergleich zu fast allem anderen aber er hat eine immense
Verbreitung.

Olaf

von buz11 (Gast)


Lesenswert?

Es kommen doch dauernd neue 8051er kompatible heraus .

Habe vor kurzem einen ADuC841 ( Analog Devices ) bekommen .

Single-cycle 20 MIPS 8052 core ,
High speed 420 kSPS , 8Ch 12-bit ADC ,
2 * PWM , 2 * 12-bit DAC , bla bla ...

Den 8051er bauen sie noch mindenstens ... ewig .

von Gerhard Gunzelmann (Gast)


Lesenswert?

Tot gesagte leben länger

Gerhard

von Peter D. (peda)


Lesenswert?

@Olaf,

"Das Dingen ist zwar schlecht"

Wenn man keine Ahnung davon hat, sollte man sowas nicht sagen.
Und wer sowas sagt, hat keine Ahnung, wovon er spricht.

Die Dinger sind für Steuerungsaufgaben optimiert und darin unschlagbar
(hab mir schon mehrmals den Mund fusselig geredet, weshalb).


Und kein einziger der etwa 40 verschiedenen Hersteller zeigt an, daß er
sich aus dem 8051-er Geschäft zurückziehen will.


Peter

von Markus_8051 (Gast)


Lesenswert?

Ja, ja, die sterben seit acht Jahren aus. Und das wird sich sicher auch
noch die nächsten 25 Jahre hinziehen....

Dafür ist er einfach zu weit verbreitet.

Und - ehrlich gesagt - solange es µCs gibt, die deutlich umständlicher
zu programmieren sind (PIC würg...) sehe ich auch keinen Grund, warum
er vom Markt verschwinden sollte.

Was mich allerdings mächtig stört: Zumindest in der Atmel-Serie gibt es
keine ´51er, die eine vernünftige RESET-Schaltung drin haben. So muß man
zu den 89C2051, die ja sonst eigentlich nichts außer einem Quarz
brauchen, noch einen teuren Resetcontroller verbauen. Oder kennt von
Euch jemand eine Version vom ´51er die ähnlich preiswert ist und sowas
drin hat?

Ich werde ihn jedoch weiterhin gerne einsetzen, auch wenn ich mich
gerade beruflich mit dem PIC rumschlagen muß und mich privat in den AVR
einarbeite.

Es lebe der 8051 !!!

von Gerhard Gunzelmann (Gast)


Lesenswert?

(PIC würg) Bitte keine Verunglimpfungen! Wer sowas sagt hat keine
Ahnung. Gerade wer mit 8051 und konsorten arbeitet sollte sowas nicht
sagen. So wie die 8051er die Urgroßväter einer bestimmten uC-Familie
sind, so sind dies aucg die PIC's. Microchip hat diese Art von uC
erfunden. ATmel, National usw haben die Dinger bloß nachgebaut. Einen
modernen Atmel mit nem ollen PIC16C-irgendwas zu vergleichen ist
unfair. Die modernen PIC18Fxxx halten locker mit Atmel-Dingens mit.

So jetzt hab ich das aber mal gesagt!!!

Gerhard

von Benedikt (Gast)


Lesenswert?

Das Preis Leistungsverhältnis ist auf jedenfall beim 8051 super.
Für kleine Sachen den AT89C2051 für 1,2€ (vergleichbarer AVR: AT90S1200
für 2€, OK ist in etwa gleich, aber wenn ich nen UART brauch bin ich
schon bei 2,4€...)
Für größere den AT89S52 (ist bei Reichelt billiger als der S51) für
1,6€. Ein AVR mit gleich vielen IOs kostet schon 5€ aufwärts.
Für einfache Sachen wie Steuerungen usw. bei denen es nicht aus viel
CPU Leistung ankommt, sind 8051 überlegen. Der größte Vorteil: Die Bit
Funktionen und die quasi Bi-direktionalen IO Port. Daten senden und
empfangen, ohne die Richtung umschalten zu müssen.
So lande ich am Ende oft bei 2 uC in einer Schaltung: Ein AVR für
einfache, schnelle Aufgaben (z.B. DDS Funktionsgenerator), gesteuert
von einem 8051 der z.B. LED Anzeigen multiplext, Taster abfragt und die
verarbeiteten Daten an den AVR sendet.
Und wenn ich wirklich mal CPU Leistung brauche, dann sind die AVRs zu
langsam (max. 16MHz). Dafür gibts dann die richtig schnellen 8051 mit
100MIPs, 24bit ADC usw.

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

@Markus_8051

"keine ´51er, die eine vernünftige RESET-Schaltung drin haben"

geplant isser, siehe Anhang.


Ansonsten mal bei den Philips LPC nachsehen. Die sind allerdings nur
3,3V fest.


Peter

von Stefan Kleinwort (Gast)


Lesenswert?

@Peter:
>"Das Dingen ist zwar schlecht"
>Wenn man keine Ahnung davon hat, sollte man sowas nicht sagen.
>Und wer sowas sagt, hat keine Ahnung, wovon er spricht.

Woher kommt Dein Wissen, dass Olaf keine Ahnung hat?
Es gibt genügend Eigenheiten des 8051, wegen denen man sich mit Grausen
abwenden kann (z.B. Datenptr., Zugriff auf ROM-Tabellen, ...). Und es
gibt genügend Eigenheiten warum man ihn andererseits lieben kann (z.B.
Ansprechen der Portpins).
Je nachdem, welche Appl. Olaf programmiert, kann er zur einen oder
anderen Gruppe gehören - und trotzdem viel Ahnung haben.

Stefan

von Peter D. (peda)


Lesenswert?

@Stefan,

die Ahnung erschließt sich nicht nur durch bloßes Ansehen des
Befehlssatzes, sondern man muß ihn auch anwenden.


"(z.B. Datenptr., Zugriff auf ROM-Tabellen, ...)"

Genau das meinte ich damit, das sind nämlich genau die Instruktionen,
die beim 8051 besonders leistungsfähig sind.

Z.B. ein "DJNZ @R0" erschlägt 4 AVR-Befehle.

Man muß eben bloß wissen, daß der 8051 insgesamt 9 Datenpointer hat
(@R0, @R1 der 4 Registerbänke und @DPTR).

Und um z.B. in einem Timerinterrupt zur Multiplexausgabe eine Zahl in
den 7-Segment Code umzuwandeln reicht ein simples "MOVC A,@A+PC" ohne
umständliche 16-Bit Addition und haufenweises Register pushen, laden und
poppen.

Soviel zu Datenpointer und Tabellen.


Das Grausen kenne ich dagegen von Tabellen mit dem AVR.
Ich habe dann einen kleinen Trick gemacht, indem ich Tabellen immer an
Adressen 0x**00 oder 0x**80 lege, damit spart man dann 3 Register laden
und die 16 Bit Addition ein (5 Befehle).
Erkauft man sich aber durch eventuell ungenutzten Platz im Flash.


Ich will natürlich keinem einen Vorwurf machen, daß er nicht soviel
Ahnung vom 8051 hat (nur darum ging es ja).
Ich habe z.B. auch keine Ahnung von C++, warum es besser sein soll als
C. Man kann eben nicht alles wissen.


Peter

von Krischan (Gast)


Lesenswert?

@Peter

"Ansonsten mal bei den Philips LPC nachsehen. Die sind allerdings nur
3,3V fest."

Ich kann dir nur Recht geben. Die LPC-Reihe sieht recht gut aus. Eine
Menge Funktionen (Reset, Clock, Brownout-Detection, Programmierung via
RS232, etc.) im Chip. Mit der Versorgungsspannung habe ich ebenfalls
keine Probleme. Wenn ich mich recht entsinne sind die I/O-Ports
5V-tolerant. Das einzige Problem ist die Beschaffung.

Tschau

Krischan

von Benedikt (Gast)


Lesenswert?

Ich weiß ja nicht von welchen LPC ihr sprecht, aber bei Reichelt gibt es
einige Philips LPC 8051... und die sind für 2-6V ausgelegt.

von Krischan (Gast)


Lesenswert?

Moin,

das ist die P87LPC7xx-Reihe. Leider nur OTP.

von Stefan Kleinwort (Gast)


Lesenswert?

@Peter:

>Man muß eben bloß wissen, daß der 8051 insgesamt 9 Datenpointer hat
>(@R0, @R1 der 4 Registerbänke und @DPTR).

Das mag stimmen, solange man Mini-Applikationen hat. Die Zeiten, wo
meine Programme mit 200 Byte RAM auskommen, sind lange vorbei.
Mit Datenpointer meinte ich aber eben diesen: "DPTR".
Das erweiterte RAM beim 8051 anzusprechen ist einfach nur: häßlich.

Der Knackpunkt ist "+PC". Einen Wert aus einer Tabelle bekommst Du
nur in Relation zum Programmpointer, das ist für viele Appl. nicht
machbar. Und Du kannst nur auf Tabellengrößen bis 256 Byte zugreifen
(ohne große Umwege).
Kleines Bsp.: Zeichenausgabe auf Graphik-LCD, Aufarbeiten der Graphik
im erweiterten RAM.


So, jetzt aber zu dem, was ich eigendlich sagen wollte:
>>"Das Dingen ist zwar schlecht"
>Wenn man keine Ahnung davon hat, sollte man sowas nicht sagen.
>Und wer sowas sagt, hat keine Ahnung, wovon er spricht.

Es gibt gute Gründe, den 8051 nicht so toll zu finden. Jemand deswegen
seine Ahnung abzusprechen, ist meiner Meinung nach schlechter Stil. Wo
sowas hinführt, kannst Du jeden Tag im Heise-Forum anschauen.

Versteh mich nicht falsch, ich finde viele Deiner Beiträge sehr
interessant und nützlich. Ein bischen fehlt aber ab und an die Toleranz
anderen Lösungen oder Auffassungen gegenüber.

Viele Grüße, Stefan

von Peter D. (peda)


Lesenswert?

@Stefan,

ich hab da nur aus eigener Erfahrung gesprochen. Ich fand ihn nämlich
zu Anfang auch nicht so doll.

Erst, wenn man wirklich oft damit programmiert, merkt man auch, wie
clever er konstruiert ist, eben auf Steuerungsaufgaben optimiert.

Und die Zeichenausgabe auf ein Display ist auch keine Sache, wo High
Speed nötig ist, schließlich muß das ein Mensch ja auch ablesen können.
Da kann er also ruhig gemütlich zu Werke gehen.

Mir gefällt gerade diese Unterteilung optimal:
schnelles internes SRAM, um in Echtzeit zu steuern und langsames großes
XRAM oder Tabellen, um den langsamen Menschen zu bedienen.


Übrigends habe ich oben einen neuen Befehl kreiert, "DJNZ" geht nicht
indirekt nur direkt. Indirekt geht z.B. "DEC @R0" und "CJNE @R0,
#0".
Ist halt schon lange her, daß ich fast nur in C programmiere.


Peter

von Quark (Gast)


Lesenswert?

Hi AVR, PIC und 8051 'er Fans,

könnt Ihr 2-xx (wohl ca. unter 10) "Streithäne" nicht mal gemeininsam
im wiki einen schönen Artikel/Tabelle mit den Vor- und Nachteilen der
von Euch gliebten/gehaßten MCs machen, die Ihr alle "unterschreiben"
könnt?
Gibt es schon, aber immer z.B. von einem AVR oder Pic oder xx Typen,
der wieder die Details des anderen MCs nicht kennt bzw. gar nicht
richtig bewerten kann.
Das bleibt natürlich immer subjektiv und unvollständig, aber ich lerne
sehr viel aus diesen Diskussionen, wann welcher MC gut ist und wann
nicht. So ein Artikel wäre echt prima, wenn er nicht nur von einem
kommt.

"Streitet" bitte weiter, so wird die Auswahl einfacher, aber bleibt
locker dabei. gg

Quark

P.S. sorry, rumsülzen macht einfach spaß ;-)

von Stefan Kleinwort (Gast)


Lesenswert?

@Peter:

>Mir gefällt gerade diese Unterteilung optimal:
>schnelles internes SRAM, um in Echtzeit zu steuern und langsames
großes
>XRAM oder Tabellen, um den langsamen Menschen zu bedienen.

;-)
Mir gings genau umgekehrt:
Mich hat es immer geärgert, dass die kleinen Programme, die nur ein
paar Bits schubsen mussten, wahnsinnig schnell liefen, und wenn das
Programm größer wurde, 16-Bit-Adressierung notwendig wurde etc., alles
viel langsamer und komplizierter wurde.

>Übrigends habe ich oben einen neuen Befehl kreiert, "DJNZ" geht
nicht
>indirekt nur direkt. Indirekt geht z.B. "DEC @R0" und "CJNE @R0,
>#0".
Wäre mir jetzt nicht aufgefallen :-) Ist halt schon eine Weile her: Ich
habe gerade mal nachgeschaut: die letzten 8051-Reste
(12-Kanal-Lichtendstufe, lief auf dem 80517) bei mir auf der Platte
sind von 92 ... Für die Appl. war er übrigens ideal, weil der UART die
250kbaud für DMX konnte.

Viele Grüße, Stefan

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.