Forum: Mikrocontroller und Digitale Elektronik Geeignetes Einsteiger Entwicklerboard mit einem i8051


von Christian S. (caliban)


Lesenswert?

Hallo zusammen,
ich bin auf der Suche nach einem geeigneten 8051 Board zum Programmieren 
in Assembler und C. Es braucht nicht viel dran zu sein. Nur eine 
geeignete Schnittstelle um es mit dieser IDE zu verbinden: 
http://www.moravia-microsystems.com/mcu-8051-ide/

Kann mir da jemand was empfehlen?

Vielen Dank

Grüsse Christian

von Jim M. (turboj)


Lesenswert?

Nimm ein Silabs EFM8 Board und Simplicity Studio. Da gibt es dann auch 
den Keil Compiler gratis dazu. Ist schon einene Weile her, aber als ich 
mal nachgeschaut habe wer der dem SDCC haushoch überlegen (Overlays 
etc).

Die Silabs EFM8 sind moderne 8051 µC. Simulator brauchste damit nicht, 
da ein echter Debugger verbaut ist.

von dasrotemopped (Gast)


Angehängte Dateien:

Lesenswert?

MCU8051IDE bevorzugt Atmel AT89 CPUs.
Unter Ubuntu reicht ein
sudo apt-get install mcu8051ide
und du kannst selbst die CPU Auswahl sehen.

Nimm auf jedenfall eine CPU mit integriertem Flash und RAM ausreichend 
für dein Projekt.

Gruß,

dasrotemopped.

von Stefan F. (Gast)


Lesenswert?

Der originale 8051 ist recht alt. Den kannst du nur einmal programmieren 
oder du spendierst ihm ein Eprom. Aber hat heute noch die Gerätschaften 
zum Brennen und Löschen von Eproms? Ist auch schon veraltet

Ich empfehle Dir, stattdessen den flash programmierbaren AT89C2051 zu 
verwenden. Da brauchst du nur einen Quarz und drei Kondensatoren 
drumherum zu bauen - Entwicklungsboard entfällt somit.

von michael_ (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich empfehle Dir, stattdessen den flash programmierbaren AT89C2051 zu
> verwenden.

Der geht nicht so ohne weiteres zu programmieren.

Wenn schon dann ein AT89S2051.

von Ralph S. (jjflash)


Lesenswert?

Ich habe ein "Board" gerouted für einen AT89S52 / AT89S8253 im PLCC44 
Gehäuse der über einen ATtiny2313 und CH340 geflasht werden kann. Das 
Board hat den Arduino R3 Formfaktor. Wenn das nachbauen magst, kann ich 
die Gerberdateien und die Firmware sowie ein Linuxprogramm zum Uploden 
in den MCS-51 nächste Woche hier einstellen.

von R. M. (Gast)


Lesenswert?

dasrotemopped schrieb:
> MCU8051IDE bevorzugt Atmel AT89 CPUs.
> Unter Ubuntu reicht ein
> sudo apt-get install mcu8051ide
> und du kannst selbst die CPU Auswahl sehen.
>
> Nimm auf jedenfall eine CPU mit integriertem Flash und RAM ausreichend
> für dein Projekt.
>
> Gruß,
>
> dasrotemopped.

Wie geil ist das denn!?!
Dieses tolle Projekt kannte ich ja noch garnicht. Gibts was 
vergleichbares auch für AVR? AVR-Studio läuft unter WINE nicht so toll.

Zurück zum Topic:
Heute würde ich für den Einstieg in MCS-51 (für den ich immer noch gute 
Gründe sehe), ein Teil aus der AT89S??-Reihe empfehlen. Die gibt es für 
kleines Geld, auch noch Steckbretttauglich im DIP-Gehäuse. Programmieren 
lassen sie sich mit AVRDUDE (mit angepasster Konfig-Datei). Selbst 
getestet, hab ich es mit USBTINY (siehe EHAJO AVR-ISP-Stick) oder 
USBASP.

Und dank dem Simulator in der mcu8051ide, muss man den echten Käfer als 
Anfänger auch nicht totflashen.

Habe mir seinerzeit Boards mit externem RAM an P0/P2 selbst gebaut, der 
mit /PSEN gelesen wird, mit einem kleinen Monitorprogramm im Flash und 
das ganze bisher mit einem speziellen Terminal "betankt" und damit 
getestet

mfG

von Jason (Gast)


Lesenswert?

> ... für den ich immer noch gute Gründe sehe ...

Das Thema interessiert mich, da ich vor einer ähnlichen Entscheidung, 
wie der TO stehe. Kannst du ein paar Gründe nennen?

von R. M. (Gast)



Lesenswert?

Jason schrieb:
>> ... für den ich immer noch gute Gründe sehe ...
>
> Das Thema interessiert mich, da ich vor einer ähnlichen Entscheidung,
> wie der TO stehe. Kannst du ein paar Gründe nennen?

Hauptgrund für mich ist, das man im AVR kein Programm aus dem RAM 
ausführen kann. Daher probiere ich viele Periperieteile (I2C u.Ä) vorher 
an der genannten Testplatine mit 8052 aus. Da kann ich das Programm so 
oft ändern, bis es passt.

Klar, die garantierten Flashzyklen eines AVR erscheinen viel, aber es 
gibt keinen Zähler, wie Viele der Käfer schon intus hat.
Bin mit der von Neumann Architektur groß geworden, hab mit MCS-51 auf 
diese Weise viel gemacht.

Bei AVR hat mir der Simulator im AVR-Studio 4 viel geholfen, als ich 
noch mit Windows gearbeitet habe. Hab mir mal simulavr+gdb angeschaut, 
kommt aber an die Funktionalität nicht so ran, mittlerweile komm ich 
aber auch ohne klar.

Das Terminal ist noch eine Windows-Anwendung, die unter Wine läuft.
Bei Bedarf könnte ich es, genau wie das µC-interne Monitorprogramm hier 
mit Dokumentation bereitstellen, auch wenn ich sicher bin, das es für 
Beides bessere Beispiele gibt.
mfG

von Soul E. (Gast)


Lesenswert?

R. M. schrieb:

> Bin mit der von Neumann Architektur groß geworden, hab mit MCS-51 auf
> diese Weise viel gemacht.

Wobei gerade MCS-51 keine von Neumann-Architektur hat, sondern ein 
Musterbeispiel für Harvard-Architektur ist. Ein 8051 kann in seinem 
Datenspeicher keinen Code ausführen.

Du kannst natürlich externen Speicher sowohl in den Programm- als auch 
in den Datenspeicher mappen. Das ändert aber nichts an der Art und 
Weise, wie der Controller drauf zugreift.

von Georg G. (df2au)


Lesenswert?

Mein MCS51 (80515) Experimentierboard hat 32k Flash von 0x0000 bis 
0x7fff und 32k RAM zwischen 0x8000 und 0xffff, beide in den 
Programmspeicher und den Datenspeicher gemapt. Mit einem Debug Monitor 
im Flash kann man dann über die serielle Schnittstelle das Programm 
laden, Brechpunkte setzen, Speicher lesen und ändern, Schritt für 
Schritt durch das Programm gehen. Das Programm liegt dabei im RAM. Mit 
einem kleinen Hilfsprogramm wird das vom Linker-Locater ausgegebene 
HEX-File so modifiziert, dass auch die Interrupt Vektoren dazu passen. 
Wenn alles passt, kommt das Programm nach unten ins Flash für eine 
letzte Kontrolle. Es gibt bestimmt bequemere Systeme. Aber vermutlich 
nichts billigeres.

Falls jemand noch einen PC mit ISA-Slot hat: Ich habe noch bestückte 
Feger&Reith Boards in der Kiste liegen. Die sind auch bequem. Aber 
leider nur für den ISA Slot.

von Buggy (Gast)


Lesenswert?

> Wobei gerade MCS-51 keine von Neumann-Architektur hat, sondern ein
> Musterbeispiel für Harvard-Architektur ist.

Bei den 51er würde ich eher von einer modifizierten Harvard-Architektur 
sprechen.

https://de.wikipedia.org/wiki/Harvard-Architektur :

"Die Harvard-Architektur bezeichnet in der Informatik ein 
Schaltungskonzept, bei dem der Befehlsspeicher logisch und physisch 
vom Datenspeicher getrennt ist. Die logische Trennung ergibt sich aus 
verschiedenen Adressräumen und verschiedenen Maschinenbefehlen zum 
Zugriff auf Befehl- und Datenspeicher. Die physische Trennung ist mit 
zwei getrennten Speichern realisiert, auf die der Zugriff über je einen 
eigenen Bus erfolgt. Bei einer weniger strikten Trennung von Befehls- 
und Datenspeichern spricht man von einer modifizierten 
Harvard-Architektur." (Hervorhebungen von mir)

von Peter D. (peda)


Lesenswert?

michael_ schrieb:
> Wenn schon dann ein AT89S2051.

Besser gleich den AT89LP4052.

von R. M. (Gast)


Lesenswert?

soul e. schrieb:
>
> Wobei gerade MCS-51 keine von Neumann-Architektur hat, sondern ein
> Musterbeispiel für Harvard-Architektur ist. Ein 8051 kann in seinem
> Datenspeicher keinen Code ausführen.
>
Stimmt, darum hab ich weiter oben geschrieben, das ich das das RAM mit 
/PSEN gelesen wird. Hätte man noch mit /RD verANDen können, hab ich mir 
aber gespart. Damit hab ich /RD noch als Portleitung zur Verfügung zum 
Preis, das der "movx a,@dptr" durch die Befehlsfolge "clr a" und "movc 
a,@a+dptr" ersetzt werden muss, für Hochsprachencompiler vielleicht 
nicht so günstig. Sonst gehen Meine Gedanken in die Richtung, wie von 
Georg formuliert. Wobei mein Mini-Monitor noch keine Haltepunkte kann. 
Die Interruptvektoren sind allerdings auch hier in den RAM-Anfang 
"verlängert".
mfG

von Philipp Klaus K. (pkk)


Lesenswert?

Jim M. schrieb:
> Nimm ein Silabs EFM8 Board und Simplicity Studio. Da gibt es dann auch
> den Keil Compiler gratis dazu. Ist schon einene Weile her, aber als ich
> mal nachgeschaut habe wer der dem SDCC haushoch überlegen (Overlays
> etc).

Den Keil habe ich noch nicht verwendet. Aber wenn ich mir
http://www.keil.com/product/isoansi.asp
und
http://sdcc.sourceforge.net/mediawiki/index.php/Standard_compliance
anschaue, ist SDCC bei der Unterstützung der C-Standards deutlich weiter 
(und die dortige Behauptung "Compilers from Keil are conforming 
freestanding implementations of the C Programming Language" passt auch 
nicht zu dazu, dass Keil (genau wie SDCC) kein echtes double hat 
(http://www.keil.com/support/docs/2595.htm).

Philipp

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.