Experimente mit einem Attiny13 und einem LCD-Modul.
von Hermann Nieder
Beim Experimentieren mit dem Attiny13 fand ich heraus, dass es mit einem einzigen zusätzlichen IC gelingt, ein LCD-Modul anzusteuern, um auf diesem Texte und Ziffern darzustellen, die z. B. von einem PC über die serielle Schnittstelle an den Mikrocontroller gesendet werden.
Ein I2C_Bus-Baustein des Typs PCF 8574, den ich bereits in einem anderen Projekt mit dem Attiny13 verwendet hatte [1], stellte mir dabei die zusätzlich notwendigen Portpins zur Verfügung.
Der Pin RS (Daten/Kommandoumschaltung) des LCD-Moduls ist mit PB1 des Attiny13 verbunden, während Pin E (Enable) an PB0 des Mikrocontrollers angeschlossen ist. Da nur Daten in das LCD-Modul geschrieben werden sollen, ist sein Pin R/ /W mit Masse verbunden, während die Pins D0 ... D7 an die Pins P0 ... P7 des PCF8574 angeschlossen sind.
| Ganzen Artikel lesen... |  |
Als Programmiersprache eignet sich BASCOM AVR. Das Listing erstellte ich in Anlehnung an ein Programmlisting aus einem Fachbuch von Burkhard Kainka zum C-Control/Basic-System [2]. Dies hier ist ein Auszug daraus:
...
Config Sda = Portb.3
Config Scl = Portb.4
E Alias Portb.0 'an Pin E des Displays
Rs Alias Portb.1 'an Pin RS des Displays
Config Portb.0 = Output
Config Portb.1 = Output
Waitms 15
Datenbus = 0
Gosub Lcd_schreiben
Lcd_init:
Reset E
Daten = &H38 'Display wird initialisiert
Gosub Kommando 'Initialisierung, zwei Zeilen
Daten = &H0E 'Display wird eingeschaltet 'Display ein, nicht blinkender Cursor
Gosub Kommando
Daten = 1 'Display löschen
Gosub Kommando
Waitms 200
Pos = 0
Maxpos = 15 'maximal 16 Zeichen darstellen, Wert
Zeile = 0 'von verwendetem Display abhängig.
Do
Get #2 , Daten 'Daten empfangen
If Daten = 13 Then 'und Zeichen darstellen
Gosub Cr
Goto End_lp
End If
...
Kommando: 'Steuerkommandos
Reset Rs
'RW=0, da an GND
Datenbus = Daten
Gosub Lcd_schreiben
Toggle E
Toggle E
Return
Zeichen: 'Zeichendarstellung
'RW=0, da an GND
Set Rs
Datenbus = Daten
Gosub Lcd_schreiben
Toggle E
Toggle E
Pos = Pos + 1
Return
...
Lcd_schreiben:
I2cstart
'Hier ist 64 die feste Adresse des PCF8574.
I2cwbyte 64
I2cwbyte Datenbus ' Auszugebende Daten
I2cstop
Return
Download: Programmlisting T13_I2C_LCD5.bas
Im Bild oben links ist die Platine des Lernpakets Mikrocontroller[3] zu sehen. Über sie ist der Attiny13 mit dem PC verbunden. Der Text auf dem LCD-Modul wurde gerade mit dem Terminal-Programm der Software des o. a. Lernpakets übertragen.
Das dazu passende kleine Display ist bei Pollin [4] erhältlich. Seine Anschlüsse führen an eine 16-polige Präzisions-IC-Fassung, damit die komplette Schaltung auf ein kleines Steckboard passt.
Literatur, Bezugsquellen:
[1] www.elo-web.de, Beitrag „Experimente mit dem Attiny13 und I2C-Ics"
[2] B. Kainka „MSR mit dem C-Control/Basic-System, Franzis Verlag, 1998
[3] B. Kainka „Lernpaket Mikrocontroller", www.franzis.de, 2007
[4] www.pollin.de, LCD-Modul HMC16223SG, Nr. 54-120 545

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen