Forum: Mikrocontroller und Digitale Elektronik AT89C51RD2 durch AT89S52 ersetzen


von Janis H. (janis06)


Lesenswert?

Hallo zusammen,

hat jemand eine Ahnung ob ich einen AT89C51RD2 durch einen AT89S52 
ersetzen kann? Sollte ja normalerweise problemlos gehen, da sie 
pinkompatibel sind. Habe das ganze nämlich versucht, aber es will 
einfach nicht funktionieren. Ich kann mein Programm auf den Controller 
laden, aber mein Gerät zeigt mir Mist an...Von der aüßeren Beschaltung 
dürfte sich ja auch nichts ändern!?

Grüße Janis06

von Eumel (Gast)


Lesenswert?

Janis H. schrieb:
> Hallo zusammen,
>
> hat jemand eine Ahnung ob ich einen AT89C51RD2 durch einen AT89S52
> ersetzen kann? Sollte ja normalerweise problemlos gehen, da sie
> pinkompatibel sind. Habe das ganze nämlich versucht, aber es will
> einfach nicht funktionieren. Ich kann mein Programm auf den Controller
> laden, aber mein Gerät zeigt mir Mist an...Von der aüßeren Beschaltung
> dürfte sich ja auch nichts ändern!?
>
> Grüße Janis06

Sind die auch Binärkompatibel? Wohl wahscheinlich nicht.

von Janis H. (janis06)


Lesenswert?

> Sind die auch Binärkompatibel? Wohl wahscheinlich nicht.

Ich habe zwei mal das gleiche Programm geschrieben. Einmal für den C51 
und das andere für den S52.

von Janis H. (janis06)


Lesenswert?

> was verwendest du als taktquelle???

Benutze einen 12 MHz Quarz. Da der AT89S52 bis zu 33 MHz kann, sollte es 
ja schonmal nicht daran liegen

von THaala (Gast)


Lesenswert?

Sicher kann man ein besseres Teil nehmen um einen miderwertigen Typ zu 
erstezen, aber anderherum wird es wohl nicht gehen.

Der RD2 hat z.B. 64kByte Flash, der S52 aber nur 8kByte.
Der RD2 hat internes XRam, der S52 gar keins und so weiter.


RD2:
64K Bytes On-chip Flash Program/Data Memory
– Byte and Page (128 Bytes) Erase and Write
– 100k Write Cycles
•
On-chip 1792 bytes Expanded RAM (XRAM)
– Software Selectable Size (0, 256, 512, 768, 1024,
1792 Bytes)
– 768 Bytes Selected at Reset for T89C51RD2 Compatib
ility


ich glaube - das kannst Du vergessen.

gruß Thilo

von Eumel (Gast)


Lesenswert?

Janis H. schrieb:
> Ich habe zwei mal das gleiche Programm geschrieben. Einmal für den C51
> und das andere für den S52.

Dann hab ich das falsch verstanden. Hatte gedacht du versuchst die 
gleichte Datei in beide zu laden. Nicht für ungut :)

von Peter D. (peda)


Lesenswert?

Janis H. schrieb:
> hat jemand eine Ahnung ob ich einen AT89C51RD2 durch einen AT89S52
> ersetzen kann?

In der Regel nicht.
Der AT89C51RD2 hat vieles mehr, z.B.:
- X2 mode (6 Clocks/machine cycle)
- 64K Bytes On-chip Flash Program/Data Memory
- On-chip 1792 bytes Expanded RAM (XRAM)
- Keyboard Interface
- Serial Port Interface (SPI)
- Programmable Counter Array (PCA)


Peter

von Janis H. (janis06)


Lesenswert?

@THaala: Kommt darauf an was man damit machen möchte denke ich, auch 
wenn ich ein kleines Assembler Programm mit 5 Zeilen schreibe 
funktioniert es nicht. Also sollte es an den 8KByte Flash nicht liegen.


> Dann hab ich das falsch verstanden. Hatte gedacht du versuchst die
> gleichte Datei in beide zu laden. Nicht für ungut :)

Nein soweit habe ich dann ausnahmsweise doch gedacht ;)

von Peter D. (peda)


Lesenswert?

Wenn Du die Zusatzfeatures nicht nutzt, muß es gehen.

von Janis H. (janis06)


Lesenswert?

> Wenn Du die Zusatzfeatures nicht nutzt, muß es gehen.

Ja im Normalfall schon. Ich werde mal noch ein bisschen rumprobieren ;)

Hast gerade selbst gemerkt dass man den AT89S52 nicht mit Flip 
programmieren kann?^^

von THaala (Gast)


Lesenswert?

Wie steht es mit der Versorgungsspannung ?

At89C51Rd2 : 2,7 V - 5,5 V
AT89S52 : 4,5V - 5,5V

Gruß Thilo

von Janis H. (janis06)


Lesenswert?

> Wie steht es mit der Versorgungsspannung ?


Hängt an 5V. Also passt für beide.

von Ralph S. (jjflash)


Lesenswert?

... wenn der "kleinste gemeinsame" Nenner der beiden Controller 
verwendet wird, sollte der Code der in einem S52 läuft auch in einem RD2 
laufen.

Umgekehrt hängt es davon ab, welche interne Zusatzhardware verwendet 
wird (oder auch nicht)...

Der S52 besitzt in der inneren Hardware prinzipiell nur die Funktionen 
eines 80C52.

Wenn also Code geschrieben wurde, der auch auf einem S52 laufen müßte, 
wird wohl der Controller selbst falsch geflasht worden sein.

Der S52 kann definitiv nicht über Atmel's Flip programmiert werden !!!!!

Ich kann mich täuschen, aber meines Wissens kann an den S52 maximal ein 
24MHz Quarz angeschaltet werden (und nicht ein 33 MHz Quarz)... 
allerdings :-) hast du ja nur einen 12er verwendet.

Zum Flashen:

Ich hatte versucht, mit einem ISP-Programmer der für die AVR-Serie 
gedacht ist, einen S52er zu flashen (es stand im Handbüchchen dass das 
gehen sollte) ... Ging allerdings nicht, weil die scheinbar in der 
Firmware des ISP-Sticks die Resetleitung falsch programmiert hatten 
(weil ein Reset bei der AVR Familie mit einer 0 ausgelöst wird, bei 
einem S52 aber mit einer 1).

Das Problem war also schlicht das Flashen eines S52 Controllers.

Es ist bei einem S52 zwingend ein ISP-Programmer oder ein 
Parallelprogrammer notwendig, um den Code in den Controller zu bekommen.

Einen Bootloader wie der RD2 besitzt der S52 nicht .....

von Ralf (Gast)


Lesenswert?

Wie programmierst du den S52?

Ralf

von THaala (Gast)


Lesenswert?

Warum willst du das eigentlich machen ?
Ich habe noch ein oder zwei 89C51RD2 hier im plcc44-gewand.

Sind allerdings von Phillips. Ja.... Phillips war zu der Zeit noch nicht 
NXP :-)

Gruß Thilo

von Ralph S. (jjflash)


Lesenswert?

Ralf schrieb:
> Wie programmierst du den S52?
>
> Ralf

War diese Frage an mich gerichtet ?

Ich verwende hierfür einen Eigenbau-ISP-Flasher für die Controller:

S51
S52
S8253
S2051
S4051

... weil der Parallelportprogrammer von Atmel nun wirklich absolut nicht 
mehr "State of the art" ist... auch wenn ihn R***** immer noch verkauft 
!

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.