Herunterladen Diese Seite drucken

Atmel STK500 Bedienungsanleitung Seite 18

Avr-tutorial
Vorschau ausblenden Andere Handbücher für STK500:

Werbung

AVR-Tutorial - 4. LCD - www.mikrocontroller.net
braucht man somit zwei Zugriffe, wobei zuerst das höherwertige "Nibble" (=4 Bits), also Bit 4 bis Bit 7
übertragen wird und dann das niederwertige, also Bit 0 bis Bit 3. Die unteren Datenleitungen des LCDs
legt man einfach auf GND.
Der 4bit-Modus hat den Vorteil, dass man 4 IO-Pins weniger benötigt als beim 8bit-Modus, weshalb ich
mich hier für eine Ansteuerung mit 4bit entschieden habe.
Neben den vier Datenleitungen (DB4, DB5, DB6 und DB7) werden noch die Anschlüsse RS, RW und E
benötigt.
Über RS wird ausgewählt, ob man einen Befehl oder ein Datenbyte an das LCD schicken möchte. Ist
RS Low, dann wird das ankommende Byte als Befehl interpretiert, ist RS high, dann wird das Byte auf
dem LCD angezeigt.
RW legt fest, ob geschrieben oder gelesen werden soll. High bedeutet lesen, low bedeutet schreiben.
Wenn man RW auf lesen einstellt und RS auf Befehl, dann kann man das Busy-Flag lesen, das
anzeigt ob das LCD den vorhergehenden Befehl fertig verarbeitetet hat. Ist RS auf Daten eingestellt,
dann kann man z.B. den Inhalt des Displays lesen - was jedoch nur in den wenigsten Fällen Sinn
macht. Deshalb kann man RW dauerhaft auf low lassen (=an GND anschließen), so dass man noch ein
IO-Pin am Controller einspart. Der Nachteil ist dass man dann das Busy-Flag nicht lesen kann,
weswegen man nach jedem Befehl vorsichtshalber ein paar Mikrosekunden warten sollte um dem LCD
Zeit zum Ausführen des Befehls zu geben.
Anschluß an den Controller
Jetzt da wir wissen welche Anschlüsse des LCDs benötigt werden, können wir das LCD mit dem
Mikrocontroller verbinden:
1
2
3
4
5
6
7
8
9
10 DB3 GND
11 DB4 PD0 am AVR
12 DB5 PD1 am AVR
13 DB6 PD2 am AVR
14 DB7 PD3 am AVR
Ok, alles ist verbunden, wenn man jetzt den Strom einschaltet sollten ein oder zwei schwarze Balken
auf dem Display angezeigt werden. Doch wie bekommt man jetzt die Befehle und Daten in das Display?
Ansteuerung des LCDs im 4bit-Modus
Um ein Byte zu übertragen, muss man es erstmal in die beiden Nibble zerlegen, die getrennt
übertragen werden. Da das obere Nibble (Bit4-Bit7) als erstes übertragen wird, die 4 Datenleitungen
jedoch an die vier unteren Bits des Port D angeschlossen sind, muss man die beiden Nibbles des zu
übertragenden Bytes erstmal vertauschen. Der AVR kennt dazu praktischerweise einen eigenen Befehl:
file:///E|/Elektronik/AVR/assemblertutorial/lcd.htm (2 of 6)30.01.2007 15:23:43
Vss GND
Vcc 5V
Vee GND oder Poti (siehe oben)
RS
PD4 am AVR
RW GND
E
PD5 am AVR
DB0 GND
DB1 GND
DB2 GND

Werbung

loading