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ß,
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.
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?
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?
>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.
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.
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.
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
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ß,
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.
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ß,
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.
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
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ß,
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
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?
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
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.
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?
>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...
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.
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ß,
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?
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ß,
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.
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ß,
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ß,
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
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.