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