Forum: Mikrocontroller und Digitale Elektronik 87C51 programmieren


von Roland H. (minitron)


Lesenswert?

Hallo zusammen,

ich habe etliche angejahrte, aber zum Glück jungfräuliche 
Mikroprozessoren von TEMIC TSC87C51-16CA (OTP-Typ) ergattert und wollte 
nun ein paar mit einem "universal writer Leaper LP10" programmieren. In 
der Programmer-software ist dieser up auch enthalten, 
Programmierspannung ist 12,7 Volt, Quick-Pulse 100 usec. Der 
Programmiervorgang mit einem bin-file schien auch erfolgreich zu sein, 
weil die Programmierdiode leuchtete und die Software Erfolg meldete. 
Dummerweise blieben die up aber leer, weil ein anschließender 
blank-check erfolgreich war. Im Datenblatt ist die Programmierspannung 
mit 12,75V angegeben, also habe ich anschließend auch mit 12,8V 
programmiert, aber auch das funktionierte ebensowenig wie die Anhebung 
der Pulsdauer bis 50msec. Dann habe ich einige andere in der 
Programmersoftware enthaltene 87C51-Typen von Intel und Philips 
probiert, und tatsächlich wurden mit dem Typ INTEL 87C51FB (Prog: 
intelligent, 1msec) Daten in den up geschrieben, aber komischerweise 
irgendwelche, die nicht mal annähernd Ähnlichkeit mit meinem bin-file 
hatten. Jetzt weiß ich mir keinen Rat mehr und hoffe sehr, daß mir im 
Forum geholfen wird und vielleicht sogar jemand weiß, was es mit diesem 
seltsamen Phänomen auf sich hat.

Viele Grüße
minitron

von holger (Gast)


Lesenswert?

Du hast nicht zufällig die Lock-Bits gesetzt ?
Dann ist nix mehr mit auslesen.

von Roland H. (minitron)


Lesenswert?

holger wrote:
> Du hast nicht zufällig die Lock-Bits gesetzt ?
> Dann ist nix mehr mit auslesen.

Nein, die habe ich nicht gesetzt. Und selbst wenn, müßte das Programm ja 
in der Schaltung funktionieren, das tut's aber nicht. Alle Ports sind 
high und bleiben es auch.

von holger (Gast)


Lesenswert?

Beim Quickpulse Algo wird nach der Programmierung die zu
programmierende Zelle zurückgelesen. Und zwar nach jedem Byte.
Wenn dein Prommer da Erfolg meldet müsste also eigentlich
auch was drin sein im Chip.

Ob dein Prommer das genau so macht weiss ich natürlich nicht.

Vieleicht liegt es auch an deiner Schaltung.
Der EA Pin muss an VCC liegen damit der Code
aus dem internen Speicher ausgeführt wird.

Mehr kann ich dazu nicht sagen.
Evtl. mal den Programmiersockel reinigen
oder ein Firmwareupdate für den Prommer besorgen.

von Joe (Gast)


Lesenswert?

>> TEMIC TSC87C51-16CA

Dein Programmer kennt exakt diesen Typ ? wenn er dann mißt programmiert 
dann kauf dir nen neuen Programmer.

>> und tatsächlich wurden mit dem Typ INTEL 87C51FB (Prog: intelligent, 1msec) 
Daten in den up geschrieben

Dann solltest du mal in das original Datenblatt sehen, was wird denn 
erwartet ? intelli 1mSec. oder 100mSec ?

von Roland H. (minitron)


Lesenswert?

@holger: leider ist im Chip nichts drin, wenn ich ihn mit den richtigen 
Spezifikationen programmiere. Der Blank-check sagt ok, und ein Blick in 
die map zeigt nur ein leeres Blatt. EA liegt auf high. Für den Prommer 
gibt's leider keine Updates mehr.

@joe: ja, der LP10 kennt tatsächlich diesen Typ (ohne den Suffix 16CA 
allerdings). Die richtige Programmierung laut Datenblatt ist 
Quick-Pulse, 100 usec, aber dann ist im Chip nix drin. Das überlege ich 
mir noch den PL10 wegzuwerfen, weil ich mit dem Teil an sich bisher 
recht zufrieden war und es immerhin mal 2KMark gekostet hat.

von holger (Gast)


Lesenswert?

Ist es eine reine Bin-Datei oder eine HEX-Datei ?
Mit einem Chiplab von Data-IO hatte ich (unlösbare)
Probleme wenn die Adressen in HEX-Dateien nicht aufsteigend
sortiert waren.

von Peter D. (peda)


Lesenswert?

Roland Hutter wrote:

> ich habe etliche angejahrte, aber zum Glück jungfräuliche
> Mikroprozessoren von TEMIC TSC87C51-16CA (OTP-Typ) ergattert

Woher willst Du wissen, daß Dir keiner seinen verprogrammierten Schrott 
angedreht hat ?

Wenn die Lockbits gesetzt sind, liest Du 0xFF, also wie bei einem echt 
leeren MC.


Bei Reichelt kriegst Du nen AT89S51-24PI für 1,25€.


Peter

von Roland H. (minitron)


Lesenswert?

Zuerst habe ich wie gewohnt mit Intel-hex-Format programmiert, und als 
das nicht ging selbiges ins bin-Format konvertiert. Auch das half 
nichts. Außerdem meckert die Software, wenn das Datenformat nicht 
stimmt.

von Roland H. (minitron)


Lesenswert?

@Peter: na ja, einem geschenkten Gaul...Die Dinger stammen von einem 
Bekannten, der bei einem Elektronikladen arbeitet; von daher ist's eher 
unwahrscheinlich, daß die Dinger schon programmiert sind. So ab und an 
misten die ihren Laden wohl mal aus. Selbst wenn die up mit gesetzten 
lockbits programmiert sind, müsste dann aber ein blank-check imho 
negativ ausfallen. So war's zumindest bei etlichen anderen 
Mikroprozessoren der mcs51-Familie.

von Peter D. (peda)


Lesenswert?

Ob der 8051 wirklich blank ist, kannst Du dadurch feststellen, daß Du 
ihn laufen läßt mit 8*4,7k Pullups an P0.

Wenn er leer ist, rennt er durch die internen 4kB 0xFF durch und macht 
dann externe Zugriffe, d.h. P2 zählt aufwärts von 0x10 bis 0xFF, PSEN 
pulst auch.


Peter

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.