Forum: Mikrocontroller und Digitale Elektronik Programmieren eines 80c31?


von Tobias Endrullis (Gast)


Lesenswert?

Hallo alle miteinander!

Ich habe mir von ELV die Mikrocontroller-Experimentierplatine besorgt 
und stehe nun vor dem Problem, wie programmiere ich ihn! Ich habe schon 
früher einen Mikroprozessor programmiert, da war aber immer eine kleine 
Tastatur und ein LCD-Display dabei, so dass man sah was man machte, bzw. 
überhaupt was machen konnte. Das Programm wurde dabei immer sofort in 
ein EEPROM geschrieben. Hier nun weiß ich absolut nicht wie ich ein 
Programm eingeben soll. Bei ELV teilte man mir mit, dass ich das EPROM 
entsprechend programmieren soll. Zwar steht mir ein Programmiergerät zur 
Verfügung, weiter bringt mich das aber im Moment auch noch nicht. Wo 
kann ich eine Anleitung zu diesem Thema bekommen? Insbesondere des 
ELV-Microprozessor-Sets? Brauche ich extra Software dafür?

mfg
Tobias Endrullis

von thkais (Gast)


Lesenswert?

Du brauchst ein Betiebssystem. Entweder von ELV oder selbst geschrieben.

von Peter D. (peda)


Lesenswert?

Heutzutage geht man eigentlich davon aus, daß jeder MC-Bastler auch 
einen PC besitzt.

D.h. man benutzt einen Text-Editor, um die Programme zu schreiben und 
auf der Festplatte abzuspeichern.
Dann besorgt man sich je nach Programmiersprache einen Assembler oder 
Compiler, womit dann letztendlich ein *.HEX File entsteht.

Und diese *.HEX File brannte man früher umständlich in einen EEPROM, den 
man dann in den Sockel des MC-Boards steckte.

Heutzutage wird aber oft ein MC mit internem Flash benutzt, damit man 
bequem vom PC das *.HEX-File reinladen kann, ohne den MC oder ein extra 
EPROM umstecken zu müssen.

Z.B.:
http://www.mikrocontroller.net/forum/read-1-25968.html


Peter

von Meinrad Götz (Gast)


Lesenswert?

Die Mikrocontroller Platine von ELV ist tatsächlich so aufgebaut, dass 
man nur ein progammiertes EPROM stecken kann. Man kann die Schaltung 
aber leicht so "aufbohren", dass man ihr noch ein RAM verpasst das dann 
als Programmspeicher und Datenspeicher fungiert. Das Programm läuft dann 
aus dem RAM ohne dass der Prozessor etwas davon merkt. Das funktioniert 
natürlich nur solange wie die Schaltung Spannung hat, ist also nur etwas 
zum probieren, testen usw. In dieser Phase benötigt man allerdings ein 
kleines Ladeprogramm das im EPROM steckt, um das zu testende Programm 
vom PC auf das Mikrocontroller Board zu bringen. Wenn das Programm dann 
funktioniert kann man ein EPROM brennen. Genau dieses Verfahren passend 
zur ELV Platine, aber natürlich auch für jede gestrickte 8051er Platine, 
habe ich in einem Einsteigerbuch beschrieben. "Mikrocontroller 
Experimentierbuch Franzis Verlag ISBN: 3-7723-5005-4" Dem Buch liegt 
auch eine CD mit dem KEIL Assembler, Compiler usw. sowie kleinen 
Demoprogrammen und das oben angesprochen Ladeprogramm bei.

Gruß

Meinrad

von Michael (Gast)


Lesenswert?

Also ich würde mir das Buch sparen.
Alles, was da drin steht, findet man auch zuhauf im Internet kostenlos. 
Und für Fragen ist ja das Forum hier da.
Das gesparte Geld gibst Du dann lieber für eine 
Experimentiersteckplatine und die Bauteile aus Peters Vorschlag aus. Das 
ELV-Teil verkaufst oder verschenkst Du am besten wieder. Das ist nicht 
sonderlich nützlich.
Du schreibst dann die Software entweder in Assembler, C oder Basic. Für 
alles gibt es kostenlose Software im Netz:
C: Entweder den komplett freien SDCC oder die Evaluation-Version vom 
Keil, die kannst Du bei Keil auf der Homepage herunterladen, sie ist 
aber in der Programmgröße beschränkt.
Basic: Bei Bascom gibt es eine in der Größe beschränkte Test-Version
Assembler: Hier gibt es sehr viele kostenlose im Netz.
Wenn das Programm dann assembliert oder kompiliert ist, flasht Du das 
mit der von Peter genannten Software in den Controller, machst einen 
Reset und schon startet das Programm. Also nicht erst umständlich per 
Terminalprogramm raufladen, per Maschinensprachemonitor starten.
Ein LCD oder andere Bausteinchen hast Du mit der Steckplatine auch 
schnell aufgebaut.

von Michael Manski (Gast)


Lesenswert?

Mein Anliegen ist folgendes:
In dem Buch "Mikrocontroller Experimentierbuch" (Franzis) wird
beschrieben, wie man die ELV-Platine (Experimentierset
68-155-74) umzubauen hat, damit man einen externes RAM als
Programm- und Daten-RAM nutzen kann. Leider ist dieser Teil im Buch
über den Umbau meiner Meinung nach etwas kurz geraten.

In dem Buch ist lediglich eine kurze Beschreibung und ein kleiner
Schaltbauplan zu finden, der sich mir nicht ganz erschließen will.
Könnte das hier jemand auch für einen Laien verständlich erläuternd
darstellen?

Ich wäre sehr dankbar!

mfg M.M

von Stefan Kleinwort (Gast)


Lesenswert?

Hi Michael,

ich würde auf den Rat von Michael hörwen, so weh das ausgegebene Geld
auch tut. Damit Du mit der Platine ordentlich arbeiten kannst, brauchst
Du noch einen Extra Eprom-Programmer, ein Eprom-Löschgerät, am besten
mehrere Eproms. Das ist alles Technik von gestern, Du schmeisst Deinem
Geld nur weiteres hinterher.

Einen Microcontroller ohne Flash sollte man heute nicht mehr in die
Hand nehmen (müssen). Ausnahme: Du brauchst 10.000 Stück davon, dann
gibts günstigere Lösungen ;-)

Schau Dich bei den AVR-Teilen um (oder auch Atmel 8051-Flash-Derivate),
mit sehr wenig Aufwand bekommst Du ein laufendes System, ein AVR und
ein paar Widerstände auf einem Steckbrett reichen schon als
Minimallösung.

Wenn Du früher schon mit mc gearbeitet hast, wirst Du nach der
Einarbeitung begeistert sein, wie einfach und schnell das mittlerweile
geht.

Stefan

von Michael Manski (Gast)


Lesenswert?

Wenn ich alles richtig verstanden habe, dann kann man mit der im Buch
beschriebenen Aufrüstung der Platine, erstmal zu Testzwecken ein
Programm aufspielen und dann erst ein Eprom brennen.

In dem Angebot von ELV steht, dass man auch optional ein EEPROM an
Stelle des EPROMS nehmen kann. Es ist auch gleich im Packet dabei. Ein
EEPROM kann man doch mehrmals beschreiben, richtig?

Ich weiß nicht, ob einer dieses besagte Buch kennt, und mir bei diesem
Aufrüsten des externen RAMS helfen könnte. Das war eigentlich mein
Anliegen und der Grund meines vorherigen Postings.

Vielen Dank nochmal

Ich hab mir das Experimentierboard von ELV schon bestellt. ;-)
Mittlerweile hab ich schon einiges über die 8051 Controller Familie
gelesen und würde nur äußerst ungern zu den mir weniger vertrauten
sogenannten AVRs wechseln.

Danke nochmal und cu :-)

von Peter D. (peda)


Lesenswert?

"... die 8051 Controller Familie..."


Der AT89C51RD2 ist doch ein richtiger 8051-er.

Er hat eben bloß noch einen Bootloader mit drin, so daß man ganz ohne
extra EEPROM, RAM und Pipapo direkt ein Programm reinladen kann.

Der einzige extra Chip, den man noch braucht, ist der MAX202 zur
Pegelwandlung nach RS-232.


Peter

von Stefan Kleinwort (Gast)


Lesenswert?

Also ich hab mir jetzt mal die Mühe gemacht und bei ELV nachgeschaut.
Das EEPROM, was Du da mitbekommst, ist ein SERIELLES EEPROM, das ist
kein Ersatz für das Eprom. Theoretisch könntest Du statt dem Eprom ein
PARALLELES EEPROM einsetzen, das muss aber von der Hardware unterstützt
werden (WR-Leitung), Du musst es extra kaufen (wird bei ELV nicht
angeboten) und Du musst es auch programmieren können. Und das wirst Du
mit Sicherheit mit dieser Platine nicht schaffen. Diese Platine ist
meiner Meinung nach ein alter Ladenhüter, praktisch dieselbe
8031-Schaltung habe ich mir vor 20(!!) Jahren schon selbst gebaut.

Ein externes RAM parallel zum Eprom zu hängen ist theoretisch möglich
(ist die Schaltung nicht in dem Franzis-Buch mit drin?). Aber nicht
einfach, weil der 8031 Programm- und Datenbereiche getrennt hat.

Wenn Du Dich in den 8031 schon verguckt hast, dann folge Peters Rat:
von Atmel bekommst Du ihn mit internem Flash und allem was Du Dir
wünschen kannst.

Stefan

von Stefan Kleinwort (Gast)


Lesenswert?

Der von Peter vorgeschlagene AT89C51RD2 ist ja sogar pinkompatibel zum
alten 8031. D.h. Du kannst ihn für den 8031 auf Deine ELV-Platine
einsetzen, das Eprom und das Latch weglassen und hast eine komplette
Testumgebung.

Die Pins für den Adress/Datenbus bekommst Du auch noch geschenkt.

Ach ja, der AT89C51RD2 ist etwas fixer, aber mit der Zeit gewöhnt man
sich auch daran ;-)

Stefan

von Michael Manski (Gast)


Lesenswert?

Angenommen ich nehme den AT89C51RD2 anstatt eines 8031:
Wie kann ich dann meine Programme draufladen?
Kann ich die Assemblerbefehle, wie ich sie auf für den 8031 benutze,
auch für den AT89C51RD2 nehmen?

von Michael Manski (Gast)


Lesenswert?

>>"... die 8051 Controller Familie..."


>>Der AT89C51RD2 ist doch ein richtiger 8051-er.

>>Er hat eben bloß noch einen Bootloader mit drin, so daß man ganz
ohne
>>extra EEPROM, RAM und Pipapo direkt ein Programm reinladen kann.
>>
>> Der einzige extra Chip, den man noch braucht, ist der MAX202 zur
>> Pegelwandlung nach RS-232.

>>Peter

Was ist ein MAX202? Pegelumwandlung RS-232??????

von thkais (Gast)


Lesenswert?

1. Ja, der AT89C51RD2 kann die gleichen Assembler-Befehle wie der 8031
(eigentlich kann keiner von beiden Assembler, aber sie benutzen den
gleichen Maschinencode g). Es kann bestenfalls sein, daß evtl.
benutzer Externer RAM anders angesprochen werden muß, da er sich in
einem anderen Adressraum befindet - das ist abhängig von der externen
Hardwareumgebung.
Ich würde Dir das "Mikrocontroller-Kochbuch" von Andreas Roth als
Literatur empfehlen. Damit habe ich es gelernt.
2. Ja, RS-232 Pegelwandlung. Ich benutze allerdings den Max232, ist
geschmackssache.

von Hedonistische Internationale (Gast)


Lesenswert?

> Tobias Endrullis

WoW!
Bist Du mit dem berühmten Freddy Endrullis aka "Ohase" verwand?

Siehe: http://ohase.untergrund.net/

Hedi

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.