Dieses Dokument kann unter www.il Troll.de heruntergeladen werden. Seite 1 von 8 Seiten
Der Anschluss einer LC Anzeige an das Testboard TB1 ist bereits vorgesehen, deshalb beschränkt sich das Verbinden der LCD mit dem Testboard lediglich auf das Löten eines Verbindungskabels. Bevor es an das Herstellen des Kabels geht, gestatten Sie bitte noch drei Hinweise zu den Komponenten. 1.) Welche LCD kann an das Testboard angeschlossen werden. An das Testboard TB1 lässt sich jede DOT MATRIX LCD anschließen, die mit dem Controller HD44780, bzw. einem zum HD44780 kompatiblen Controller (z.b. KS0070B) ausgestattet ist. Für die ersten Versuche verwenden Sie bitte eine 2x16 Anzeige. Diese Anzeige verfügt über 2 Zeilen zu je 16 Zeichen. Die Anzeigen gibt es auch mit Hintergrundbeleuchtung. Die Hintergrundbeleuchtung hat aber einen entscheidenden Nachteil, sie benötigt sehr viel Strom. Auf den Fotos oben ist die Vorder und Rückseite einer 2x16 LCD ohne Hintergrundbeleuchtung zu sehen. Die LCD hat deshalb 14 Anschlüsse. Auf den Fotos oben ist die Vorder und Rückseite einer 2x16 LCD mit Hintergrundbeleuchtung zu sehen. Die LCD hat deshalb 16 Anschlüsse. Die beiden Pins der Beleuchtung (Pin 15/16) werden mit der Versorgungsspannung der LCD verbunden (Pin 1 mit Pin 16 und Pin 2 mit Pin 15). Seite 2 von 8 Seiten
2.) Das Flachbandkabel Als Flachbandkabel wurde ein altes Floppy Kabel eingesetzt. Da der Stiftabstand der Leiste auf dem TB1 und auch bei der Kontaktleiste der LCD jeweils 2,54mm beträgt, wird nur jede zweite Ader des Flachbandkabels benutzt. Die zweite Ader wird, wie auf den Bildern zu erkennen, einfach gekürzt. Das Kürzen der Adern und das Abisolieren erfordern etwas Geduld und Fingerfertigkeit. Auf dem Bild ist ein altes Floppykabel zu sehen. Hier sieht man die gekürzten Adern 3.) Die Buchsenleiste Um flexibel zu bleiben empfiehlt es sich, eine 14polige Buchsenleiste zum Anstecken der LCD an das TB1 zu verwenden. So lässt sich die LCD je nach Bedarf mit dem Board verbinden und auch wieder sauber trennen. Die Buchsenleiste lässt sich einfach mit einem Seitenschneider kürzen und mit einem scharfen Messer begradigen. Hier sind zwei verschiedene 20polige Typen der Buchsenleiste zu erkennen. Die untere Leiste hat abgewinckelte Kontakte. Seite 3 von 8 Seiten
Das Verlöten des Kabels mit der Buchsenleiste und der LCD. Zunächst das Flachbandkabel auf die nötige Adernzahl reduzieren (27 Adern). Jede zweite Ader wie auf den Fotos zu sehen kürzen und die längeren Adern abisolieren und mit der LCD, bzw. mit der Buchsenleiste verlöten. Die farblich markierte Ader dient der Orientierung und wird mit Pin 1 verbunden. Die verlötete Buchsenleiste ist hier bereits auf die Stiftleiste K45 des TB1 gesteckt. Die Verbindung des Flachbandkabels mit der LCD sollte so aussehen. Das fertige Ergebnis ist im Bild oben zu sehen. Der Test der LCD wird auf der nächsten Seite beschrieben. Seite 4 von 8 Seiten
Das erste Testprogramm schreibt den Text der Titelseite auf das Display. Falls Sie nach dem Start des Programms keinen Text auf der LCD sehen, verändern Sie bitte als erstes den Kontrast des Display mit dem Regler P41. Der linke Anschlag bedeutet höchsten Kontrast. Falls diese Maßnahme keine Schrift auf das Display bringt, lesen Sie bitte den Hilfetext zu den Befehlen LCDINIT und LCDDELAY und LCDWRITE. Wer die untenstehenden Programme richtig verstehen will, tippt den Programmcode direkt in seinen Rechner. Wers einfacher haben möchte, lädt die drei Programme von der Homepage (lcd.zip). ********************************************************* lcd3.bas 27.09.2005 (c) Wolfram Harth ********************************************************* Beispiel für die Ansteuerung einer 2x16 LCD DEFINE device il_troll wait 100 LCDINIT lcdclear RB,2,16 Der LCD Zeit zum initialisieren lassen LCD initialisieren start: lcdwrite 1,1,"LCD am Troll" lcdwrite 2,1,"Wie geht das?" end Seite 5 von 8 Seiten
Das zweite Programm zeigt etwas Bewegung auf dem Display. Sofort mit dem Start beginnt der Troll mit dem zählen der Betriebszeit (Uptime). ******************************************************************** lcd4.bas 27.09.2005 (c) Wolfram Harth ******************************************************************** Beispiel für die Ansteuerung einer 2x16 LCD Der Troll zählt die Zeit, die seit seinem Programmstart vergangen ist Der Troll zählt die Uptime DEFINE device il_troll Variablendeklaration sekunde=auto as word minute=auto as byte stunde=auto as byte init wait 100 Der LCD Zeit zum initialisieren lassen LCDINIT RB,2,16 LCD initialisieren lcdclear clock sekunde jede Sekunde wird die Variable Sekunde um 1 erhöht Variablen auf Null setzen let sekunde=0 let minute=0 let stunde=0 springe zum Start Subroutinen Hier befinden sich die Unterprogramme min: let sekunde = 0 inc minute std: let minute = 0 inc stunde Programmstart start: if sekunde = 60 then goto min if minute = 60 then goto std lcdwrite 1,1,"Troll Laufzeit" lcdwrite 2,1," ",stunde,":",minute,":",sekunde end Seite 6 von 8 Seiten
Das dritte Programm wurde für diejenigen geschrieben, die mit der Formatierung des Zeitzählers unzufrieden sind. Die Ausgabe der Zeit wurde auf die übliche SS:MM:SS Schreibweise gesetzt. ******************************************************************** lcd5.bas 27.09.2005 (c) Wolfram Harth ******************************************************************** Beispiel für die Ansteuerung einer 2x16 LCD Der Troll zählt die Zeit, die seit seinem Programmstart vergangen ist Der Troll zählt die Uptime Uhr ist jetzt besser formatiert ******************************************************************** Achtung dieses Programm ist etwas aufwändiger Bitte lesen Sie den Hilfetext zu den einzelnen Basicbefehlen, um dieses Programm nachvollziehen zu können. ******************************************************************** DEFINE device il_troll Variablendeklaration sekunde=$20 as word minute=$22 as byte stunde=$23 as byte stde=$30 as byte definiere den Buffer für den Befehl BINTOASC stdz=$31 as byte as as as as mine=$33 minz=$34 seke=$36 sekz=$37 stdz= std zehner, stde=std einer usw... byte byte byte byte init wait 100 LCDINIT RB,2,16 LCDDELAY 10 lcdclear clock sekunde Der LCD Zeit zum initialisieren lassen LCD initialisieren jede Sekunde wird die Variable Sekunde um 1 erhöht Variablen auf Null setzen let sekunde=0 let minute=0 let stunde=0 springe zum Start Seite 7 von 8 Seiten
Subroutinen Hier befinden sich die Unterprogramme min: let sekunde = 0 inc minute std: let minute = 0 inc stunde Programmstart start: if sekunde = 60 then goto min if minute = 60 then goto std conasc sekunde,seke conasc minute,mine conasc stunde,stde entspricht dem Befehl BINTOASC if sekz=$20 then let sekz=$30 if minz=$20 then let minz=$30 if stdz=$20 then let stdz=$30 Um die Funktion zu verstehen, bitte die Zeilen mit auskommentieren lcdwrite 1,1,"Troll Laufzeit" lcdwrite 2,1," ",stdz,#,stde,#,":",minz,#,mine,#,":",sekz,#,seke,# end Seite 8 von 8 Seiten