Artykuł ten opisuje w jaki sposób "bit po bicie" sterować wyświetlaczem LCD z popularnym sterownikiem HD44780.
Opis wejść sterujących :
RS :
stan L - do wyświetlacza podany będzie rozkaz,
stan H - do wyświetlacza wysłana zostanie dana,
R/W :
Stan L - zapis do modułu (dana lub rozkaz),
Stan H - odczyt z modułu (dana lub rozkaz),
E :
Stan L - brak zezwolenia,
Stan H - zezwolenie na przepisanie informacji,
LT :
Stan L - podświetlanie wyłączone,
Stan H - podświetlanie włączone,
Jak podłączyć wyświetlacz do portu LPT :
- E podłączamy do pinu 17 złącza LPT.
- RS podłączamy do pinu 1 złącza LPT.
- R/W podłaczamy do masy (pin 25 LPT).
- D0...D7 podłączamy do pinów 2...9 złącza LPT.
Podłączenie R/W do masy spowoduje, że będziemy mieli możliwość tylko wysyłania danych i rozkazów do wyświetlacza.
Aby wysłać rozkaz do wyświetlacza :
Ustawiamy kolejno :
1. E=0 ; RS=0 ; R/W=0,
2. Na szynę D7-D0 podajemy wartość binarną odpowiadającą numerowi rozkazu (patrz tabela),
3. Ustawiając E=1 nastąpi przepisanie rozkazu do sterownika i zarazem wykonanie go.
Aby wysłać daną(znak):
Ustawiamy kolejno :
1. E=0 ; RS=1 ; R/W=0,
2. Na szynę D7-D0 podajemy wartość binarną odpowiadającą określonemu znakowi,
3. Ustawiając E=1 nastąpi przepisanie znaku do sterownika i zarazem wyświetlenie go.
Rozkazy sterujące wyświetlaczem alfanumerycznym LCD :
instrukcja (Dec) : czynność wykonywana :
1 czyści wyświetlacz
2 ustawia wszystko na początku
4 kursor w lewo , napis stoi
5 kursor i napis w lewo
6 kursor w prawo , napis stoi
7 kursor i napis w prawo
8 wyłącza wyświetlacz
12 włącza wyświetlacz
14 włączony wyświetlacz i zwykły kursor
15 włączony wyświetlacz i migający kursor
16 kursor w lewo
20 kursor w prawo
24 napis w lewo
28 napis w prawo
32 4 bity , 1 linia , 5x7
36 4 bity , 1 linia , 5x10
40 4 bity , 2 linie , 5x7
48 8 bitów , 1 linia , 5x7
52 8 bitów , 1 linia , 5x10
56 8 bitów , 2 linie , 5x7
Opis wyprowadzeń modułu LCD :
pin : opis :
1 GND
2 +5 V
3 kontrast
4 RS
5 R/W
6 E
7 D0
8 D1
9 D2
10 D3
11 D4
12 D5
13 D6
14 D7
15 LT
Przykład połączenia modułu LCD do portu LPT w komputerze :
Podłączenie panelu LCD do złącza LPT
Aby wysłać jakieś dane bądź rozkazy z komputera do modułu LCD, przy pomocy układu przedstawionego powyżej, należy do zmiennej 'port'(w jakimś programie-pisanym przez nas) przypisać adres portu, np.:
port = adres portu LPT
port= 378(hex)
Teraz wysyłając rozkaz należy :
- port + 2,9 ; RS=0 , E=0
(czyli wysłać na adres 37A wartość 9)
- port + 2,1 ; RS=0 , E=1
Wysyłając do LCD daną (znak) należy :
port + 2,8 ; RS=1 , E=0
port + 2,2 ; RS=1 , E=1
lcd do komputera ->LPT i USB<--
Mam pytanie... Chciałbym tak dla eksperymentu wyświetlić na lcd-ku 2x16 znaków wyświwtlać jakiś znak bnez jakiejkolwiek elektroniki. to znaczy, żeby do wejść d4-d7 podłączyć sobie przyciski i podobnie do wejść RS i Enable. Oprzedzając pytania typu "po co to i na co to" odpowiadam, że potrzebne mi to w charakterze pokazowym i jako droga do dalszych eksperymentów. Chciałbym tylko zapytać w jaki sposób podać numer znaku na te 4 bity szyny danych (reszta jak w wiekszosci aplikacji podpięta sztywno do masy). Jak to właściwie działa? przecież cztery bity to tylko 16 znak·ów więc stanowczo za mało. A może wysyła się wtedy w jakiś sposób cały bajt "po polowie" za pomocą czterobitowej szyny danych? Jak to działa? Rozumiem, że dla wyswietlenia naku na wyswietlaczu musialbym dokonać w takiej kolejnosci takie czynności:
1)Włączam zasilanie wyswietlacza
2)ustawiam tak, że E=0 ; RS=1 ; R/W=0
3)po wykonaniu poprzedniego podpunktu dane z d4-d7 zostaje wyswietlony znak na wyswietlaczu
Czy gdzieś się mylę? I jak powinny wyglądać dane na d4-d7?
1)Włączam zasilanie wyswietlacza
2)ustawiam tak, że E=0 ; RS=1 ; R/W=0
3)po wykonaniu poprzedniego podpunktu dane z d4-d7 zostaje wyswietlony znak na wyswietlaczu
Czy gdzieś się mylę? I jak powinny wyglądać dane na d4-d7?