Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller AT89S52 flashen


von Juergen B. (jbaben)


Lesenswert?

Hallo,

ich möchte auf dem Mikrocontroller AT89S52 eine Datei (datei.hex) 
übertragen.
Dazu habe ich natürlich viele Informationen auch hier im Forum gefunden, 
leider keine die zu einer Lösung meiner Probleme beigetragen haben.
Ich gehe mal davon aus das der mikrocontroller AT89S52 einen Bootloader 
hat und über die ISP-Schnittstelle (MOSI, MISCO, SCK, RESET) geflasht 
wird.
Mein Interface ist ein „USBASP V2.0", mit einnem 10-poligen Anschluss
Meine Probleme sind:
1. den benötigten  Treiber (usbasp-windriver.2011-05-28.zip 
bzw.USBasp-win-driver-x86-x64-ia64-v1.2.4.zip) für den USBASP unter 
WINDOWS 11 Pro 64 Bit zu installieren
dazu habe ich einen Beitrag „Windows 10 unsignierte Treiber 
installieren“ gefunden.
https://code-bude.net/2015/08/19/windows-10-unsignierte-treiber-installieren/
Hat aber leider nicht funktioniert.

2. die Anschluss-Belegung für den USBASP mit 10-poligen Anschluss
Dazu habe ich zwei verschieden Versionen gefunden:
Meine verwendete Verbindung zum Mikrocontroller
1
USBASP     AT89S52
2
1 MOSI  ------  6 P1.5 (MOSI)
3
2 VCC  ------  40 VCC (+5V)
4
3 
5
4 GND  ------  20 GND
6
5 RESET  ------  9 RST
7
6 GND      
8
7 SCK  ------  8 P1.7 (SCK)
9
8 GND
10
9 MISO  ------  7 P1.6 (MISO)
11
10 GND
3. Anschluss von RESET
Dazu habe ich zwei verschiedene Versionen gefunden:
a: Anschluss eines Widerstandes 10K gegen +5V
b: das Signal RESET vom USBASP über eine Schaltung mit einem 
PNP-Transistor invertieren
Aktuell habe ich die Version „a“ verwendet.

4. als Programmer Software benutze ich „AVRDUDE“ Version  7.1 mit 
Erweiterung von avrdue.conf für die Mikrocontroller AT89S51/52
1
avrdude -c usbasp -p 8052 -U flash:r:test.hex:i
2
avrdude warning: a1 would normally be expected to be a9 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16252]
3
avrdude warning: a0 would normally be expected to be a8 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16252]
4
avrdude warning: mcuid -1 for AT89S51 is out of range [0..2039], use a free number >= 372 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16254]
5
avrdude warning: a1 would normally be expected to be a9 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16310]
6
avrdude warning: a0 would normally be expected to be a8 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16310]
7
avrdude warning: mcuid -1 for AT89S52 is out of range [0..2039], use a free number >= 372 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16312]
8
9
avrdude error: program enable: target does not answer (0x01)
10
avrdude error: initialization failed, rc=-1
11
        - double check the connections and try again
12
        - use -B to set lower ISP clock frequency, e.g. -B 125kHz
13
        - use -F to override this check
14
15
16
avrdude done.  Thank you.

Juergen B.

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


Lesenswert?

Juergen B. schrieb:
> Ich gehe mal davon aus das der mikrocontroller AT89S52 einen Bootloader
> hat und über die ISP-Schnittstelle (MOSI, MISCO, SCK, RESET) geflasht
> wird.

Er hat keinen Bootloader, wenn er fabrikfrisch ist, kann aber über ISP 
geflasht werden. Er unterscheidet sich aber in der Polarität des Reset 
Signals. Bei ihm ist Reset aktiv high, wie bei nahezu allen MCS51 
Derivaten.
Für den USBASP kann ich nicht sprechen, aber mein AVRISP MkII 
programmiert den AT89S52 ohne Probleme und behandelt auch das 
Resetsignal richtig.
Du solltest also mal in der Doku zu deinem USBASP schnüffeln und 
schauen, ob der MC unterstützt wird.

Zum USB Treiberproblem kann ich nicht viel sagen, empfehle dir aber, mal 
auszuprobieren, ob Zadig funktionieren würde:
https://zadig.akeo.ie/

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

Matthias S. schrieb:

> Zum USB Treiberproblem kann ich nicht viel sagen, empfehle dir aber, mal
> auszuprobieren, ob Zadig funktionieren würde:
> https://zadig.akeo.ie/

Dem TO koennte ich "libusbK" empfehlen. Vorteil: Der ist signiert.
Den aktuellen Status von Zadig kenne ich aber nicht.

Ganz frueher™ hatte man einen Kandadongle fuer den Parallelport,
und Treiber dafuer brauchte man auch nicht. :)

von Juergen B. (jbaben)


Lesenswert?

Hallo,
vielen Dank für Eure schnellen Antwort.
Dazu habe ich noch folgendes zu sagen:
1. Den Treiber für den USBASP konnte ich ersteinmal unter WINDOWS7 
installieren.

2. die Signal MOSI,MISO,SCK kann ich aber nicht erkennen (Oszilloscope).
Das Signal "RESET" wird kurz auf "GND" geschaltet.
Test mit:
1
avrdude -c usbasp -p 8052 -U flash:r:blink.hex:i -F
Damit erhalte ich die Meldung:
1
avrdude: error: program enable: target doesn’t answer. 1
2
avrdude. Initialization faild, rc=-1
3
avrdude: AVR device initialized and ready to accept instructions
4
avrdude: Device signature = 0x656570
5
avrdude: Expected signature for AT89S52 is 1E 52 06
Die Signatur für den "AT89S52" in der "avrdude.conf" ist:
1
#------------------------------------------------------------
2
# Below chips by added by me .. Joy Shukla(joy_shukla@yahoo.in)
3
# these chips can be programmed with my usbasp programmer(changed atmega8 program)
4
# after adding avrdude support in this file ..
5
#------------------------------------------------------------
6
7
#------------------------------------------------------------
8
# AT89S52
9
#------------------------------------------------------------
10
part
11
    id               = "8052";
12
    desc             = "AT89S52";
13
    signature        = 0x1E 0x52 0x06;
14
    chip_erase_delay = 20000;
15
    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
16
                       "x x x x  x x x x    x x x x  x x x x";
17
18
    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
19
                       "x x x x  x x x x    x x x x  x x x x";
20
21
    timeout      = 200;
22
    stabdelay      = 100;
23
    cmdexedelay      = 25;
24
    synchloops      = 32;
25
    bytedelay      = 0;
26
    pollindex      = 3;
27
    pollvalue      = 0x53;
28
    predelay      = 1;
29
    postdelay      = 1;
30
    pollmethod      = 0;
31
32
    memory "flash"
33
        size            = 8192;
34
        paged           = no;
35
        min_write_delay = 4000;
36
        max_write_delay = 9000;
37
        readback_p1     = 0xff;
38
        readback_p2     = 0xff;
39
        read            = "  0   0   1   0    0   0   0   0",
40
                          "  x   x   x a12  a11 a10  a9  a8",
41
                          " a7  a6  a5  a4   a3  a2  a1  a0",
42
                          "  o   o   o   o    o   o   o   o";
43
44
        write           = "  0   1   0   0    0   0   0   0",
45
                          "  x   x   x a12  a11 a10  a9  a8",
46
                          " a7  a6  a5  a4   a3  a2  a1  a0",
47
                          "  i   i   i   i    i   i   i   i";
48
   mode      = 0x21;
49
   delay      = 12;
50
      ;
51
52
    memory "signature"
53
        size            = 3;
54
        read            = "0  0  1  0   1  0  0  0   x  x  x  0   0  0 a1 a0",
55
                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
56
      ;
57
  ;
Hier weiss ich leider nicht ob es an dem fehlenden Bootloader oder an 
der Verdrahtung (habe ich nätürlich mehrmals geprüft) liegt.

3. Frage zum Bootloader: "Er hat keinen Bootloader, wenn er fabrikfrisch 
ist, kann aber über ISP geflasht werden"
Wie kann ich denn dann den MC flashen, bzw. wie bekomme ich den 
Bootloader auf den MC ?

Juergen

von H. H. (Gast)


Lesenswert?

Bootloader gibts beim AT89S52 nicht, der kann nur via ISP oder parallel 
programmiert werden, nicht aus einem eigenen Programm heraus.

Und dein Programmer benötigt mindestens eine kleine Hardwaremodifikation 
bzgl des Reset-Pins.

von Juergen B. (jbaben)


Lesenswert?

Hallo,

das mit dem Bootloader ist mir nun klar, deswegen über die 
ISP-Schnittstelle (MOSI,...), anders als beim AT89C51 über die 
Serielle-Schnittstelle (TxD,RxD).

Die Hardwaremodifikation habe ich so verstanden das RESET-Signal vom 
USBASP invertiert werden muss.
Das habe ich mit einem IC 7404 (Hex-Inverter) realisiert, erhalte aber 
die gleichen Fehler-Meldungen.
Oder habe ich das falsch verstanden ?

Juergen

von Michael B. (laberkopp)


Lesenswert?

Juergen B. schrieb:
> das mit dem Bootloader ist mir nun klar,

Für unsere Teletubbi-Generation

https://youtu.be/Zhsktt0S1Fo

von H. H. (Gast)


Lesenswert?

Juergen B. schrieb:
> Oder habe ich das falsch verstanden ?

Richtig verstanden. Dann unterstützt dein Programmer oder die Software 
das eben nicht.
Nimm einen geeigneten Programmer.

von Thomas Z. (usbman)


Lesenswert?

Juergen B. schrieb:
> Das habe ich mit einem IC 7404 (Hex-Inverter) realisiert, erhalte aber
> die gleichen Fehler-Meldungen.

gut dann nur noch:
MOSI -> MISO und
MISO -> MOSI und
CLK  -> CLK verbinden
und natürlich sicherstellen dass die MCU einen Takt hat

von Dieter S. (ds1)


Lesenswert?

Hier funktioniert die Kombination USBASP und AVRDUDE zum Programmieren 
eines AT89S52 ja auch:

http://ernstc.dk/arduino/at89s.html

Wie hier schon geschrieben wurde: Reset invertieren und den Takt für den 
AT89S52 nicht vergessen (Quarz oder externer Takt).

Nachtrag: Laut Datenblatt des AT89S52 kann man Reset zum Programmieren 
wohl auch einfach auf Vcc setzen.

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Dieter S. schrieb:
> Hier funktioniert die Kombination USBASP und AVRDUDE zum Programmieren
> eines AT89S52 ja auch:

Mit welchem USBasp genau?

von Dieter S. (ds1)


Lesenswert?

H. H. schrieb:
>
> Mit welchem USBasp genau?

Allem Anschein nach ein "normaler" USBasp ohne die spezielle Firmware, 
die das Invertieren von Reset selbst erledigt (daher auch der Inverter 
aus Transistor und zwei Widerständen). Wobei man das vermutlich nicht 
braucht wenn man laut Datenblatt Reset fest auf Vcc setzt.

Ich spekuliere einfach mal dass das Problem des TO am fehlenden Takt für 
den AT89S52 liegen könnte.

von Steve van de Grens (roehrmond)


Lesenswert?

Thomas Z. schrieb:
> gut dann nur noch:
> MOSI -> MISO und
> MISO -> MOSI und
> CLK  -> CLK verbinden
> und natürlich sicherstellen dass die MCU einen Takt hat

Und GND -> GND verbinden!

Und den Mikrocontroller mit Strom versorgen.

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Dieter S. schrieb:
> "normaler" USBasp

So wie ein "normales" Auto.

von Motopick (motopick)


Lesenswert?

Dieter S. schrieb:

> Ich spekuliere einfach mal dass das Problem des TO am fehlenden Takt für
> den AT89S52 liegen könnte.

PICs koennen auch ohne Takt ICSP. Sind wohl intelligenter.
Sagt ja auch das Datenblatt: "Peripheral Intelligent Computer".
Aber einen artgerechten Reset moechten sie schon.

So, genug getrollt. :)

Beitrag #7620633 wurde vom Autor gelöscht.
von Ge L. (Gast)


Lesenswert?

Juergen B. schrieb:
> 2. die Signal MOSI,MISO,SCK kann ich aber nicht erkennen (Oszilloscope).

Wenn Du keinerlei Aktivität auf der SPI siehst, wird er kaum irgendwas 
ausgelesen haben. Das hier

> avrdude: AVR device initialized and ready to accept instructions
> avrdude: Device signature = 0x656570

ist dann sicher gelogen. Der Wert stand noch zufällig in irgendeiner 
Variablen drin.

Mit MISO auf Low sollte als Signatur 0x000000 gelesen werden. Und man 
sollte auf MOSI und SCLK Aktivität sehen.  Den Controller brauchst Du 
dafür nicht. Mit MISO auf High sollte 0xFFFFFF geliefert werden. Wenn 
das nicht klappt, ist der Brenner hin oder der Treiber falsch 
installiert.

von Dieter S. (ds1)


Lesenswert?

Soul E. schrieb:
>
>> avrdude: AVR device initialized and ready to accept instructions
>> avrdude: Device signature = 0x656570
>
> ist dann sicher gelogen. Der Wert stand noch zufällig in irgendeiner
> Variablen drin.

Das scheint auch bei den AVRs als Signatur zu kommen wenn etwas beim 
Zugriff auf den Chip schief geht. Man findet einige AVRDUDE Logs mit 
diesem Wert. Woher das "eep" kommt habe ich noch nicht untersucht.

von Dieter S. (ds1)


Angehängte Dateien:

Lesenswert?

Ein Test mit einem AT89S51 und ISP kam bei mir zu unterschiedlichen 
Ergebnissen (AVRDUDE ging nicht, PROGISP hat funktioniert).
Folgendes wurde verwendet:

- ein USBasp Klon mit ATmega8L von 2013 (MX-USBISP V3.01), die Firmware 
ist die unveränderte Version von damals

- ein USBasp Klon mit ATmega8L von 2023 (HW-437), die Firmware ist die 
unveränderte Version

- AVRDUDE 6.3 mit den Ergänzungen für AT89S51 und AT89S52 in der 
"avrdude.conf" Datei

- PROGISP 1.72 von 2010 (läuft auch unter Windows 7)

- Beschaltung zum Programmieren entsprechend dem Datenblatt, allerdings 
mit externem Takt (ca. 14 MHz) anstelle Quarz (Bilder für beide 
Varianten siehe Anhang)

- Reset wurde in unterschiedlichen Varianten beschaltet, siehe weiter 
unten.

Bezüglich Takt bei ISP den Hinweis aus dem Datenblatt beachten: "The 
maximum serial clock (SCK) frequency should be less than 1/16 of the 
crystal frequency"

Ergebnis:

- Bei mir hat AVRDUDE 6.3 mit keinem der USBasp Klons und deren Firmware 
funktioniert, Reset wurde sowohl direkt als auch invertiert mit dem 
USBasp verbunden, zusätzlich auch noch fest auf Vcc gelegt

- PROGISP 1.72 funktioniert mit beiden USBasp Klons problemlos, Reset 
ist direkt mit dem USBasp verbunden

Bei einem der USBasp Klons ist der ATmega8L nicht gelockt und man kann 
die Firmware auslesen. Man sieht schnell dass die Basis dafür eine alte 
Version (noch ohne TPI) der original USBasb Firmware von Thomas Fischl 
ist, mit ein paar kleinen Erweiterungen.

Die entscheidende Erweiterung für den AT89S51/2 ist ein zusätzlicher 
Parameter beim Connect Kommando (USBASP_FUNC_CONNECT), damit kann man 
festlegen dass Reset invertiert wird und bei "Programming Enable" der 
Rückgabewert für AT89S51/2 berücksichtigt wird (der ist anders als bei 
den AVRs).

PROGISP 1.72 verwendet diese Erweiterung, AVRDUDE benutzt sie nicht. Ich 
habe zum Testen auf die Schnelle diesen Parameter in AVRDUDE eingebaut, 
dann würde auch AVRDUDE mit den USBasp Klons und dem AT89S51/2 
funktionieren.

Man findet auch ein paar Änderungen für die USBasp Firmware (z.B. auf 
Github) die automatisch beim Connect den AT89S51/2 erkennen und sich 
dann bezüglich Reset passend verhalten.

Alternativ kann neben dem hier bereits erwähnten AVRISP mkII auch der 
STK500 bzw. AVRISP mit AVR Studio 4 den AT89S51/2 programmieren.

Inwieweit sich alle USBasp Klons so wie beschrieben verhalten weiß ich 
nicht, aber vielleicht einfach mal PROGISP 1.72 ausprobieren.

von Juergen B. (jbaben)


Lesenswert?

Hallo,

vielen vielen Dank für Eure Beiträge. Speziellen Dank an Dieter S. für 
seinen ausführlichen und verständlichen Beitrag.
Mein Problem konnte ich aber noch nicht lösen.
Mein Status ist:
1. Ich konnte auch den Treiber für den USBASP unter WINDOWS 11 
installieren
1
https://alselectro.wordpress.com/2018/06/08/usbasp-how-to-install-driver-on-windows-8-10/ 
2
https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip
2. Als Software habe ich PROGISP V1.72 verwendet
1
http://exploreembedded.com/wiki/images/1/1a/Progisp1.72.rar
3. damit konnte ich den MC AT90S8515 programmieren
Das RESET-Signal vom USBASP ist mit dem RESET-Signal vom MC verbunden.
Interner Takt (Quarz 4Mhz)
4. den MC AT89S52 konnte ich nicht programmieren
Das RESET-Signal vom MC ist über 10K mit Vcc(+5V) verbunden.
Das RESET-Signal invertiert oder direkt verbunden hat auch nicht 
funktioniert.
Interner Takt (Quarz 4+16MHz)
Meldung von PROGISP: "Chip Enable Program Error"
5. der Unterschied zwischen Pkt.4 und 5 ist:
den MC AT90S8515 hatte ich schon mit dem Board STK200 (Parallel 
Interface von Kanda, OS = WINDOWS XP) programmiert.
Der MC AT89S52 ist neu.
6. D.h. für mich das mein USBASP funktioniert, aber nicht für den MC 
AT89S51/52 ausgelegt ist.
Kann ich für den USBASP eine entsprechende Firmware verwenden ?
Die aktuelle Firmware ist: usbasp 2011-05-28.tar.gz --> Atmega8 Firmware 
von:
1
https://www.fischl.de/usbasp/

Juergen

von Dieter S. (ds1)


Angehängte Dateien:

Lesenswert?

Vermutlich wird die Firmware des USBasb nicht die für PROGISP 
erforderliche Funktionalität enthalten.

Falls Dein USBasb auf einem ATmega8L basiert und Du die Möglichkeit hast 
ihn zu progammieren (z.B. mit einem zweiten USBasb) dann kannst Du die 
Firmware im Anhang ausprobieren. Diese stammt aus dem oben beschriebenen 
"USBasp Klon mit ATmega8L von 2023 (HW-437)". Die Fuses dafür sind:

HFUSE=0xc9
LFUSE=0xef

Damit funktioniert bei mir der Zugriff auf den AT89S51 mit PROGISP, 
Reset ist dabei direkt mit dem USBasp verbunden.

von Juergen B. (jbaben)


Lesenswert?

Hallo,
Danke für die Firmware USBASP.
Gestern konnte ich noch die Firmware mit einem ARDUINO UNO uploaden, 
jetzt wird der UNO nicht mehr erkannt.
D.h. ich muss mir ersteinmal einen neuen bestellen (das kann etwas 
dauern).
Ich werde mich dann wieder melden.

Juergen

von Dieter S. (ds1)


Lesenswert?

Der USBasp Klon von hier sollte dem "USBasp Klon mit ATmega8L von 2023 
(HW-437)" entsprechen:

https://www.ebay.de/itm/116067837514

von Juergen B. (jbaben)


Lesenswert?

Hallo,
ich konnte doch noch die neue Firmware auf den USPASP uploaden (anderes 
USB-Kabel für den UNO verwendet).
Kleiner Erfolg: den MC AT89S51/52 kann ich nun löschen (Chip Erase, 
Blank Check = OK).
Auch bei "Verify Signature" erhalte ich keine Meldung.
Problem ist bei "Program FLASH". da erhalte ich auch keine Meldung und 
auch kein Fortschritts-Balken (den grünen).

Juergen

von H. H. (Gast)


Lesenswert?

Doch einen SP200S kaufen, für etwa 10€?

von Dieter S. (ds1)


Lesenswert?

Das Problem beim Programmieren kann ich nicht nachvollziehen. PROGISP 
braucht für ein einfaches "LED Blinken" Testprogramm weniger als eine 
Sekunde zum Schreiben, da taucht nicht mal ein Fortschrittsbalken auf. 
Im Status-Fenster steht dass die Datei geschrieben wurde, Verify bzw. 
Zurücklesen des Flash bestätigt auch dass die richtigen Daten 
geschrieben wurden.

von Juergen B. (jbaben)


Lesenswert?

Hallo,
mit dem richtigen Hex-File für den MC AT89S51/52 kann ich die MC's mit 
dem Programm PROGISP programmieren (mit Fortschrittsbalken).
Mein Fehler: ich hatte zum Test den Hex-File für den MC AT90S8515 
verwendet.
Vielen Dank für Eure Hilfe.
Hier noch einmal die Zusammenfassung:
1. Interface: USBASP mit der Firmware: USBasb_Klon_HW-437_ATmega8.hex 
(bereitgestellt von Dieter S.)
2. Treiber für WINDOWS 10/11 für den USBASP:
1
https://alselectro.wordpress.com/2018/06/08/usbasp-how-to-install-driver-on-windows-8-10/ 
2
https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip
3. Programm PROGISP:
1
http://exploreembedded.com/wiki/images/1/1a/Progisp1.72.rar
4. Schaltung für den MC AT89S51/52:
Interner Takt mit Quarz 16 MHz
1
USBASP          AT89S51/52
2
1 MOSI  ------  6 P1.5 (MOSI)
3
2 VCC  -------  40 VCC (+5V)
4
3 
5
4 GND  -------  20 GND
6
5 RESET  -----  9 RST (mit Elko 10uF an +5V)
7
6 GND      
8
7 SCK  -------  8 P1.7 (SCK)
9
8 GND
10
9 MISO  ------  7 P1.6 (MISO)
11
10 GND
12
                31 +5V

Ich habe aber noch eine Frage zu den "Fuses": wozu werden die verwendet 
?

Juergen

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Juergen B. schrieb:
>
> Ich habe aber noch eine Frage zu den "Fuses": wozu werden die verwendet?

Geht es um die Fuses für den USBasp die ich weiter oben bei der Firmware 
angegeben habe?

Die Fuse Bits legen u.a. fest woher der Takt für den ATmega8 kommt (alle 
Details siehe Datenblatt des ATmega8). Vermutlich werden die Fuses bei 
einem USBasp auf ATmega8 Basis bereits stimmen, falls nicht sollte man 
die entsprechenden Werte einstellen (das sind auch die Werte für die 
USBasb Firmware von Thomas Fischl).

von Juergen B. (jbaben)


Lesenswert?

Hallo,
sorry, meine Frage bezog sich allgemein also auch auf die zu 
programmierenden MC's.

Juergen

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


Lesenswert?

Der AT89S52 hat als einzige 'Fuse' Bits (obwohl sie nicht so bezeichnet 
werden) die drei Memory Lock Bits, die auf verschiedenen Ebenen den 
Zugang zum Programmspeicher verhindern. Sieht Tabelle 17.1 im Atmel 
Datenblatt.

Darin unterscheidet er sich von moderneren MC, wie der AVR8 Serie. Bei 
denen kannste alle möglichen Dinge festsetzen, die schon beim Start 
gelten, wie Oszillator Hardware, Resetvektoren, Startup Zeiten, Memory 
Lockouts usw. Sowas kann man bei den diversen Fuse Kalkulatoren im 
Internet anschauen.

von Juergen B. (jbaben)


Lesenswert?

Hallo,
danke Matthias S., hat mir geholfen.

Juergen

von H. H. (Gast)


Lesenswert?

Eine schwere Geburt, aber Mutter und Kind sind wohlauf.

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.