Forum: Mikrocontroller und Digitale Elektronik Mikrocontrollerplatine programmieren?


von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe nach Aufraumarbeiten meiner Räumlichkeiten meine alte 
Mikrocontrollerplatine wiedergefunden. In der Schule habe ich daran z. 
B. eine Ampelsteuerung oder einen Taschenrechner programmiert. Es wäre 
nun schön, wenn ich diese Platine (siehe Anhang) wieder programmierbar 
machen könnte.

Da meine Schulzeit schon einige Jahre zurückliegt und ich mit 
Mikrocontrollern seitdem nicht wirklich etwas getan habe, bin ich wieder 
totaler Anfänger auf dem Gebiet. Ich bin jedoch lernfähig. Daher freue 
ich mich, wenn ihr mir verraten könntet, wie ich meine Platine wieder 
programmieren kann? Oder ist dies überhaupt nicht möglich?

Freue mich über Antworten.

Gruß,

von JoergL (Gast)


Lesenswert?

Man kann ja schön den 8051 und die ELV Artikelnummer erkennen.
Der Rest ist dann nur noch Fleißarbeit mit google.

Gruß,
Jörg

von Ich (Gast)


Lesenswert?

Dieses Board wird bei ELV seit etwa einem Jahr nicht mehr verkauft. Es 
ist aber, soweit ich weiß, in diesem Buch beschrieben:
http://www.buecherbillig.de/product_info.php?products_id=42111

Normalerweise muß man den EPROM selbst programmieren, mit einem kleinen 
Trick (externem RAM am Bus) kann man allerdings mit einem 
Bootloader/Monitorprogramm arbeiten.

von Anfänger (Gast)


Lesenswert?

Eine Google-Recherche habe ich bereits gestartet. Aber bisher ohne 
richitgen Erfolg. Wenn ich "9363" und "8051" eingebe, kommen Ergebnisse, 
wo ich das Bauteil kaufen kann. Naja, ...
Also, wie könnte ich herausfinden, ob und wie ich meine Platine 
programmieren kann?

von Anfänger (Gast)


Lesenswert?

Danke für den Hinweise mit dem Buch.
Ist auch die Sache mit dem Emulator erklärt?

Also, ich verbinde die Platine mit dem RS232-Anschlusskabel, dann über 
einen Adapter seriell-USB schließe ich die Platine an den PC. 
Desweiteren verbinde ich die Platine mit 12V-Netzteil. So dann brauche 
ich doch ein Programm. Keil oder AVR? Wie funktioniert dann das mit dem 
Emulator?

von Werner (Gast)


Lesenswert?

>Wenn ich "9363" und "8051" eingebe, kommen Ergebnisse,
>wo ich das Bauteil kaufen kann. Naja, ...

9363 ist ja nur die ELV-Nr. für das Eprom, in dem das Programm 
drinsteckt.

Die genaue Bezeichnung des µC müsstest Du ja ablesen können.
Dürfte ein ganz normaler 80C31 sein.

von Matthias K. (matthiask)


Lesenswert?

Wahrscheinlich brauchst Du zum programmieren ein spezielles Programm von 
ELV. Es ist vermutlich auf dem Eprom ein serieller Bootloader drauf, da 
auch eine COM auf dem Board ist.

Wenn Du den nicht mehr hast, wird es schwer. Das macht man heute auch 
nicht mehr so.

Aber es gibt Alternativen:

Versuch einen pinkompatiblen 8051 Mikrocontroller zu finden, welcher 
bereits einen internen Flash und UART-Bootloader hat. Gibts zB. von 
Atmel und NXP. Die haben dann auch die entsprechende Programmiersoftware 
(kostenlos) FlashMagic/NXP und Flip/Atmel.

Typen eventuell: Atmel AT89C51RB2/RC2/RD2
http://www.atmel.com/dyn/products/devices_mcu.asp?family_id=604

Zu Wegschmeisen wär das System zu schade.

von Ich (Gast)


Lesenswert?

Nix AVR. 8031/8051. Assembler (ASM51, AS, SBASM), C (SDCC) oder Pascal 
(Turbo51). Keil geht in die richtige Richtung. Von denen gibt es das 
Monitorprogramm (http://www.keil.com/c51/mon51.asp), eine Alternative 
wöre dieses: http://www.pjrc.com/tech/8051/paulmon2.html

Das muß einmalig in einen leeren EPROM programmiert werden. Mit einer 
Adapterplatine an dem großen Pfostenstecker, auf der ein S-RAM sitzt 
(wie im Buch beschrieben), kann man dann tatsächlich über die serielle 
Schnittstelle programme laden.

von Peter D. (peda)


Lesenswert?

EPROM, Latch, 8031 rausziehen, AT89C51RB2-3CSIM (CSD: 6,95€) einsetzen, 
EA-Pin auf VCC legen, dann kanns losgehen.

Alternativ geht auch ein ATMega162 (AVR-Familie).


Peter

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Matthias,

danke für Deine Antwort. Wegschmeißen wollte ich auch eigentlich nicht, 
ich möchte versuchen, dass Ganze wieder in Gang zu setzen.

Ich habe die Datenblätter gesucht und gefunden. Wenn ich die 
Pinbelegungen des vorhandenen µC und des AT89C51RB2 vergleiche, sehe ich 
keinen Unterschied. Wenn ich mir diesen µC besorge und austausche mit 
dem alten, kann ich dann bereits über AVR Studio und Flip/Atmel die 
Platine programmieren (wie damals)?

Gruß,

von Anfänger (Gast)


Lesenswert?

Ok,
was ist denn Latch?
EPROM (9363) und µC ist klar.

EA-Pin auf VCC, wie?

von Anfänger (Gast)


Lesenswert?

Achso, wo kann ich den "AT89C51RB2-3CSIM" denn kaufen?
Bei reichelt oder conrad habe ich gesucht und nichts gefunden...

von Anfänger (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Anfänger schrieb:
> Achso, wo kann ich den "AT89C51RB2-3CSIM" denn kaufen?

http://www.csd-electronics.de/de/index.htm


Peter

von Matthias K. (matthiask)


Lesenswert?

Ich habe bei reichelt diesen gefunden...
http://www.reichelt.de....

Nein, der hat keinen interen Bootloader.

Nimm den den AT89C51RB2, den peda auch empfiehlt.

Etwas gibt es beim Austausch schon zu beachten (Hast Du den Schaltplan 
vom µC-Teil?):

RESET-Pin und PSEN-Pin Beschaltung. Ggf. musst dort was modifizieren.

Hier ist eine Bsp.-Schaltung beschrieben.
Beitrag "8051 Entwicklungsboard"

Über den PSEN Jumper im Zusammenspiel mit der RESET-Taste wird der 
interne Bootloader gestartet.

von Matthias K. (matthiask)


Lesenswert?

Ergänzung:
EA-PIN muss vermutlich auch angepasst werden, muss auf VCC liegen.

von Anfänger (Gast)


Lesenswert?

Matthias K. schrieb:
> Hast Du den Schaltplan
> vom µC-Teil?

Ich habe den Schaltplan in einem beigelegtem Heft gefunden. Der EA-Pin 
liegt jetzt auf Masse, den muss ich also auf VCC legen (brücken), soweit 
richtig?
Müssen weitere Modifizierungen gemacht werden?

Im Moment mache ich folgendes:
- 8031 raus (klar)
- EPROM ELV9363 raus (klar)
- Latch raus (Was ist das?)
- AT89C51RB2-3CSIM rein
- EA-Pin auf Masse legen

(anschließend)
- Platine mit 12V-Netzteil verbinden
- RS232 mit seriellem Kabel und mit seriell-USB an Rechner anschließen

Gruß,

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

...
Ich habe eben den Schaltplan vergessen anzuhängen.

von Anfänger (Gast)


Lesenswert?

Anfänger schrieb:
> Latch raus (Was ist das?)

Ok, wer lesen ist im Vorteil. IC2 ist Adresslatch.

von Matthias K. (matthiask)


Lesenswert?

Anfänger schrieb:
> Ich habe den Schaltplan in einem beigelegtem Heft gefunden. Der EA-Pin
> liegt jetzt auf Masse, den muss ich also auf VCC legen (brücken), soweit
> richtig?
> Müssen weitere Modifizierungen gemacht werden?
> Im Moment mache ich folgendes:
> - 8031 raus (klar)
> - EPROM ELV9363 raus (klar)
> - Latch raus (Was ist das?)
> - AT89C51RB2-3CSIM rein
> - EA-Pin auf Masse legen

RESET-Beschaltung ist so schon ok
EA-Pin auf VCC (nicht auf GND!) legen
PSEN-PIN über Jumper (besser Taster) zu GND. Man sollte noch einen R von 
ca. 27 Ohm zur Vorsicht in Reihe schalten.

von Gunb (Gast)


Lesenswert?

Hallo,

nur zur Ergänzung: Habe auf diesem Board in den 90ern auch viel 
geproggt, allerdings mit einem Eprom-Simulator. Gab's auch mal bei ELV, 
da konnte man dann ohne EPROM-Brennen das hex-File direkt über 
PC-Software uploaden. War vor den Flash-Controllern eine flotte Sache.

Nur mal so als Alternative zum Flash-Controller. Letzteres halte ich 
aber auch für die bessere Lösung.

Gruß
Gunb

von Anfänger (Gast)


Lesenswert?

Matthias K. schrieb:
> PSEN-PIN über Jumper (besser Taster) zu GND. Man sollte noch einen R von
> ca. 27 Ohm zur Vorsicht in Reihe schalten.

Wenn ich die Pin-Belegungen der beiden µC vergleiche sehe ich bei PSEN 
keinen Unterschied. PSEN ist bei beiden auf Pin 29 und beidesmal 
negiert. Bei EA war der Unterschied zu sehen, daher muss ich da wohl 
eine Brücke einlöten und die GND-Verbindung, die jetzt besteht, trennen.
Muss ich dennoch einen Taster dazwischen einbauen samt R?

Wenn alles hardwaremäßig aufgebaut ist, welche Softwaretools brauche ich 
denn dann zum programmieren?

Gruß,

von Matthias K. (matthiask)


Lesenswert?

Anfänger schrieb:
> Wenn ich die Pin-Belegungen der beiden µC vergleiche sehe ich bei PSEN
> keinen Unterschied. PSEN ist bei beiden auf Pin 29 und beidesmal
> negiert. Bei EA war der Unterschied zu sehen, daher muss ich da wohl
> eine Brücke einlöten und die GND-Verbindung, die jetzt besteht, trennen.
> Muss ich dennoch einen Taster dazwischen einbauen samt R?

EA muss unbedingt an VCC, sonst will der µC auf den exteren Speicher 
zugreifen und nicht auf seinen interen FLASH!

Der Jumper/Taster an PSEN hat die Funktion, den internen Bootloader zu 
starten. Es ist so: Eine fabrikneuer µC dieser Baureihe startet nach 
RESET sofort den Bootloader. Wenn Du ihn aber einmal mit Deinem Programm 
programmiert hast, startet normalerweise nach RESET Dein Programm.

Um wieder in den Bootloader zu kommen (um Dein Programm erneut 
aufzuspielen) kommt der PSEN-Jumper zum Einsatz.

Dazu RESET-Taste drücken und PSEN auf GND ziehen und nun RESET 
loslassen, während PSEN noch eine kurze Zeit länger auf GND bleibt. Dann 
PSEN-Jumper öffnen. Nun ist der Bootloader aktiv. Dafür macht sich an 
PSEN ein Taster am besten.

> Wenn alles hardwaremäßig aufgebaut ist, welche Softwaretools brauche ich
> denn dann zum programmieren?

FLIP
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Matthias K. schrieb:
> FLIP
> http://www.atmel.com/dyn/products/tools_card.asp?t...

Ich habe mir diesen Flip heruntergeladen. In AVR Studio 4 porgrammiere 
ich einen C-Code und dann spiele ich diesen mit Flip auf meine Platine, 
richtig?

Ich habe den im Bild programmierten Code mal geschrieben (jede zweite 
LED ein), dann wollte ich builden (F7), aber es kam folgender Fehler.
Wie mache ich dann weiter und wie behebe ich den Fehler?

von Peter D. (peda)


Lesenswert?

Anfänger schrieb:
> In AVR Studio 4 porgrammiere
> ich einen C-Code und dann spiele ich diesen mit Flip auf meine Platine,
> richtig?

Falsch!

AVR != 8051

Wenns AVR sein soll, schau Dir mal den ATMega162 an.


Peter

von Anfänger (Gast)


Lesenswert?

ok,
mit welchem Programm schreibe ich denn dann den Code? In Keil? Und dann 
mit Flip?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mit einem Compiler oder Assembler, der Code für die MCS51-Reihe erzeugen 
kann. So etwas gibt es für sehr viel Geld von Keil oder IAR, aber auch 
kostenfrei in Form des SDCC.

von Matthias K. (matthiask)


Lesenswert?

Nimm zur Softwareentwicklung:

SDCC (kostenloser C-Compiler für 8051 ohne Einschränkungen):
http://sdcc.sourceforge.net

und als IDE:
http://www.opcube.com/home.html#MIDE51

Es gibt noch jede Menge andere C-Systeme, die in der Regel Geld kosten. 
Manche gibts als Demoversion, die aber nur wenige kbyte Code erzeugen 
können und so manche weitere Einschränkung haben.
zB.
http://www.keil.com
http://www.wickenhaeuser.de

von Anfänger (Gast)


Lesenswert?

Ich habe Keil 3 gewählt, da ich auch früher in der Schule mit Keil 
gearbeitet habe.

Wenn ich ein Testprogramm schreibe und dieses builde, wird eine Hexfile 
erstellt. In Flip kann ich dann diese Hexfile öffnen (Open Hexfile), 
oder?

von Matthias K. (matthiask)


Lesenswert?

so ist es...

von Matthias L. (Gast)


Lesenswert?

>Ich habe Keil 3 gewählt, da ich auch früher in der Schule mit Keil
>gearbeitet habe.

Wenn ich an das (Hoch)schulzeug denke, bin ich froh zuhause, bzw. hier 
in der Firma zeitgemäßes Zeug zu haben...

von Matthias K. (matthiask)


Lesenswert?

Keil ist bei 8051ern eigentlich die Oberklasse, sowohl in Effizienz als 
auch im Preis;-) Für den Hausgebrauch ist SDCC aus meiner Sicht aber 
auch gut brauchbar.

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

heute kam der neue Mikrocontroller.
Ich habe den alten µC, das Latch und das EPROM entfernt, dann den neuen 
µC draufgesetzt. Zusätzlich habe ich vorher noch den EA-Pin (Pin31) mit 
VCC verbunden und mit Masse getrennt und beim PSEN-Pin (Pin 29) habe ich 
einen Jumper eingefügt.
Dann habe ich die Platine an den PC angeschlossen. Der Treiber für den 
Seriell-USB-Adapter war schnell installiert.
Ich habe in Keil ein kleiner Programm geschrieben, dann compiliert und 
eine hex-Datei erstellen lassen. Kein Problem soweit. Wenn ich nun in 
Flip eine Hex-Datei laden möchte, kommt der Fehler, der in dem zweiten 
angehängten Bild zu sehen ist. Habe ich noch irgendetwas falsch gemacht? 
Wie muss es funktionieren?
Freue mich auf Eure Antworten.

Gruß,

von Matthias K. (matthiask)


Lesenswert?

Rechner nach Flip-Installation neu gestartet?

Hast du eine aktuelle JAVA-Version auf dem Rechner, wird von Flip 
gebraucht. Alternativ gibts auch eine ältere Flip-Version auf der Seite 
zum Download, die ohne JAVA läuft.

Bekommst Du wenigstens erstmal einen Connect mit FLIP zu dem µC?

von Anfänger (Gast)


Lesenswert?

Hallo,

der Adapter wird nur erkannt (COM3). Ob die Platine dahinter hängt oder 
nicht, ist egal. Wenn ich das System so lasse eine Weile, dann wird der 
Kühlkörper serh warm (heiß).
Ich werde noch ein wenig nachforschen...
Wenn Dir was einfällt, was falsch sein kann, bitte melden...

Gruß,

von Julian (Gast)


Lesenswert?

Hey anfänger
kannst du mir vill deine Ampelsteuerung schicken wenn du die noch hast?

Gruß

von Helmut -. (dc3yc)


Lesenswert?

Hallo Anfänger!
Wenn ich dein Bild so betrachte, fällt mir folgendes ein: sind auf der 
blauen Platte irgendwelche Bauteile oder Leiterbahnen, die mit deiner 
Schaltung verbunden sind? Die liegt nämlich direkt auf einem (sich 
statisch aufladendem) Teppichboden, was für manche Bauteile nicht 
unbedingt gut ist. Ein Holzbrett untergelegt wirkt Wunder!

Servus,
Helmut.

von Anfänger (Gast)


Lesenswert?

Hallo,

nein, nein, auf der blauen Platte sind keine Leiterbahnen oder 
dergleichen etwas. Ich habe meine Platine nur auf eine Sperrholzplatte 
geschraubt (mit Abstandshaltern) und diese dann blau lackiert.

Habe ich bei meinem Vorgehen sonst irgendetwas falsch gemacht...???

Achso, die Sachen aus der Schule, die ich programmiert habe, habe ich 
leider nicht mehr. Ist auch schon ein Weilchen her...

Gruß,

von Matthias K. (matthiask)


Lesenswert?

Kannst Du denn jetzt das Hexfile ohne Fehler erstmal von der Festplatte 
in Flip laden?

von Anfänger (Gast)


Lesenswert?

Matthias K. schrieb:
> Kannst Du denn jetzt das Hexfile ohne Fehler erstmal von der Festplatte
> in Flip laden?

Nein, es kommt immer die Fehlermeldung "Cannot open file". Ich schreibe 
mein Programm in Keil, drücke F7 zum builden (klappt ohne Warnings und 
Errors), dann öffnet sich automatisch Flip und ich  versuche die 
erzeugte hexfile zu laden. Dann kommt die o. g. Meldung. Aus 
Ausprobieren habe ich erkannt, dass die gleiche Meldung kommt, egal ob 
Platine dran hängt oder nicht.

Weißt Du Rat?

Gruß,

von Anfänger (Gast)


Lesenswert?

Achso, ist eigentlich normal, dass der Kühlkörper extrem heiß wird??
Spannungsversorgung ist auf 4,5V eingestellt.

Gruß,

von Karl H. (kbuchegg)


Lesenswert?

Anfänger schrieb:

> Ausprobieren habe ich erkannt, dass die gleiche Meldung kommt, egal ob
> Platine dran hängt oder nicht.

KLar.
Flip will erst mal nur das HEX File laden. Du gehts noch gar nicht um 
das Progrmmieren an sich, sondern das Flip das, was programmiert werden 
soll, schon mal nicht einlesen kann.

> Weißt Du Rat?

Kontrollieren:
Gibt es ein HEX File mit diesem Namen?
Ist es am richtigen Verzeichnis?
Auch wenn das heutzutage kein Thema mehr sein sollte: Mit Sonderzeichen
   wie ä ö ü ß µ im Pfadnamen hat sich schon so mancher Anwender selbst
   in den Fuss geschossen

von Karl H. (kbuchegg)


Lesenswert?

Anfänger schrieb:
> Achso, ist eigentlich normal, dass der Kühlkörper extrem heiß wird??

Extrem heiß ist nie normal.
Etwas warm ist ok, aber wenn du dir die Finger verbrennst ist das 
definitiv zu viel.

Stromaufnahme messen. Zusatzplatinen erst mal nicht anschliessen. Nach 
Kurzschlüssen Ausschau halten.

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.