Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Obsługa wyświetlacza LCD z sterownikiem Hitachi HD44780

Wstep do wpisu

Witajcie, na wstępie chciałbym zaznaczyć, że wpis ten powstał, jako ciekawostka. Pokazuje, jak bez zewnętrznej biblioteki wyświetlać znaki na wyświetlaczu LCD zgodnym z sterownikiem HD44780.

Wyswietlacz LCD

Sam wyświetlacz wymyślili Japończycy. Stał się standardem, w którym każda osoba bawiąca się mikrokontrolerami powinna mieć raz w życiu w rękach. Wyświetlacz taki może posłużyć przykładowo do wyświetlenia rezultatu przetwarzania ADC.

Sam wyświetlacz można nabyć w różnych wersjach montażowych. Czasami może zajść potrzeba posiadania lutownicy, aby zlutować wyprowadzenia z goldpinami. Badź w wersji uproszczonej, która jest wlutowana z konwerterem magistrali I2C.

Wyświetlacz ten działa w trybie 8 i 4 bitowym. Tryb 8 bitowy jest bardzo rzadko używany, ze względu na potrzebę zajęcia większej ilości pinów.

Natomiast w trybie 4 bitowym ilość linii potrzebnych do podpięcia wyświetlacza z mikrokontrolerem to 6 lini. Dodatkowo dochodzi jeszcze podpięcie VCC, GND, linia na regulacje kontrastu, wyjscie A i K.

Co potrzebuje?

Istnieją 2 opcje :

  • W zasadzie nic, korzystamy z symulatora w internecie
  • Kupujemy niezbędne podzespoły :
    • wyświetlacz LCD zgodny z sterownikiem HD44780
    • Przewody połączeniowe
    • Mikrokontroler - ATmega z portem I/O na przynajmniej 6 pinów
    • Programator do AVR
    • Rezystory
    • Potencjonometr
    • Kondensatory do filtracji zasilania mikrokontrolera
    • Większa płytka stykowa

Od czego zaczac

Najlepiej jest zacząc od dokumentacji i symulatora w internecie, aby uniknac irytacji podczas pracy na fizycznym sprzęcie.

Na początku trzeba wiedzieć, że wyświetlacz interpretuje liczby binarne, które są reprezentowane poprzez odpowiednie napięcie. Logiczne "zero" stan niski i analogicznie "jedynka" stan wysoki. Stany logiczne mogą być wysyłane poprzez mikrokontroler.

Sterowanie

Wejścia, które nas najbardziej interesują to D4-D7, RS i E. D0-D3 są, jako NC. Używamy trybu 4 bitowego.

Na początku możemy zauważyć, że wyświetlacz jest ustawiony w trybie 8 bitowym. My takiego nie chcemy. W takim razie wysyłamy odpowiednią sekwencję do D4-D7.

E=0, R/W=0, RS=0
D7-D4 = 0010
E=1, E=0

D7-D4 = 0010
E=1, E=0
D7-D4 = 1000
E=1, E=0

Teraz należałoby wykonać polecenie clear uraz ustawić kursor. W tym celu wysyłamy 2 tetrady 0000 0001 oraz następne 0000 1111.

Takim oto sposobem mamy przygotowany nasz wyświetlacz do wpisana różnych znaków.

Aby wiedzieć, jak wpisać znaki na wyświetlaczu należy spojrzeć ponownie w dokumentacje.

Przykładowo jeżeli chcemy napisać literę 'A', na początku ustawiamy RS = 1 następnie wysłamy starszą tetradę : 0100. Następnie młodszą 0001.

Takim o to sposobem nauczyliśmy się obsługi wyświetlacza LCD opartego na sterowniki Hitachi 44780.  

programowanie hobby inne

Komentarze

0 nowych
  #1 03.06.2017 11:57

A teraz połączmy ten wyświetlacz z prostym układem PLC, np. takim:
https://www.dobreprogramy.pl/natch/Automatyka-nie-taki-diabel-straszny-jak-go-ma...
do wyświetlania komend i informacji i mamy początek testowania zapoznawania się z układami PLC.

karol221-10   13 #2 04.06.2017 11:27

Wg mnie o wiele lepsze i szybsze jest zastosowanie bibliotek Arduino niż bawienie się czystą Atmegą i rejestrami. Jest taka fajna biblioteka LiquidCrystal do tego celu.
EDIT: Oczywiście bibliotek Arduino możemy używać także na samej Atmedze :)

Autor edytował komentarz w dniu: 04.06.2017 11:28
reynevan_1   2 #3 04.06.2017 20:57

@karol221-10: Oczywiście, że tak. Nie neguje w żaden sposób użycia gotowych bibliotek. Tak, jak napisałem na wstępie. Wpis ten jest po prostu ciekawostką.

Moim zdaniem warto poznać, to co jest pod spodem. Tak, jak przykładowo Java i bytecode