Inhaltsverzeichnis:

Programm 8051 (AT89-Serie) mit Arduino - Gunook
Programm 8051 (AT89-Serie) mit Arduino - Gunook

Video: Programm 8051 (AT89-Serie) mit Arduino - Gunook

Video: Programm 8051 (AT89-Serie) mit Arduino - Gunook
Video: Digital odometer / speedometer, with AT89C2051 Microcontroller project .hex Atmel programmer Arduino 2024, Juli
Anonim
Programm 8051 (AT89-Serie) mit Arduino
Programm 8051 (AT89-Serie) mit Arduino
Programm 8051 (AT89-Serie) mit Arduino
Programm 8051 (AT89-Serie) mit Arduino

Diese Anleitung bietet eine vollständige Lösung zum Programmieren des AT89S51 oder AT89S52 (diese habe ich getestet) mit einem Arduino. In diesem Handbuch sind mehrere Setups enthalten; das einfachste Setup erfordert keine zusätzliche Software außer der Arduino IDE.

Schritt 1: Verdrahten Sie den AT89S52 wie Sie es normalerweise tun würden

Verdrahten Sie den AT89S52 wie gewohnt
Verdrahten Sie den AT89S52 wie gewohnt
Verdrahten Sie den AT89S52 wie gewohnt
Verdrahten Sie den AT89S52 wie gewohnt

Sie können diesen Schritt gerne überspringen, wenn er bereits verkabelt ist.

Was Sie normalerweise benötigen, um ein Mindestsystem für AT89S52 einzurichten:

Für Uhr: 1x Quarzoszillator, weniger als 33Mhz2x Kondensatoren, ca. 33pF, je nachdem, welchen Quarz Sie verwenden

Für die Reset-Schaltung: 1x 10kOhm Widerstand1x 10μF Kondensator

Der Mikrocontroller kann definitiv ohne die Reset-Schaltung laufen, Sie müssen ihn nur nach dem Einschalten manuell zurücksetzen.

Sie können auch eine dieser minimalen Systemplatinen verwenden. Wenn dies der Fall ist, fahren Sie fort und fahren Sie mit dem nächsten Schritt fort.

Schritt 2: Verdrahten Sie den AT89S52 mit dem Arduino

Verdrahten Sie den AT89S52 mit dem Arduino
Verdrahten Sie den AT89S52 mit dem Arduino

Der AT89S52 (auch AT89S51) verwendet SPI als ISP-Protokoll. Es tritt in den ISP-Modus ein, wenn der RST-Pin hochgezogen wird.

Verdrahtung zusätzlich zu Schritt 1: RST-Pin am 8051 an Pin 10 am Arduino; Pin 8 (P1.7) am 8051 an Pin 13 am Arduino (SCK); Pin 7 (P1.6) am 8051 an Pin 12 am Arduino (MISO); Pin 6 (P1.5) am 8051 an Pin 11 am Arduino (MOSI).

Schritt 3: Programmierung mit meiner Software (fahren Sie mit Schritt 4 fort, wenn Sie Avrdude verwenden möchten)

Von hier:

Laden Sie die im Repository enthaltene Skizze hoch und Sie können mit der Programmierung Ihres AT89S51(52) beginnen!

Schritt 4: Programmierung mit Avrdude

Die Arduino IDE wird mit vorinstalliertem Avrdude geliefert. Noch besser, ArduinoISP, das auch mit der IDE geliefert wird, unterstützt AT89S51 (AT89S52).

Laden Sie zuerst die Skizze mit dem Namen "ArduinoISP" auf Ihr Arduino hoch. Den Sketch finden Sie unter "Datei" -> "Beispiele" -> "11. ArduinoISP" in der Arduino IDE.

Anschließend müssen Sie die Konfigurationsdatei von avrdude anpassen, um die Unterstützung für unseren AT89S51(52) zu ermöglichen. Auf dieser Seite können Sie eine bereits modifizierte Konfiguration herunterladen.

Überprüfen Sie Ihre Verkabelung, wenn alles in Ordnung zu sein scheint, führen Sie Folgendes aus:

"C:\Programme (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" -C E:/avrdude8051.conf -c stk500v1 -P COM3 -p 89s51 -b 19200

(Möglicherweise möchten Sie den Pfad zu "avrdude.exe" durch Ihren Installationspfad der Arduino-IDE ersetzen. Ersetzen Sie "COM3" durch den seriellen Portnamen des Arduino, das Sie als Programmierer verwenden. Ersetzen Sie 89s51 durch 89s52, wenn Sie einen AT89S52 haben. Ersetzen Sie "E:/avrdude8051.conf" durch den Pfad zu der gerade heruntergeladenen Konfiguration.)

Schritt 5: Programmierung mit Avrdude (Fortsetzung)

Programmierung mit Avrdude (Fortsetzung)
Programmierung mit Avrdude (Fortsetzung)

Ihr Setup ist korrekt, wenn avrdude die Gerätesignatur korrekt ausgibt.

Um ein Programm hochzuladen, führen Sie den Befehl im vorherigen Schritt mit einer zusätzlichen Option aus:

-U flash:w:IHRPROGRAM. HEX

Führen Sie zur Überprüfung avrdude aus mit:

-U flash:v:IHRPROGRAMM. HEX

Weitere Informationen zur Verwendung von avrdude finden Sie im Handbuch unter:

www.nongnu.org/avrdude/user-manual/avrdude_…

Empfohlen: