In Mikrokontroller Anwendungen werden Texte z.B. für eine Displayausgabe häufig in externen EEProm Bausteinen abgelegt.
Das Programm “TextToEEprom” dient der Erstellung, der Pflege sowie dem Brennen der indizierten Textfiles in ein EEprom des Typs 24cxx. Je nach Anwendung können verschiedene 24cxx EEPromtypen ausgewählt werden. Die Übertragung der Daten kann seriell, direkt durch dem Microkontroller oder mit einem kleinen externen I2C-Brenner dessen Bauanleitung in der beiliegenden Dokumentation zu finden ist erfolgen. Der Bauplan für den Brenner und diverse Beispieleprogramme für die Nutzung mit einem Mikrokontroller sind als Basic Code in der beiliegeneden Hilfe enthalten. Dieser Code kann so auch leicht in beliebige ander Programmiersprachen portiert werden.
Um einen schnellen Zugriff auf die einzelnen Texte zu erhalten, wird jedem Text ein Index zugewiessen. Diese Indizis, die am Anfang des EEproms liegen, referenzieren (ähnlich einem Zeiger) die Startadresse des entsprechenden Textes im Speicherbereich des EEProms.
Im Programm wird nun z.B. von der fünften Speicherstelle des EEProm der Index für den Fünften Text im EEProm geladen und anschließend begonnen den Text Zeichen für Zeichen aus dem EEProm aus zu lesen und auszugeben, bis die Textende Markierung erreicht wird.
Das Textende wird durch einen frei definierbaren Bytewert gekenzeichent, der im Programm definiert werden kann.
Pseudo Code für die Verwendung der EEProm Daten:
Diese Beispiele zeigen, wie eine 24Cxx EEProm direkt mit einem PIC Microkontroller und der serielle Schnittstelle programmiert werden kann. Um ein besseres Verständnis der Funktionsweise zu erreichen, wurden die Programmteile mit vielen Kommentaren versehen. In diesem Beispiel wurde ein PIC 16F877 verwendet. Die Firmware kann mittels Bootloader über die Hardware serielle Schnittstelle des PIC (MAX 232 nötig) und Microcode Studio übertragen werden, dies erlaubt eine schnelle Fehlersuche bzw. Änderung der Software.
Diese Schnittstelle wird ebenfals für das Übertragen der EEprom Daten aus dem Programm TextToEEProm genutzt.
Die Beispielprogramme zeigen das Laden des EEProms mit Daten von der seriellen Schnittstelle, die Funktionsweise einer Textausgabe der mit TextToEEProm erstellten Texte und den Einsatz dieser Texte in einem kleinem Menü, dass über drei Tasten und ein LCD Display gesteuert werden kann.
Pic Basic Code Beispiel:Ladeprogramm für das EEprom (24C32 bzw. 24C64)‘————————[ Texte in das EEProm laden ]————————– ’24C32 10101ddd (4K EEPROM) Adresse im Wordformat TextToEEProm: CONT = %10101000 ADDR = 0 ‚Variable Addr mit null initialisieren READDATA: HSERIN 6000,START,[CHAR] ‚Zeit um die Übertragung zu starten IF CHAR = 251 THEN START ‚End of File Zeichen I2CWRITE SDA,SCL,CONT,ADDR,[CHAR] ‚Daten in das EEProm schreiben PAUSE 10 ’10 ms Brenndauer abwarten I2CREAD SDA,SCL,CONT,ADDR,[CHAR] (Optional bei verwendung von ECHO) HSEROUT [CHAR] ‚Echo zum Sender (Optional bei verwendung von ECHO) ADDR = ADDR + 1 ‚Addresse um eins erhöhen GOTO READDATATextausgabe auf das LCD-Display (EEprom 24C32 bzw. 24C64)‘—————-[ LCD Ausgabe mit Word Pointer H/L ]————————— ’24LC32 4K Bytes %10101ddd (4K EEPROM) Adresse im Wordformat ‚TEXT => Erster Text ab INDEX DiplayOut: ‚Der Index des Textes CONT = %10101000 TEMP_WORD = (TEXT + OFFSET) * 2 ‚*2 Byte (High/Low) I2CREAD SDA,SCL,CONT,TEMP_WORD,[ADDR] ‚I*2 bei Word Pointer, lade Startadresse READCHAR: I2CREAD SDA,SCL,CONT,ADDR,[Char] IF CHAR = 0 THEN RETURN ‚End of Text Zeichen erkannt ADDR = ADDR + 1 ‚Addresse um eins erhöhen LCDOUT CHAR ‚Zeichen in das Display schreiben GOTO READCHARTypischer Programmaufbau für eine Menüführung mit Displayausgabe ‚—————————[ Funktionsmenue ]———————————- ‚******************************** Aktionsmenü ********************************* ‚************************ Untermenüs ******************************************* A1: ‚********************* Aktionen der Untermenüs ********************************* B1: |
Was ist neu
Version 1.22.1 Neu
- Es wurde eine Updatesuche integriert, die es nun ermöglicht, bequem aus der Anwendung heraus nach einen aktuelleren Version dieser Software zu suchen und diese dann direkt herunterzuladen.
Version 1.22.0
- Erweiterung der EEProm Typen