LCD Display

Es gibt viele verschiedene Möglichkeiten ein Standard LCD Display mit einem AVR an zu steuern. Man kann es entweder direkt im 4-Bit oder 8-Bit Modus an den AVR anschließen aber diese Variante frisst ziemlich viele Ressourcen. Daher sind Möglichkeiten gerne gesehen, in dem man nicht so viele I/O Pins des Controllers benötigt.

Eine davon wäre das über ein IC zu machen, dass an den I2C Bus des Controllers angeschlossen wird. Also eine einfache I2C Porterweiterung. Dafür benötigen wir dann nur noch 2 Pins. Diese Möglichkeit hat jedoch zwei entscheidende Nachteile: Der Erste ist, dass man schlicht und einfach nur zwei bestimmte Pins benutzen kann und somit in der Flexibilität sehr eingeschränkt ist. Darüber hinaus ist der Code sehr komplex und nimmt viel Speicherplatz in Anspruch.

Daher bietet sich die Variante über ein Shiftregister wie den 74HC595 sehr an. Bei dieser Methode kann man einfach 4 bzw 3 beliebige Pins verwenden um das Display an zu steuern. Hierzu habe ich mal eine Minimalbeschaltung erstellt:

Allerdings kann mein bei dieser Methode nur auf das Display schreiben da der R/W Pin des LCD einfach auf GND gelegt wird. Aber bisher habe ich noch nicht die Funktion benötigt, den Text den ich sowieso an das Display sende auch wieder aus zu lesen.

 

Software

Die Ansteuerung ist im Prinzip ziemlich einfach. Man muss sich nur mal einen Moment mit der Funktion von Schieberegistern beschäftigen ums zu wissen wie das funktioniert. Dazu gibt es im Netz schon hinreichende Informationen daher werde ich das nicht mehr erläutern.

Als Software verwende ich einfach den leicht modifizierten c-Code von mikrocontroller.net. Bei mir musste ich in der Definition die Pinbelegung minimal ändern. Ich habe einfach Pin 11 und 12 vertauscht. Aber wie man die jetzt genau mit dem AVR verbindet ist ja jedem selbst überlassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.