Programmier-Projekte
Lazarus / Free Pascal
Ronald Daleske

Startseite Programmier-Projekte

Beispielprogramm 01 - z-meic Blinktest

Dieses Beispiel soll die 3 einfach anzusteuernden LEDs blinken lassen (das "Hallo Welt!" der Mikrocontroller-Programmierung).

Diese Blinktests erfordern minimale Hard- und Softwareressourcen. Daher nutze ich den Blinktest (soweit möglich) bei jeder neu entwickelten Leiterplatte.

Für das Brennen (Programmieren) des Microcontrollers wird ein AVR ISP Programmer benötigt.

Dazu ist (außer beim DIAMEX) die Installation des entsprechenden Treibers für den AVR ISP Programmer erforderlich.

Eine "Beschreibung der vom RONPAS-Compiler unterstützten Programmer" ist verfügbar unter:

https://www.daleske.de/projekte/prog/05_RONPAS/10_Programmer/RONPAS_Programmer.htm

1. Vorbereitung und Anschluss der z-meic Hardware

Leiterplatte z-meic mit ATMEGA32A

Für dieses Beispiel ist die vollständige Bestückung (siehe Bild) des z-meic oder die Mindestbestückung (lt. Bestückungsanleitung) erforderlich.

Anschluss der Stromversorgung

Um den ATMEGA32A programmieren zu können, muss das Board mit einer Versorgungsspannung von 5V betrieben werden.

In diesem Beispiel wird einfach ein USB-Serial-Adapter angeschlossen, der die erforderliche Spannung für das z-meic-Board bereitstellt.

Der Treiber für den USB-Serial-Adapter muss für die Bereitstellung der Spannung nicht installiert sein.

Die beiden Jumper J9 (DS3/RXD) und J10 (DS4/TXD) müssen für dieses Beispiel nicht gesteckt sein, da die LEDs für DS3 und DS4 nicht angesteuert werden (im Bild sind sie auf RXD und TXD für die serielle Schnittstelle gesetzt).

Wichtiger Hinweis

Auf die richtige Poolung des Adapters beim Anschluss an das Board achten (GND links, +5V rechts)!

z-meic_Bild_1a

z-meic_Bild_1b

Der letzte Schritt ist der Anschluss des AVR ISP Programmers (hier der mySmartUSB light Programmer).

2. Kompilieren der Beispieldatei

Starten des RONPAS-Compilers.

RONPAS z-meic oeffnen 01

Öffnen einer RONPAS-Quelldatei durch drücken auf den "Datei öffnen"-Button.

RONPAS z-meic oeffnen 02

Öffnen der Datei: "z-meic.PAS"

im Beispielordner: "...\14_Blinken_GN_GE_ok"

RONPAS z-meic kompilieren

Kompilieren der RONPAS-Quelldatei "z-meic.PAS" durch drücken auf den "Kompilieren"-Button.

3. Auswahl des AVR ISP Programmers

Wurde der Treiber für den zu nutzenden AVR ISP Programmer noch nicht installiert, sollte dies nun erfolgen (Link zur Anleitung siehe oben in diesem Beitrag).

Wichtiger Hinweis:

Nach jedem Neustart des RONPAS-Compilers muss der "Kompilieren"-Button betätigt werden, damit die temporären Speicher aktualisiert werden!

Auswahl des AVR ISP Programmers 1

Im Menü des RONPAS-Compilers den "PROMMER"-Button drücken.

Es öffnet sich das Prommer-Formular.

Auswahl des AVR ISP Programmers 2

Ist der zu nutzenden Prommer noch nicht ausgewählt, muss er im Auswahlmenü "PROMMER-Typ" ausgewählt werden.

Damit alle Einstellungen bei Änderung des PROMMER-Typs sauber abgespeichert werden, muss das Prommer-Formular und anschliessend auch der RONPAS-Compiler geschlossen werden.

4. Testen des Prommers

Neustart des RONPAS-Compilers.

Wichtiger Hinweis:

Nach jedem Neustart des RONPAS-Compilers muss der "Kompilieren"-Button betätigt werden, damit die temporären Speicher aktualisiert werden!

Öffnen des Prommer-Formular durch Drücken des "PROMMER"-Buttons.

Testen des Prommers

Durch Drücken des "Lese Signatur"-Buttons wird die Signatur des aktuell angeschlossenen ATMEGAs mit dem im Programm angegebenen "Device" verglichen. Die Signatur des "Device" steht in der Datei "atmega_array.txt" im Unterordner "rp_device" des RONPAS-Compilers (hier Eintrag "SIG=1e9502").

Dieser Test ist eine gute Möglichkeit, die Hard- und Software im Zusammenspiel des ATMEGAs mit dem Programmer zu testen. Es werden keine Veränderungen am Flash oder an den Fuses vorgenommen. Dieser Test kann jederzeit aufgerufen werden.

6. Brennen des Testprogramms

Ist der ATMEGA 32A noch im Originalzustand (davon wird hier ausgegangen), müssen noch einige Fuses verändert werden. Trotzdem kann der ATMEGA 32A für den Blinktest schon programmiert werden.

Brennen des Testprogramms 1

Sind alle bisherigen Punkte abgearbeitet worden, muss nur der "Brennen"-Button betätigt werden. Nach dem Abschluss des Brennvorganges sollten die beiden gelben LED beginnen zu Blinken.

Brennen des Testprogramms 2

Die grüne LED blinkt, wenn die Jumper wie im Bild gesetzt sind.

Brennen des Testprogramms 3

Da die Fuses noch nicht richtig gesetzt wurden, ist die Blinkdauer etwa 7 Sekunden ein und 7 Sekunden aus.

Hinweis:

Die AVR ISP Programmer gehen nach dem Brennen in den hochohmigen Zustand, so dass sie auch während ders Betriebes des z-meic angeschlossen bleiben können.

7. Ändern der Fuses

Für das Setzen und Rücksetzen der Fuses ist der RONPAS-Compiler nicht optimal geeignet. In der Vergangenheit hatte ich hierfür meist das AVR Studio genutzt.

Leider werden unter Windows 10 und AVR Studio 4.18 die meisten Programmer nicht erkannt.

Daher an dieser Stelle die Beschreibung wie das Umprogrammieren der Fuses trotzdem mit dem RONPAS-Compiler gelingen kann.

Im Menü des RONPAS-Compilers den "PROMMER"-Button drücken.

Ändern der Fuses

Im Prommer-Formular den Reiter "HL FUSES" betätigen. Hier kann man die FUSES (des aktuellen ATMEGAs) einsehen.

Zur Kontrolle kann der Button "Lese Fuses" betätigt werden und die Belegung der Fuses wird gelesen und angezeigt.

Bei einem neuen ATMEGA 32A ist die Belegung der Fuses: H-Fuse=99H und L-Fuse=E1H.

Um die Fuses für den z-meic zu ändern, muss nur der Button "Fuses z-meic" betätigt werden und die Fuses werden für den z-meic geändert: H-Fuse=D9H und L-Fuse=FFH.

Da die Fuses unabhängig vom Flash sind, sollten die Leuchtdioden nun im Sekundentakt blinken.


Startseite Programmier-Projekte