TLScript Encoder-Programmierung
von Martin Müller
Elektronik-Labor
Projekte
Mikrocontroller
TLScript
Wie beim ersten TPS-Versuch mit nur einer Taste
geht es darum, den Controller auch ohne den PC zu programmieren. Mit
einer erweiterten Firmware habe ich es geschafft, das EEPROM mit
Rotaryencoder und 7-Segment-Anzeige auszulesen und neu zu
beschreiben. Mit einem kurzen Tastendruck gelangt man vom
Hauptprogramm in den Programmiermodus. Durch Drehen des Encoders kann
dann die Adresse eingestellt werden. Hier als Beispiel die
Programmadresse 0x04.

Zum Inhalt der Adresse gelangt man durch Tastendruck auf den
Encoder. Der Befehlsteil (0xE6) kann durch Drehen geändert werden, wenn der
Dezimalpunkt neben der 6 leuchtet.

Ein erneuter Tastendruck lässt den
Dezimalpunkt neben der 5 leuchten. Nun kann durch Drehen auch der
Datenteil geändert werden. Ein erneuter kurzer Tastendruck führt zur
nächsten Programmadresse.

Hält man den Taster länger gedrückt, erlischt die Anzeige, und nur
die vier Dezimalpunkte leuchten. Nach ca. 4 Sekunde erlöschen die auch, die geänderten Daten werden
im EEPROM gespeichert. Nach Loslassen des Tasters ist man dann wieder im Hauptprogramm.

Die Schaltung entspricht den TLScript-Vorgaben:
Es werden nur die 7-Segmentanzeige (mit gemeinsamer Kathode) und der
Rotaryencoder verwendet. Weitere Bauteile sind nicht erforderlich. GPIO
8 und GPIO 9 mit PWM4A und PWM4B bleiben ebenso wie ADC0, ADC1 und ADC2
jederzeit verfügbar. Läuft das Hauptprogramm sind GPIO 10 bis 13 (für
die Kathoden) hochohmig. Digitale Ein- und Ausgaben sollten so auch bei
angeschlossenem Display funktionieren.

Hier ein alternativer Aufbau für ein bestehendes System mit angeschlossenen LEDs.

In einem zweiten Schritt wurde zusätzlich eine Steuerung über drei Tasten eingebaut.
Der weiße Taster entspricht dem Taster des Encoders. Mit den beiden
anderen werden die Werte incrementiert oder decrementiert. Das Programm erkennt eigenständig ob die Eingabe vom Encoder oder
den Tastern kommt und setzt sie korrekt um.
