lcd do komputera ->LPT i USB<--

Miejsce dobre do dyskusji nad własnymi projektami - pochwal się wszystkim co samodzielnie stworzyłeś.
ODPOWIEDZ
marsoft
-
Posty: 4
Rejestracja: 24 lis 2008, 21:33
Lokalizacja: Zabrze
Kontakt:

lcd do komputera ->LPT i USB<--

Post autor: marsoft » 24 lis 2008, 21:59

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

Zygfryd01
-
Posty: 13
Rejestracja: 19 gru 2008, 11:46
Lokalizacja: Kraków

Post autor: Zygfryd01 » 20 gru 2008, 0:08

A w takim razie co w temacie robi "USB"?
Pozdrawiam

Awatar użytkownika
joon
Użytkownik
Posty: 2076
Rejestracja: 30 cze 2007, 22:56
Lokalizacja: Kraków, Przemyśl, Warszawa
Kontakt:

Post autor: joon » 20 gru 2008, 0:43

Chyba zasila układ...

marsoft
-
Posty: 4
Rejestracja: 24 lis 2008, 21:33
Lokalizacja: Zabrze
Kontakt:

Post autor: marsoft » 20 gru 2008, 18:11

tak usb służy do zasilania,przez port lpt tylko wysyłasz dane które mają być wyświetlone na lcd :smile:

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 02 sty 2009, 18:26

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?

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 02 sty 2009, 18:33

Zapominasz o inicjalizacji kontrolera. Zeby pracował w trybie 4-bitowym musi zostać odpowiednio skonfigurowany. Ogólnie polecam zapoznanie się z dokumentacją sterownika.

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 02 sty 2009, 18:45

Właśnie czytałem dokumentację wyświetlacza. Była tam opisana inicjalizacja i sekwencje sygnałów, ale o trybie czterowbitowym nic tam nie znalazłem.

ODPOWIEDZ