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
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
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
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.
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
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
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 :-)
"... 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
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
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
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?
>>"... 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??????
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.