mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8051er oder AVR


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe bei elektor gesehen dass sie Bücher 3 bändig zum Thema 8051 
anbieten. Ich dachte dass dieser Technik mittlerweile veraltet ist! aber 
ich irre mich vielleicht.

Meine Frage wäre : ich will C für Microcontroller von Grund lernen, und 
dachte das die 8051 Architektur wäre nicht schlecht für den Anfang.

Ich habe aber ein MYavr Board mit Atmega8 liegen und weiss nicht ob ich 
die Zeit direkt in AVr investiere oder mit 8051.

Viele sagen : lernen Sie die 8051 Architektur und später können Sie C 
auf andere Microcontroller übertragen. stimmt das?

die Bücher, die ich gefunden habe sind auf folgende Seite zu sehen :

http://www.elektor.de/products/books/education/c-p...


dort steht auch : Die dreiteilige Buchreihe vermittelt ein solides 
Grundwissen und anspruchsvolle praktische Fertigkeiten im Umgang mit den 
Mikrocontrollern der 8051er-Familie, am Beispiel von drei ausgewählten 
Mitgliedern: 80C537 (Infineon), ADuC812 (Analog Devices), und T89C51CC01 
(Atmel).

was sagt ihr dazu? ist es eine Investitionswert die 3 Bücher zu kaufen?

danke

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Viele sagen : lernen Sie die 8051 Architektur und später können Sie C
>auf andere Microcontroller übertragen. stimmt das?

Das ist wohl ein Umfrageergebnis aus einer Seniorenresidenz :-)

Aus dem genannten Verlag würde ich kein einziges Buch kaufen.
Du hast ein MYAVR-Board, dann spiele damit 'rum. Es gibt keinen Grund 
auf einen 8051 zu wechseln.

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Viele sagen : lernen Sie die 8051 Architektur und später können Sie C
> auf andere Microcontroller übertragen. stimmt das?

Wozu so einen alten Schröngel lernen?
Den Grundschülern bringt man auch nicht zuerst Keilschrift bei.


Gleich einen Mega88 lernen und gut ist.


Axel

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entwickler schrieb:
> Das ist wohl ein Umfrageergebnis aus einer Seniorenresidenz :-)

der ist gut.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Meine Frage wäre : ich will C für Microcontroller von Grund lernen,

Dann nimm dir die hiesigen Tutorials zur Brust.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du meinst die Tutorials im Forum?

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:
> du meinst die Tutorials im Forum?

auch wenn ich Axel heiße: die meint er bestimmt.


Axel

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich die Wahl zwischen 8051 oder AVR zu treffen hätten, nähme ich 
einen 16 Bit PIC oder einen 32 Bit Cortex. Ansonsten kommt es natürlich 
immer auf die Anwendung an.

Autor: Udo Schmitt (urschmitt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8051 würde ich nur dann noch lernen, wenn du sie konkret benötigst, weil 
z.B. dein Arbeitgeber noch damit entwickelt.
Wenn du nur zum Hobby programmierst oder keine konkrete Anwendung für 
speziell 8051 hast dann konzentriere dich lieber auf eine der derzeit 
gängigen Familien AVR AT oder PIC von Microchip.
Preiswert, vielfältig, überall Infos im Netz, kostenlose 
Entwicklungsumgebungen, moderne Peripherie und und und.

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, die 8051er haben den Vorteil dass sie von mehreren Herstellern 
verfuegbar sind. Kann ganz nuetzlich sein, wenn man sich mal die 
aktuellen Lieferschwierigkeiten von Atmel anschaut.

Vorteil bei vielen 8051ern: sie haben einen integrierten Bootloader, 
damit spart man sich den Programmer. Ausserdem gibt es keine Fuses, die 
man verstellen koennte. Ein Einsteigersystem kann man sich fuer 10-20 
Euro auf einem Breadboard zusammenstecken.

Wenn mal einen uC in C programmiert hat dann ist eine spaetere 
Umstellung auch kein grosses Ding.

Elektor wuerde ich eher meiden. Im Netz gibt es genuegend Tutorials, 
z.B. auf pjrc.com.

Autor: Udo Schmitt (urschmitt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:
> Wenn ich die Wahl zwischen 8051 oder AVR zu treffen hätten, nähme ich
> einen 16 Bit PIC oder einen 32 Bit Cortex. Ansonsten kommt es natürlich
> immer auf die Anwendung an.
Verstehe ich jetzt nicht ganz: Du hast die Auswahl zwischen Audi und BMW 
und entscheidest dich für einen Hubschrauber??
Bzgl 32 Bit Cortex. Wenn er anfängt zu programmieren und wir von kleinen 
Anwendungen und Basteleien ausgehen, dann passt ein Cortex als ob du den 
Learjet nimmst um bei Aldi einkaufen zu gehen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:

> Wenn ich die Wahl zwischen 8051 oder AVR zu treffen hätten, nähme ich
> einen 16 Bit PIC oder einen 32 Bit Cortex.

Ein Cortex ist natürlich eine super Idee für einen kompletten 
Einsteiger. Der besorgt sich die Manuals, stellt fest, dass er einige 
Tausend Seiten Englisch vor sich hat, die durchweg Vorkenntnisse 
erfordern, versteht folglich nur Bahnhof - und verlegt sich danach aufs 
Moped-Tuning.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Fragen wie 8051 vs. AVR vs. PIC brichst Du unweigerlich 
Religionskriege vom Zaun. Fundierte Antworten darfst Du dann kaum 
erwarten.

Der 80C537 (Infineon) ist in der Tat ein veralteter 8051, er hat keinen 
Flash und wird auch nicht mehr produziert.
Die anderen beiden sind aber nicht schlecht.

Infineons moderner 8051 heißt XC866.
Ist allerdings hier nicht sehr verbreitet, da Infineon völlig verpennt 
hat, auf den Flash-Zug aufzuspringen. Da waren die anderen im Markt 
schon etabliert.

Ob die Bücher was taugen, weiß ich nicht.


Peter

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da widerspreche ich dir aber auf das Heftigste. Die maßlose Übertreibung 
von einigen tausend Seiten ist mehr als unpassend. Ob du dich in die 
C-Materie via AVR oder Cortext einarbeitest macht keinen großen 
Unterschied. Ganz im Gegenteil: für die Einarbeitung in die ARM-Welt 
stehen ordentliche Entwicklungsumgebungen mit einem erstklassigen 
Simulator (z. B. Keil) zur Verfügung. Mit der kostenlosen Demoversion 
(Code bis 32 KByte) ist gerade ein Anfänger gut bedient. Schneller und 
preiswerter kann man sich nicht einarbeiten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex schrieb:

> Meine Frage wäre : ich will C für Microcontroller von Grund lernen, und
> dachte das die 8051 Architektur wäre nicht schlecht für den Anfang.

Mal eine ketzerische Frage:
Wie sieht es denn bei dir mit C auf Dektop-Systemen aus?
Hast du da schon einen gewissen Grundschatz?

Denn das wäre die weitaus bessere Alternative:
Zuerst erst mal einen Grundstock an C anhäufen (mit einem PC) und erst 
dann auf die Spezialitäten in der µC Programmierung eingehen. Ausser ein 
wenig C-Literatur, die du wahrscheinlich aber sowieso brauchen wirst, 
kostet dir das erst mal gar nichts.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:

> Da widerspreche ich dir aber auf das Heftigste. Die maßlose Übertreibung
> von einigen tausend Seiten ist mehr als unpassend.

AVR:
- Datasheet.

STM32:
- Hitex-Intro.
- Datasheet vom Chip
- Family-Reference der STM32F10x
- Programming Manual (Thema Waitstates steht hier drin)
- Cortex-M3 Core Reference

Ich hab's nicht zusammengezählt, aber da kommt schon was bei raus. Und 
die References setzen voraus, dass man über die Grundlagen der 
Funktionsmodule bereits Bescheid weiss und nur die Details sucht.

Wer's krass will, der schaut sich die ARM7er von Analog Devices an. 
Deren Doku ist zwar kurz, aber eben wirklich sehr sehr kurz. Da sollte 
man schon mal hellsehen üben.

Ein Anfängertutorial vgl. dem für die AVRs hier auf dem Board ist für 
solche Dinger auch nicht so leicht zu finden.

Autor: AVR-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob 8051 oder AVR, es gibt auch neue 8051-er,
(ADuC bei Analog-Devices) ich entscheide das nach
der Anwendung, sprich was will ich erreichen. Mal
ist der eine mal der andere geeigneter.

Einem Anfänger würde ich eher zum AVR raten, schon
wegen der guten Tutorials hier und wenn du sowieso
schon ein Board mit dem alten ATMEGA8 (mußte sein)
rumliegen hast.

Für die GRUNDLAGEN in C sind die OK.

Für die Feinheiten, sprich die Baustein-typischen Befehle,
hilft erstens das Datenblatt und und zweitens die C-Doku
weiter. (Für die 8051 ist "Keils µVision" sicher eine gute
Wahl, (die Vollversion leider teuer).)

Und von wegen "Seniorenresidenz": Wenn schon alter µP
dann gleich der "RCA1802". Wird leider nicht mehr produziert,
war zu seiner Zeit was u.a. den Stromverbrauch anbetraf,
den anderen (8048) weit überlegen.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Naja, die 8051er haben den Vorteil dass sie von mehreren Herstellern
> verfuegbar sind. Kann ganz nuetzlich sein, wenn man sich mal die
> aktuellen Lieferschwierigkeiten von Atmel anschaut.

Das stimmt nicht. Es gilt naemlich nur fuer steinalte Standard-MCS51. 
Die moechte aber nun wirklich niemand verwenden weil sie doppelt so 
stark veraltet sind wie die ebenfalls veralteten AVRs. :-)

Wenn man einen modernen MCS51 mit allen Schickimicki nimmt, sehen die 
schon nicht mehr so schlecht aus. Aber dann hat es sich was mit 
Secondsource.

Und wenn man in C programmiert ist es letztlich vollkommen egal welcher 
Prozessor unten drunter liegt. Wichtig ist einzig die Qualitaet der 
Entwicklungsumgebung. Gerade Anfaenger werden einen Debugger auf 
Sourcecodelevel, wie z.B <floet> bei Renesas, sehr zu schaetzen wissen. 
Man lernt doch eine ganze Menge wenn man nach jeder Programmzeile 
pruefen kann ob Glaube und Wirklichkeit deckungsgleich sind.

Olaf

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR-Fan schrieb im Beitrag #1966101:
> Für die GRUNDLAGEN in C sind die OK.

Für die Grundlagen der C-Programmierung stellt gerade der AVR mit seiner 
--Verzeihung-- verkorksten Harvard-Architektur ein Problem dar, wie die 
Unmengen an Threads in diesem Forum beweisen, in denen es mal wieder um 
"pgmspace.h" und darin deklarierte Dinge geht. Und die MCS-51-Reihe 
steht hier nicht besser da.

C programmiert sich auf von-Neumann-Maschinen einfacher, da genügt der 
Gebrauch des Schlüsselworts "const" und Daten landen im Flash.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR-Fan schrieb im Beitrag #1966101:

> dann gleich der "RCA1802". Wird leider nicht mehr produziert,

Macht nix. Segor hat noch welche.

Und das schöne daran ist: Der hat unterstützt schon einen ggf. ROM-losen 
Betrieb über einen seriellen Bootloader. Ok, die Schnittstelle dafür 
muss man extern dranhängen, aber den kann man ohne viel Zirkus seriell 
urladen, nur mit Schnittstellenbaustein, ohne jedes Programm. Das gab's 
damals in der Klasse nirgends sonst.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier eine andere aktuelle Buchempfehlung (*):
http://www.elektronik-labor.de/Literatur/010AVR_C.html

AVR-Mikrocontroller in C programmieren
Über 30 Selbstbauprojekte mit ATtiny13, ATmega8, ATmega32
Autor: Dr. Günter Spanner
http://www.elo-web.de/elektronikbuecher/mikrocontr...

(*) Disclaimer:
Ich weiss, dass B.K. und ELO/Franzis nicht unabhängig sind.
Aber das spielt hier IMHO keine Rolle.

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR-GCC-Tutorial ist viel günstiger

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geschmackssache sagt der Affe und beisst in die Seife.
Echte Bücher (TM) sind manchmal auch ganz nett.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. Firefly schrieb:

> C programmiert sich auf von-Neumann-Maschinen einfacher, da genügt der
> Gebrauch des Schlüsselworts "const" und Daten landen im Flash.

Yep, und da willste auch nicht wieder weg von.
Nur muss manchmal sein, leider.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich wollte eigentlich keinen Krieg auslösen :-) ich habe mich sogar für 
C entschieden weil man flexibler ist als Assembler was Code-Migration 
angeht, auch wenn das nicht wirklich 100% funktioniert!!

Avr-Studio hat anderen Headers als Mikroe-C Compiler, PIC oder 8051 
haben wiederum andere Bibliotheken.

Ich dachte eigentlich dass 8051 ein Architektur wäre wo man unabhängig 
ist ob AVR, PIC ist!! scheint aber nicht der Fall sein.
Zumindest habe ich das so verstanden wo auf der Elektor Homepage stand: 
8051er Familie u.a: 80C537 (Infineon), ADuC812 (Analog Devices), und 
T89C51CC01 (Atmel).

Also Atmel gehört doch zu 8051Familie? oder sind die Atmega und Xmega 
nicht mehr drin?

Viele meckern auch wegen der internen Architektur des AVR dass die Daten 
und Speicher Leitung nicht wie beim PIC getrennt sind.

Viele sagen dass die neuen 32Bit PIC Controller schneller als die AVR.

Ich will eigentlich nicht soweit gehen. Ich fange gerade an und wie 
gesagt. Ich habe zwar den MYAVR Board zuhause aber ich fühle mich 
irgendwie veräppelt!!  Ich flasche die Hex Dateien und probiere halt ein 
Bisschen und das war‘s erst mal. Die Doku bei Myavr sind schlecht, und 
die bieten ein Buch (große Bedienungsanleitung) für 50euro!!! aber da 
steht auch nicht alles drin.

Deshalb habe ich gehofft durch diese 8051 Bücher, dass ich solides 
Wissen gewinne. Ob Die Platine die TFH-Core one was tauglich ist, weiß 
ich nicht!!

Die Bücher und die Hardware sind sogar von der PAL für Ausbildung und 
Weiterbildung empfohlen worden!


Links :

Empfehlung von PAl :
http://www.palmtec.de/PalmTec/8051er_-_World/P_A__...

Weiterbildung von Elektor :
(auch mit 8051er und TFH Core-One Hardware)
http://www.elektor.de/academy/mikrocontroller-fern...

3 tägige Seminar mit C für mehr als 1000euro!!!! aber 8051er wird 
beigebracht :
http://www.elektor.de/events/3-tagiges-seminar-c-p...

3 Bücher für 49euro bei elektor :
https://www.elektor.de/extra/3-bucher-fur-nur-49-9...

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Buch in Papierform würde ich Dir empfehlen: 'Programmieren in C' von 
Kernighan/Ritchie. Darin stehen die Grundlagen ohne Schwafelei, wie sie 
oft in anderen Büchern stattfindet, um die Seiten zu füllen.

Als 2. brauchst Du ein Problem, was Dir Spaß macht, es zu lösen. Sonst 
hast Du keine Motivation, Dich auch in schwierigere Sachverhalte 
einzuarbeiten.
Wenn Du ein AVR-Board hast, dann nimm es, und träume nicht davon, welche 
anderen Prozessoren es noch gibt, die man auch noch nehmen könnte.

Was willst Du denn konkret programmieren? Welches Problem steht an?

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich dachte eigentlich dass 8051 ein Architektur wäre wo man unabhängig
> ist ob AVR, PIC ist!! scheint aber nicht der Fall sein.

Nochmal langsam zum mitdenken:
Wenn man in C programmiert ist man erstmal unabhaengig von der 
Architektur.  Abhaengig ist man lediglich ueber die Art und Weise wie im 
controller integrierte Hardware angesprochen wird. Aber da kann man 
selbst innerhalb einer Architektur auf die Nase fallen weil es da auch 
Unterschiede gibt. Aber das ist belangslos weil man dann einfach das 
Datenblatt eines Prozessor liesst.

Die MCS51 haben einen gewissen herstelleruebergreifenden Ruf aus Zeiten 
als es noch Leute gab die in Assembler programmiert haben. Die konnten 
da einen Grossteil ihrer Arbeit einfach auf einen anderen Prozessor 
mitnehmen. Aber auch da kann man auf die Nase fallen wenn der moderne 
51er ploetzlich viel schneller ist.

> Also Atmel gehört doch zu 8051Familie?

Atmel ist ein Hersteller von ICs der sehr unterschiedliche Prozessoren 
im Angebot hat. Dazu gehoeren auch MCS51er, aber auch AVRs und noch 
verschiedenes anderes Zeugs.

> Viele meckern auch wegen der internen Architektur des AVR dass die Daten
> und Speicher Leitung nicht wie beim PIC getrennt sind.

Richtig. Das kann manchmal nervig sein. Genauso wie die Abwesenheit von 
IRQ Prioritaeten. AVRs sind aber bei Bastlern relativ verbreitet weil 
sie vor vielen Jahren mal mit die ersten waren die Flashbausteine 
angeboten haben. Damit haben sie gerade Bastlern das Leben sehr 
vereinfacht.

>  Ich flasche die Hex Dateien und probiere halt ein
> Bisschen und das war‘s erst mal. Die Doku bei Myavr sind schlecht, und
> die bieten ein Buch (große Bedienungsanleitung) für 50euro!!! aber da
> steht auch nicht alles drin.

Was erwartest du? Wenn du etwas vernuenftig lernen willst dann geht es 
nicht ohne Buch und fuer ein Buch wirst du auch mindestens 50euro auf 
den Tisch legen muessen. Das sind ja keine Liebesromane! Darin steckt 
vielmehr Arbeit und es gibt deutlich kleinere Stueckzahlen weil 
Deutschland als Etechnikland nunmal auf dem stark absteigenden Ast ist. 
Du lebst mittlerweile in einem Land wo es weniger Elektronikmagazine als 
Angelmagazine gibt und wo mein Zeitschriftenladen vor ein paar Wochen 
die Elektronikhefte (Elektor, Funkschau) aus dem Programm genommen hat 
weil sie den Platz fuer Tittenhefte brauchten.


> Deshalb habe ich gehofft durch diese 8051 Bücher, dass ich solides
> Wissen gewinne. Ob Die Platine die TFH-Core one was tauglich ist, weiß
> ich nicht!!

Es gibt sicher gute Buecher fuer den MCS51, aber das gilt genauso fuer 
AVR oder andere. Allerdings gibt es natuerlich auch viel Mist. Der 
Unterschied zwischen klugen Leuten und weniger klugen liegt im Besitz 
eines Buecherreiausweises. Dann kann man vor dem kauf mal testen. .-)

Olaf

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:

> Wenn man in C programmiert ist man erstmal unabhaengig von der
> Architektur.

Nicht unbedingt, wenn man für kleine Controller programmiert. Da kommen 
architekturbedingt oft ein paar Fisematentchen hinzu wie Einordnung von 
Funktionen und Variablen in verschiedene Speicherbereiche und Banks und 
Beschränkungen in der Verwendung von Funktionen und Variablen in 
Interrupts.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber Olaf, du hast alles schön geschrieben aber am Ende hast du 
gescheitert ;-) warum schreibst du sowas oder wem meinst du damit?

"Der
Unterschied zwischen klugen Leuten und weniger klugen liegt im Besitz
eines Buecherreiausweises. Dann kann man vor dem kauf mal testen. .-)

Olaf"

Wenn du mich meinst, kann ich dir meine Ausweis Nummer mailen dann 
siehst du dass ich 15 Bücher zum Thema Mikrocontroller habe, aber man 
findet halt in Bibliotheken nicht alle Bücher!! also man kann auch nicht 
alles testen!
deshalb man fragt ob jemanden die Bücher schon gelesen hat oder liest in 
Feedbacks ob die Bücher was taugen.

Im konkreten Fall was die Bücher der 8051 angeht, gehen die Meinungen 
sehr unterschiedlich, der eine gibt 1 Stern und sagt ist scheisse und 
dann anderer User gibt 5 Sterne und sagt: bestes Buch überhaupt!!

Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dieser Art Diskussion startest du immer einen Krieg :-)

Hier kannst du nach 8x51 Derivaten suchen:

http://www.keil.com/dd/search_parm.asp

Devices Found = 1063... daran kannst du erkennen das es kaum einen 
anderen Prozessorkern gibt welcher derart verbreitet ist. Ich sehe daher 
keinen Grund sich NICHT mit der 8x51 Familie zu beschäftigen.

Da du allerdings am Anfang bist gibts auch keinen Grund sich nicht mit 
den AVR Typen zu beschäftigen. Für beide Architekturen gibt es freie 
Software und ein Board im Eigenbau kostet kaum mehr als ~ 20 Euro.

Mein Rat, fang einfach mal an mit dem was du hast und gut ist.

Autor: Bastelphilipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie mein Vorredner schon sagte, es gibt 1063 Devices vom 8051.
Ich kann den 8051 jedem nur wärmstens empfehlen.
http://www.silabs.com/products/mcu/Pages/default.aspx

Der AVR µC ist ein RISC-Mikrokontroller mit einem recht spartanischen 
Befehlssatz. (Naja, das besagt ja auch Reduced Instrunction Set 
Computing)
Im gegensatz dazu ist der 8051 ein CISC.
Hier ist (für Assemblerfreunde) ein erstklassig durchdachter 
Befehlssatz.
Es gibt zu hauf kostenlose Tools zum runterladen usw.
µC's mit AVR-Architektur haben weder einen einheitlichen Befehlssatz 
noch eine einheitliche Pheripherie. Datenblätter sind also 
notwendigerweise viele 100 Seiten lang. Viel Spaß beim lesen!
In 8051 wird man prima beraten, auch Anfängerfragen sind willkommen.
Beim AVR-Forum hingegen bekommt man immer nur zu hören:
Lies das Datenblatt . Siehe 
Beitrag "Wie Baudrate einstellen"
AVR-Projekte scheitern häufig an solchen Sachen wie:
Baudrate einstellen, Uhrenquarz anschließen etc. weil die Pheripherie 
nicht einheitlich ist. So hat bei den AVR-Fans jeder seinen Lieblings 
µC auf dem er sich halbwegs auszukennen glaubt. Dieses Wissen ist 
natürlich mit Blut Schweiss und Tränen erworben... und jeder behält es 
für sich.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann nur die Toolsticks von Silabs empfehlen:

http://www.silabs.com/products/mcu/Pages/ToolStick.aspx

Man bekommt für wenige Geld einen 8051 Controller und eine USB-Adapter 
über den man sowohl programmieren als auch debuggen kann. Dazu würde ich 
die Demo von Keil benutzen, die Beschränkung der Codegröße dürfte kein 
Problem für kleinere Projekte sein.

Falls man irgendwann mal einen anderen Controller braucht, kauft man 
sich einfach eine neue Daughter Card mit entsprechendem µC für weniger 
als 10€.

Literatur kann ich grad keine empfehlen, das Datenblatt ist aber 
eigentlich immer das hilfreichste.

Autor: ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Meinung zum mcs-51 gegenüber AVR:

Kann Programmcode aus externem RAM ausführen +++ :)
SP nur 8 Bit -> weniger als 256 Bytes Stack in internen Registern ->
nicht so gut für Hochsprachen --- :(

Ich setze sie daher noch dort ein, wo Code oft geändert werden muss 
(kleiner Bootlader im Flashrom, der das richtige Programm von SD-Karte 
lädt).
Allerdings schreibe ich die Prog's nur in Assembler (Alfred Arnold's 
AS).

mfG ingo

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann Programmcode aus externem RAM ausführen +++ :)

Wahnsinn!
Ich habe hier einen ST89C2051. Wie schließe ich das RAM an und wie 
bekomme ich den Kot darein?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entwickler schrieb:

> Ich habe hier einen ST89C2051. Wie schließe ich das RAM an und wie
> bekomme ich den Kot darein?

Das ist ja auch kein MCS-51.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist ja auch kein MCS-51.

Ich hatte mich vertippt: AT89C2051.
Das ist ein moderner, erweiterter MCS-51 kompatibler Typ; siehe hier:
http://de.wikipedia.org/wiki/Intel_MCS-51

Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flamewar... nun gehts los :-) Ich hol mir ne Tüte Popcorn.

Ketzer sagen, der wirkliche Nachteil eines 8x51 sind seine komplexen 
Adressierungsmöglichkeiten.

Der Vorteil dieser Familie ist aber die komplexe Adressierung :-) Ich 
glaube man ist gut beraten wenn man sich mit diversen Familien 
beschäftigt.

Autor: ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich hatte mich vertippt: AT89C2051.
> Das ist ein moderner, erweiterter MCS-51 kompatibler Typ; siehe hier:

Also als erweitert würde ich ihn nun wirklich nicht bezeichen, sondern 
gegenüber dem Grundtyp (8051) nur zusammengestrichen. Auch wenn ich ich 
ihn, dort wo er sinnvoll war, gern eingesetzt habe. Aber gerade in 
diesem Bereich (wenig Beinchen, wenig Speicher) sind die AVR's doch 
vorteilhafter, auch wenn man etwas umdenken muss.
mfG ingo

Autor: Wolfgang Bengfort (et-tutorials) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex
Wenn Du erst einmal controllerunabhängig C lernen möchtest, dann guck 
doch auch einmal in mein Video-Tutorial

http://et-tutorials.de/mikrocontroller/

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ketzer sagen, der wirkliche Nachteil eines 8x51 sind seine komplexen
> Adressierungsmöglichkeiten.

Komplex? Huestel...was ist denn daran komplex?

Also ich wuerde auch lieber einen MCS51 in Assembler programmieren als 
einen AVR. Aber noch lieber wuerde ich einen Z80 in Assembler 
programmieren und am liebsten einen 68k.
Aber am aller allerliebsten programmiere ich garnicht mehr in Assembler 
sondern in C, und das wollte der OP ja auch so halten!

BTW: Am meisten hassen wuerde ich Assemblerprogrammierung auf einem SH2 
weil die Befehle dort zumindest vom Compiler alle umsortiert werden und 
gelegentlich auch schonmal ein NOP eingefuegt wird wenn es nicht anders 
geht weil der Prozessor sonst wohl keine zwei Befehle gleichzeitig 
ausfuehren koennte. Wenn ich mir vorstelle das man das selber erledigen 
sollte, das waer doch wirklich zum abgewohnen.

Olaf

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.