Wyświetlacz LCD


Dodatek A
1 Wyświetlacz LCD
1.1 Przeznaczenie i ogólna charakterystyka
Wyświetlacz ciekłokrystaliczny HY-1602F4 zastosowany w ćwiczeniu jest wyświetlaczem
matrycowym zawierającym moduł kontrolera i układ wykonawczy wykonany w technologii
LSI (HD44780), pozwalający wyświetlać znaki alfanumeryczne i symbole graficzne.
Wyświetlacz może współpracować z mikrokomputerem jednoukładowym lub
mikroprocesorem z szyną danych cztero- lub ośmiobitową. Wyświetlacz wyposażony jest
również w wewnÄ™trznÄ… pamięć RAM (80 bajtów) i ROM (która zawiera matryce 5×7
punktów lub 5×10 punktów dekodowanych znaków).
1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Rysunek 1.1. przedstawia schemat blokowy układu wyświetlacza, zaś tabela 1.1 opis
sygnałów wejściowych i wyjściowych.
Tabela 1.1
Nr styku Nazwa Poziom Opis Sygnału
1 VSS - Masa
2 VDD - +5V
3 V0 - Ustawianie kontrastu
4 RS 0/1 0-kod instrukcji
1-dana
5 R/W 0/1 0-wpis danej
1-czytanie danej
6 E 10 impuls zapisu/odczytu
7 DB0 0/1
8 DB1 0/1
9 DB2 0/1
10 DB3 0/1
Linie danych
11 DB4 0/1
12 DB5 0/1
13 DB6 0/1
14 DB7 0/1
15 VLED - Podświetlenie
16 NC - -
1.3 Opis schematu blokowego
Rys. 1.1 przedstawia schemat blokowy wyświetlacza LCD. Jego zasadniczymi blokami
funkcjonalnymi sÄ…:
E RS R/W
DB0..DB3 DB4..DB7
Bufor WE/WY
Flaga Rejestr Rejestr
zajętości (BF) danych (DR) instrukcji (IR)
ROM generatora
Dekoder
znaków
instrukcji
(CG ROM)
Licznik adresów
RAM generatora
(AC)
znaków
RAM danych
(CG RAM)
(DD RAM)
CL1
Sterowanie
CL2
wyświetlaczem
Układ sterowania
LCD
M
kursorem
Układ konwersji danych
16 bitowy rejestr
równoległe szeregowe
przesuwny
40 bitowy rejestr 40 bitowy rejestr Sterowanie Sterowanie sygnałami
przesuwny zatrzaskowy segmentami wspólnymi
D SEG1..SEG6 COM1..COM6
Rys. 1.1 Schemat blokowy wyświetlacza
Rejestr instrukcji IR: rejestr ośmiobitowy przechowujący instrukcje sterujące, informację
o adresach wewnętrznej pamięci danych RAM (DD RAM) oraz pamięci RAM generatora
znaków (CG RAM).
Uwaga: do rejestru IR można jedynie zapisać informację.
- Rejestr danych DR: rejestr ośmiobitowy chwilowo przechowujący dane zapisywane lub
odczytywane do/z DD RAM lub CG RAM. Dane wpisywane do rejestru DR sÄ… automa-
tycznie przepisywane do pamięci danych DD RAM lub pamięci znaków CG RAM przez
operację wewnętrzną. Rejestr DR jest także wykorzystywany do przechowywania danej
podczas operacji czytania danych z pamięci DD RAM lub CG RAM. Po zapisaniu adresu do
rejestru IR dana jest przepisywana do rejestru DR z pamięci DD lub CG przez operację
wewnętrzną. Po odczycie przez MPU danej z rejestru DR, do rejestru DR przesyłana jest
dana z komórki pamięci DD lub CG o adresie zwiększonym o 1. Przy pomocy sygnału RS
dokonywany jest wybór między rejestrem IR i DR.
- Flaga zajętości (BF): kiedy przyjmuje ona wartość "1", wyświetlacz znajduje się w trybie
wykonywania operacji wewnętrznej i następna instrukcja nie będzie zaakceptowana. Jak
pokazuje tabela 1.2, flaga zajętości jest wystawiana jako bit DB7 (dla RS = "0", R/W = "1").
Tabela 1.2
RS R/W E Opis sygnału
IR przepisywany wewnętrzną operacją (kasowanie
0 0
wyświetlacza, itd.)
Czytanie flagi zajętości BF (DB7) i licznika adresów
0 1
(DB6..DB0)
DR przepisywany przez wewnętrzną operację
1 0
(DR do CG lub DD RAM)
DR zapisywany przez wewnętrzną operację
1 1
(CG lub DD RAM do DR)
Następna instrukcja może być wpisana po stwierdzeniu, że BF = "0".
Na rys.1.2. przedstawiono przebiegi czasowe sygnałów sterujących i odpowiedzią układów
wyświetlacza dla przypadku zapisu instrukcji (przypadek dla szyny 8 bitowej).
B - trwa operacja wewnętrzna
NB - zezwolenie na wpis następnej instrukcji
DBi - wpisywane odczytywane dane
R, R/W, E - sygnały sterujące wyświetlaczem
Rys. 1.2. Przykładowy przebieg zapisu instrukcji do wyświetlacza LCD
Pamięć wyświetlanych danych (DD RAM): Pamięć wyświetlanych danych przechowuje
dane w postaci 8-mio bitowych kodów. Jej pojemność wynosi 80×8 bitów (80 znaków).
Ta część pamięci, która nie jest wykorzystywana do wyświetlania może być użyta jako
RAM ogólnego przeznaczenia. Zależność między adresami DD RAM i położeniem
znaku na wyświetlaczu LCD pokazana jest poniżej. Adres DD RAM (ADD) jest
wytwarzany w liczniku adresów (AC) i ma postać binarną.
Pamięć znaków ROM (CG ROM): generator ten wytwarza wzory 5×7 lub 5×10 pikseli
odpowiadające wyświetlanym 8-mio bitowym danym. Wzory znaków dla obydwu typów
reprezentacji podano w tabelach przedstawiających zestawy znaków.
Pamięć znaków RAM (CG RAM): pamięć ta pozwala na zdefiniowanie własnego zestawu
znaków, poprzez wpisanie odpowiednich wzorów 5×7 lub 5×10 pikseli.
Blok sterowania wyświetlaczem LCD: blok ten zawiera 16 wzmacniaczy sterujących
liniami wspólnymi i 40 wzmacniaczy sterujących segmentami. Po wybraniu przez
program generatora znaków i liczby linii znakowych następuje automatyczna selekcja
wzmacniaczy sterujących liniami wspólnymi. Matryce znaków są przesyłane szeregowo
przez rejestr 40- bitowy i zatrzaskiwane po przesłaniu wszystkich znaków. Zatrzaśnięte
dane sterują wzmacniaczem wyjściowym wytwarzającym odpowiedni kształt sygnału.
Blok sterowania kursorem: blok ten wytwarza kursor lub powoduje jego migotanie. Kursor
pojawia się na pozycji wyznaczonej stanem licznika adresów DD RAM. Poniżej
pokazano przykładowe położenie kursora dla stanu licznika 7 heksadecymalnie:
AC6 AC5 AC4 AC3 AC2 AC1 AC0
0 0 1 0 0 0 0
Praca w trybie jednowierszowym
1 2 3 4 5 6 7 8 9 40 - położenie znaku
00 01 02 03 04 05 06 07 08 & . 27 - adres DD RAM
- położenie kursora
Praca w trybie dwuwierszowym
1 2 3 4 5 6 7 8 9 40 - położenie znaku
00 01 02 03 04 05 06 07 08 & . 27 - adres DD RAM
40 41 41 43 44 45 46 47 48 & . 67 - adres DD RAM
Uwaga: adresy DD RAM podane sÄ… w kodzie heksadecymalnym
W wyświetlaczu zastosowanym w Laboratorium dostępne są dwa wiersze po 16 znaków.
Sterownik wyświetlacza zajmuje dwa słowa w pamięci RAM:
0x1F90 COMM_LCD Przy zapisie - adres rejestru instrukcji (IR), przy odczycie
zwraca bajt, zawierający bit flagi zajętości (BF  bit 7) oraz
siedmiobitowy adres pozycji znaku (bity 6..0)
0x1F91 DATA_LCD Adres rejestru danych (DR)
1.4 Programowanie układu wyświetlacza LCD
1.4.1 Inicjalizacja wyświetlacza
Układ wyświetlacza jest automatycznie zerowany po włączeniu zasilania. Poniżej
przedstawiono proces inicjalizacji wyświetlacza:
1) Zerowanie wyświetlacza po włączeniu zasilania (flaga zajętości jest ustawiana w stan
BF= 1 i może być testowana dopiero po wysłaniu pierwszego słowa operacyjnego).
Wpisywanie sekwencji instrukcji wg powyższego schematu jest konieczne
w przypadku szybkiego wysyłania instrukcji programujących (np. w momencie
inicjalizacji systemu mikroprocesorowego).
2) Wysłanie słowa operacyjnego, ustawiającego parametry wyświetlacza
ADRES D7 D6 D5 D4 D3 D2 D1 D0
COMM_LCD 0 0 1 DL N F X X
0 - matryca znaków 5x7 punktów
1 - matryca znaków 5x10 punktów
0 - jeden wiersz znaków
1 - dwa wiersze znaków (tylko dla F=0)
0 - słowo danych: 4 bity
1 - słowo danych: 8 bitów
Uwaga: 1. W przypadku pracy w trybie wyświetlania dwóch linii znakowych, matryca
znaków może skÅ‚adać siÄ™ tylko z 5×7 punktów.
2. Przed wysłaniem każdego kolejnego słowa (danej lub instrukcji) należy
sprawdzać flagę gotowości BF.
3) Wyświetlacz  włączony / wyłączony
ADRES D7 D6 D5 D4 D3 D2 D1 D0
COMM_LCD 0 0 0 0 1 D C B
0 - migotanie kursora wyłączone
1 - migotanie kursora włączone
0 - kursor wyłączony
1 - kursor włączony
0 - wyświetlacz wyłączony
1 - wyświetlacz włączony
4) Zerowanie wyświetlacza
ADRES D7 D6 D5 D4 D3 D2 D1 D0
COMM_LCD 0 0 0 0 0 0 0 1
5) Ustawienie trybu pracy wyświetlacza
ADRES D7 D6 D5 D4 D3 D2 D1 D0
COMM_LCD 0 0 0 0 0 1 I/D S
0 - wpis znaku od lewej strony
1 - wpis znaku od prawej strony
0 - dekrementacja
1 - inkrementacja
Wysłanie tej instrukcji kończy proces inicjalizacji wyświetlacza i umożliwia wpisywanie
wyświetlanych znaków.
1.4.2 Zestaw instrukcji sterujÄ…cych
MPU ma bezpośredni dostęp do Rejestru Instrukcji (IR) oraz Rejestru Danych (DR).
Wewnętrzne operacje w wyświetlaczu LCD określane są sygnałami generowanymi przez
MPU:
- sygnał wyboru rejestrów RS
- sygnał czytaj/pisz R/W
- sygnały szyny danych DB7 - DB6
Sygnały wysyłane do rejestru IR tworzą zestaw instrukcji który został podany w tabeli 1.3.
Podano tam znaczenie poszczególnych bitów:
Tabela 1.3
Uwaga: 1. Zmiana trybu w trakcie pracy nie powoduje zmiany zawartości DDRAM
i CGRAM.
2. Zmiana liczby wierszy wyświetlanych znaków musi być przeprowadzona
poprzez realizację procedury inicjalizacji wyświetlacza.
1.4.3 Definiowanie znaku (dla matrycy 5×7) w tablicy CG RAM
Wyświetlacz LCD umożliwia zdefiniowanie do 8 własnych wzorów znaków dla matrycy
5×7 pikseli i do 4 znaków dla matrycy 5×10 pikseli. Adresy poczÄ…tków definicji znaków
dla matrycy 5×7 sÄ… wielokrotnoÅ›ciÄ… oÅ›miu (np. 00H, 08H, 10H, ...), a dla matrycy 5×10 sÄ…
wielokrotnością szesnastu (np. 00H, 10H, 20H...). Wpisywanie informacji może nastąpić w
dowolnym momencie po wykonaniu procedury inicjalizacji wyświetlacza. Po zakończeniu
definiowania własnych znaków należy wykonać operację ustawienia adresu DD RAM.
Poniżej przedstawiono przykładowy ciąg poleceń dla zdefiniowania znaku litery 'ą'
w formacie 5×7 pikseli, jako znaku o kodzie 1 (adres 8 w pamiÄ™ci CG RAM)..
1) Wpisanie adresu CG RAM
2) Wpisanie danych definiujÄ…cych symbol
Uwaga: Wpisanie danej do CG RAM inkrementuje licznik adresów.
3) Wpisanie adresu DD RAM
Od tej pory zdefiniowany znak 'ą' jest dostępny jako znak o kodzie 01H.
1.4.4 Tablica znaków CG ROM


Wyszukiwarka

Podobne podstrony:
Kurs AVR GCC Wyświetlacz LCD od Nokii310
Termometr cyfrowy z wyświetlaczem LCD
Laboratorium 3 wyświetlacz LCD
Obsługa wyświetlacza Lcd z układem sterowania Hd44780U
Alfanumeryczne wyświetlacze LCD, cz 1
Alfanumeryczne wyświetlacze LCD Cześć 2
Nowe wyswietlacze LCD
Alfanumeryczne wyświetlacze LCD, cz4
wyświetlacz LCD z interfejsem szeregowym
Alfanumeryczne wyświetlacze LCD, cz 2

więcej podobnych podstron