Pfad:
Home =>
AVR-Übersicht =>
Anwendungen =>
Laufschrift 16x8 => Design-Software
Laufschrift mit 16*8 LEDs und ATtiny- oder ATmega-Controller
Für das komfortable Entwickeln von Bytefolgen habe ich eine
Lazarus-Software entwickelt, die ".db"-Byte-Listen produziert,
um sie in den Assembler-Quellcode zu bringen, entweder als Include-Dateien
mit .include "dateiname.inc" oder zum Text-Kopieren.
Die Software gibt es hier im
Lazarus-Quellcode, hier als Windows-
64Bit-Executable. Einen ausführbaren Linux-Code kann ich nicht
zur Verfügung stellen, da mein Linux-Lazarus völlig verrückt
herumzickt.
7.1 Starten der Software
Startet man die Software, erscheint dieses Bild. Zu sehen sind von links
nach rechts 16 Nullen: alle Spalten sind Bytes, die unterste Reihe ist Bit 0,
die zweitunterste Bit 1, etc.
Rechts oben steht die Anzahl an schon definierten Bytes (16), links oben
das erste Byte, das angezeigt wird.
7.2 Bearbeiten der Bits
Zum Bearbeiten der Bits kann einfach auf die Bits geklickt werden, sie wechseln
dann von Null auf Eins und wieder zurück. Ein Klick auf einen der
dunkelgrünen Punkte macht aus der Null eine Eins, das Bit erscheint dann
in hellgrün. Alle sichtbaren Bits können so manipuliert werden.
7.3 Farbeinstellung
Durch Klicken auf die beiden kleinen Punkte hinter "0 =" und
"1 =" können die Farben der Null- und Eins-Bits geändert
werden. Hier wurde hellblau für Eins und dunkelblau für Null
gewählt.
Durch Drücken auf den Button "SET" können alle Bits in der
gelb hinterlegten Editierspalte auf Eins gesetzt, das "CLR" unter der
Editierspalte setzt alle auf Null.
Durch Drücken auf die einzelnen Bits der Editierzeile kann jede beliebige
Bitkombination eingestellt werden. Das macht Sinn, wenn man eine bestimmte
Bitkombination mehr als einmal braucht.
7.4 An- und Einfügen von Spalten
Ist beim Kopieren der Editierspalte mit den beiden Linkspfeilen keine Spalte
ausgewählt, dann wird der eingestellte Editierwert als weitere Spalte
rechts angefügt, die Anzahl an gespeicherten Werten wird um Eins
erhöht und die linke Spalte beginnt um einen Wert weiter. Der in der
Editierspalte komponierte Wert wird den bestehenden Werten rechts
hinzugefügt.
Klickt man in den oberen, weißen Bereich einer Spalte, dann wird diese
Spalte zur Bearbeitung ausgewäht und gelb hinterlegt. Die Nummer der
ausgewählten Spalte erscheint auch in dem Editierfeld unter
&quout;nSelected =".
Ein Klick auf den Button mit den beiden Rechtspfeilen links neben der
Editierspalte holt den Inhalt der ausgewählten Spalte in die
Editierspalte, ein Klick auf die beiden Linkspfeile kopiert die
Editierspalte an die ausgewählte Position.
Der Button "Ins" fügt den Editierwert an der ausgewählten
Spalte ein und verschiebt dabei alle schon gespeicherten Werte um eine Position
nach rechts. Die Anzahl gespeicherter Werte erhöht sich dadurch um
Eins.
Zurück- und Vorwärtsblättern der ausgewählten Spalte geht
mit den beiden Buttons links und rechts außen neben dem Eingabefeld. Die
Buttons mit den beiden Aufschriften "==>>" und
"<<==" gehen um acht Positionen vorwärts und
rückwärts. Der Button "CLR" schreibt eine Null in die
Auswahlposition, es ist dann kein Wert mehr ausgewählt.
7.5 Texte einfügen
Damit man nicht zu Fuß alle Pixel eines Textes einzeln entwerfen muss,
gibt es einen Texteinfügemechanismus. In dem Text-Editierfeld können
die Textsequenzen eingegeben werden. Man kann alle ASCII-Zeichen, die deutschen
Umlaute und das ß verwenden. Die beiden Auswahlfelder erlauben es, zwischen
einem f¨nf-mal-acht- und einem sechs-mal-acht-Font zu wählen und die
Anzahl der Leerspalten zwischen den Buchstaben anzugeben.
Wählt man dann noch Spalte aus, ab der die Textausgabe beginnen soll, dann
ist der Knopf "Insert text" aktiv und der Text wird eingefügt.
Illegale Zeichen werden mit einer Meldebox moniert und durch ein Leerzeichen
ersetzt. Die Anzahl der gespeicherten Werte wird entsprechend der Länge
des Textes erhöht. Die Auswahlposition zeigt auf den nächsten Wert.
7.6 Animation und Speichern
Mit der Animation kann man sich das Ergebnis ansehen. Das animierte Fenster kann
beliebig vergrößert und verkleinert werden. Auch die Geschwindigkeit
kann beliebig eingestellt werden, indem man die Verzögerung entsprechend
ändert.
Ist die Serie komplett, kann der Inhalt mit dem "Save"-Button in einer
Datei abgelegt werden. Bevorzugt wären dabei das .inc-Format (so dass die
Datei mit .include "Dateiname.inc" in den Quelltext importiert
werden kann.
Beim Speichern werden der Datei noch acht 0xAA-Bytes hinzugefügt, woran bei
der Anzeigesoftware das Ende der Datei erkannt werden kann.
Umgekehrt können solche Dateien auch eingelesen, erneut bearbeitet und auch
wieder abgespeichert werden. Vorher eingefügte Ende-Kennzeichen können
nach dem Einlesen überschrieben oder auch wieder entfernt werden, indem man
die Anzahl Bytes um acht vermindert. Beim Ändern der Zahl darauf achten, dass
man solange mit "Nein" antwortet, solange man noch an der Zahl
herumdoktert. Sonst ist das Ergebnis von Stunden Arbeit nutzlos dahin.
Die erzeugten Dateien sind Assembler-Quellcode im Textformat, sie können
mit jedem Texteditor bearbeitet werden.
©2022 by http://www.avr-asm-tutorial.net