Forum: Mikrocontroller und Digitale Elektronik Phillips P89C51UBP N


von matze (Gast)


Lesenswert?

Hi ich habe hier einen Philips P89C51UBP N Microcontroller,
und wollt mal Fragen mit was man den Programmiert ?
Flashmagic unterstüzt den leider nicht :/
Hab den aus einen alten 5.1 System geschlachtet.

Gruss

Matze

von Andreas D. (rackandboneman)


Lesenswert?


von Jan W. (wek)


Lesenswert?

The 'U suffix Philips x51 is NOT in-system programmable such as the 'RDx 
suffix ones, so you can't use FlashMagic nor anything other simple 
means.

You would need a really expensive parallel programmer such as 
http://www.elnec.com/products/specialized-programmers/t51prog2/ - and 
there's absolutely no reason to buy that just for one obsolete chip.

JW

von matze (Gast)


Lesenswert?

So ich grab jetzt noch mal meinen alten Thread aus.
Ich hab den CHIP immer noch rumliegen.
Mittlerweile hab ich rausgefunden das man über den EA Pin wohl 
anscheinend bei MCS-51 Controllern den internen ROM deaktiveren kann, so 
das man externen Speicher nutzen kann.
Ob das auch mit den Philips geht ist mir nicht ganz klar, auf jedenfall 
hat er ja den EA Pin auch.
Also pack ich den auf Masse und kann Software aus einen EPROM laden ?

von User (Gast)


Lesenswert?

Wenn das EPROM schnell genug ist oder der uC langsam genug...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du brauchst noch ein Adresslatch, man nimmt normalerweise einen 74HC374 
oder 74HC574, der mit dem ALE Signal gelatcht wird. Die Ausgänge liefern 
dann A0-A7 fürs EPROM.

matze schrieb:
> Also pack ich den auf Masse und kann Software aus einen EPROM laden ?

EA heisst external access und ist genau das. Das Programm wird direkt 
aus dem EPROM abgearbeitet, nicht etwa in den MC runtergeladen.

von matze (Gast)


Lesenswert?

Super,

das müsste dann auch mit den P80C51BH gehen von Intel,
die sind Maskenprogrammiert.
Das heisst die sind dann doch nicht so nutzlos.
Bisher schmorren die beachtungslos in einer kleinen Schachtel.

Danke

Matze

von JoergL (Gast)


Lesenswert?

matze schrieb:
> das müsste dann auch mit den P80C51BH gehen von Intel,

Wenn das Ding einen /EA Pin hat, dann geht das.
Bei mir laufen alle alten 8051er, die ich in der Hand hatte, mit 
externem EEPROM/RAM/Flash (je nach Bedarf). Egal op Philips, Intel, 
Siemens draufsteht.
Suche halt man nach 8051er Schaltplänen. Das Netz ist voll davon!

Schwierig sind nur manche Atmel Flash-8051, hier ist z.T. EA ab Werk 
durch eine Fuse gesperrt, und diese kann nicht per ISP gelöscht werden. 
Hier benötigt man ein Programmiergerät ("parallel Programmer").

Nutzlos sind alte 8051er nie.

von Matze (Gast)


Lesenswert?

Na so ein Flashrom wird 10Mhz schon mit machen, und die alten Cache RAMs 
machen ja auch 33Mhz mit.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Matze schrieb:
> Na so ein Flashrom wird 10Mhz schon mit machen, und die alten Cache RAMs
> machen ja auch 33Mhz mit.

Keine Sorge. Bei diesen MC wird der Oszillator erstmal durch 12 geteilt, 
um die internen Maschinenzyklen zu erzeugen, so das der eigentliche 
Bustakt nur noch Osc/12 ist. Die P89C5X Serie kann man lt. Datenblatt 
bis 33 Mhz takten, so das ein effektiver Bustakt von etwa 2,75 Mhz 
herauskommt - die Zugriffzeit des Eprom ist also irgendwas um die 
~360ns. So langsame Speicher gibts heute gar nicht mehr, du bist mit 
jedem EPROM auf der sicheren Seite.

JoergL schrieb:
> Nutzlos sind alte 8051er nie.

Naja, mir wurde das mit dem Aufkommen der 89S5X Serie mit internem Flash 
schnell zuviel. EPROM brennen, das Adresslatch, EPROM Sockel etc. 
Ausserdem verlierst du ja durch das EPROM anderthalb Ports. Als Ersatz 
für so einen MCS51 würde ich heute vermutlich sogar einen Mega8515 oder 
8535 nehmen, weil die einfach viel flotter sind. Gut, es gab von Winbond 
und TI die WARP Architektur, die dann mit Fosc arbeiten, aber da 
brauchst du wieder spezielle Tools zum Flashen.

: Bearbeitet durch User
von matze (Gast)


Lesenswert?

Naja wenn man alles in der Bastelkiste hat und als Hobby taugts schon 
noch :)
Und es gibt ja noch den 8255 für den Fall der Fälle.
So ist für I/O gesorgt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

matze schrieb:
> Naja wenn man alles in der Bastelkiste hat und als Hobby taugts schon
> noch :)

Das ist wahr. Vor allem in Assembler hat mich MCS51 immer fasziniert, 
ich habe selten einen logischeren und durchdachteren Befehlssatz gesehen 
und sehr viel gelernt. Die 4 Registersätze waren bei Interrupts prima 
und auch die Speicherstruktur hat mir sehr gefallen.
Viele Projekte habe ich mit einem kleinen Entwicklungsplatinchen mit 8k 
EPROM gemacht, wo ein Monitorprogramm drin war und ein 8k StaticRAM, in 
dem man Testsoftware laufen lassen konnte. Das Zeug wurde im RAM 
getestet, bis es richtig lief und dann zum Schluss ins Zielsystem 
gebrannt.
Den Monitor kann ich gerne mal posten, ist aber alles in Assembler.
Edit: Wenn du es bequem haben willst, schau mal nach 'MIDE 51', das ist 
eine nette IDE rund um den MCS51.

: Bearbeitet durch User
von Andreas D. (rackandboneman)


Lesenswert?

Es wird sogar im allgemeinen davon ausgegangen dass als 8031/8032 
verkaufte Chips idR maskenprogrammierte 8051/8052 mit unbrauchbarem 
ROM-Inhalt sind.

von Soul E. (Gast)


Lesenswert?

Andy D. schrieb:

> Es wird sogar im allgemeinen davon ausgegangen dass als 8031/8032
> verkaufte Chips idR maskenprogrammierte 8051/8052 mit unbrauchbarem
> ROM-Inhalt sind.

Das war schon bei den 8039 so. Leider lässt es sich heutzutage schwerer 
beweisen, da die MCS-51 einen Ausleseschutz haben.

Bei den ROM-losen MCS-48 und UPI-42 war es immer interessant zu sehen, 
was da für eine Software drin ist. Meist hat man trotz des kleinen 
Speichers noch eine Copyright-Meldung oder sowas gefunden.

von ... (Gast)


Lesenswert?

> Den Monitor kann ich gerne mal posten, ist aber alles in Assembler.

Au jaaa.

von ... (Gast)


Lesenswert?

> Du brauchst noch ein Adresslatch, man nimmt normalerweise einen 74HC374
> oder 74HC574, der mit dem ALE Signal gelatcht wird. Die Ausgänge liefern
> dann A0-A7 fürs EPROM.

Es gibt auch EPROMs mit integriertem Latch.
Vermutlich extra fuer den 8051...

von matze (Gast)


Lesenswert?

Oder für den 8085..

von Nonsens (Gast)


Lesenswert?

Matthias Sch. schrieb:

> Du brauchst noch ein Adresslatch, man nimmt normalerweise einen 74HC374
> oder 74HC574

Eher den 74xx573, wie auch bei anderen Intel 8-Bittern.

In einem System mit Zilog Z8671 sah ich den 74xx574 als 
Adreßmultiplexer. Im Grunde ist dort nur das Latch-Signal invertiert, 
tut aber die gleiche Funktion.

von matze (Gast)


Lesenswert?

Es gibt doch auch Basic dafür, Basic52 z.B.
Irgendwo gabs auch mal einen Patch damit man seine Programme in einen 
eeprom legen kann.

von Andreas D. (rackandboneman)


Lesenswert?

@matze das bräuchte man wahrscheinlich gar nicht patchen - wenn man aber 
BASIC-Programme im selben EPROM haben will wie den Interpreter muss man 
etwas zusätzlichen Schaltungsaufwand betreiben...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nonsens schrieb:
> Matthias Sch. schrieb:
>
>> Du brauchst noch ein Adresslatch, man nimmt normalerweise einen 74HC374
>> oder 74HC574
>
> Eher den 74xx573, wie auch bei anderen Intel 8-Bittern.

Es gehen beide. (bzw. alle 4, wenn man sich mit der Pinbelegung 
anfreundet). ALE ist so ausgelegt, das sowohl die Latches des 373/573 
als auch die Flipflops des 374/574 die Adresse speichern, wenn die 
Flanke ansteigt, bzw auf high liegt.

... schrieb:
> Es gibt auch EPROMs mit integriertem Latch.

Gibts die noch? Wage ich ja zu bezweifeln. Selbst wenn, muss man erstmal 
einen passenden Brenner finden - wir schreiben 2014.

Fürs AH52 Basic wäre aber ein Flash a là AT89S52 am sinnvollsten, weil 
im externen RAM dann die Programme liegen. Intel schlug mal eine 
Batteriepufferung für XRAM vor, damit die Programme drin bleiben.

von Peter D. (peda)


Lesenswert?

Matthias Sch. schrieb:
> ... schrieb:
>> Es gibt auch EPROMs mit integriertem Latch.
>
> Gibts die noch? Wage ich ja zu bezweifeln.

Davon hatte ich auch einige. Hießen statt 27C256 dann 87C256.

von Peter D. (peda)


Lesenswert?

soul eye schrieb:
> Leider lässt es sich heutzutage schwerer
> beweisen, da die MCS-51 einen Ausleseschutz haben.

Ich hatte mal einige 8031 in den Prommer gesteckt und konnte dann Code 
auslesen, d.h. gültige 8051-Befehle.

von Peter D. (peda)


Lesenswert?

JoergL schrieb:
> Schwierig sind nur manche Atmel Flash-8051, hier ist z.T. EA ab Werk
> durch eine Fuse gesperrt, und diese kann nicht per ISP gelöscht werden.

Welche sollen das sein?

Sind die Lockbits gesetzt, wird EA beim Reset gelatcht. D.h. man kann 
nicht während der Laufzeit EA umschalten, um den internen Code 
auszulesen.

von Nonsens (Gast)


Lesenswert?

Matthias Sch. schrieb:
> Nonsens schrieb:
>> Matthias Sch. schrieb:
>>
>>> Du brauchst noch ein Adresslatch, man nimmt normalerweise einen 74HC374
>>> oder 74HC574
>>
>> Eher den 74xx573, wie auch bei anderen Intel 8-Bittern.
>
> Es gehen beide. (bzw. alle 4, wenn man sich mit der Pinbelegung
> anfreundet). ALE ist so ausgelegt, das sowohl die Latches des 373/573
> als auch die Flipflops des 374/574 die Adresse speichern, wenn die
> Flanke ansteigt, bzw auf high liegt.

Dann habe ich definitiv 8051-er, bei denen ein 74xx574 nicht 
funktioniert, weil ich es schon mal testete. Als da wären:

Original 80C32 von Intel aus dem Jahr 1993, und auch der Siemens 
SAB80C515A.

Ein 573 latcht bei Low-Pegel am Pin 11, ein 574 bei steigender Flanke am 
Pin 11. Glücklicherweise sind aber soweit beide identisch von der 
Pinbelegung.

ALE am 8051 heißt auch Adress Latch Enable, also gib wieder frei, mache 
transparent.

Die steigende Flanke für den 574 käme sehr spät, wenn das EPROM schon 
längst die Daten auf den Bus legen soll, man beachte auch die Diagramme 
und die dazu angegebenen Timings im Datenblatt. Man bringt also das arme 
EPROM in arge Zeitnot.

Bei sehr geringer Taktfrequenz würde es evtl. gehen, aber Quarztakt 
unter 3,5MHz ist wegen des dynamischen Designs von alten 8051 ja nicht 
erlaubt.

In einer I/O-Erweiterungsschaltung am Bus an einem meiner 
Selbstbauschaltungen funktionieren hingegen 573 oder 574, da ist es 
völlig egal, so lange man das Clock-Signal im Ruhezustand immer auf Low 
läßt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nonsens schrieb:
> Die steigende Flanke für den 574 käme sehr spät, wenn das EPROM schon
> längst die Daten auf den Bus legen soll, man beachte auch die Diagramme
> und die dazu angegebenen Timings im Datenblatt.

Ja hast recht, ich hab gerade nochmal das Timing angesehen. Ein 574/374 
würde nur korrekt gehen, wenn man ALE invertiert, ist aber Quatsch und 
zuviel Aufwand. Also wirklich nur den 373/573 nehmen.

: Bearbeitet durch User
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.