ESEN oferuje szeroką gamę standardowych modułów LCD znakowych dla zastosowań klientów. Możesz uzyskać wyświetlacz z minimalną liczbą pinów sterujących, co ułatwia wybór MCU.
Popularne moduły Character LCD na rynku dodają płytkę transferową do obsługi interfejsu I2C, jak pokazano na rysunku 1, co prowadzi do zwiększenia grubości LCM, większej liczby procesów w produkcji i niższej wydajności.
![]() |
![]() |
Rysunek 1: Popularny moduł Character LCD na rynku, który dodaje płytkę transferową do obsługi I2C. | Rysunek 2: 1602 znakowy moduł ciekłokrystaliczny ESEN. Obsługuje interfejsy I2C i SPI i nie wymaga dodatkowej płytki transmisyjnej. |
Nie musisz dodawać płytki przekaźnikowej. Wystarczy podłączyć płytkę rozwojową Arduino Uno i możesz bezpośrednio sterować modułem LCD znakowym za pomocą różnych interfejsów komunikacyjnych.
Nr pinu | Symbol | Opis |
---|---|---|
Nr 1 | Vss | Masa |
Nr 2 | Vdd | Zasilanie dla logiki |
Nr 3 | V0 | Regulacja kontrastu |
Nr 4 | RS | Wybór polecenia/danych |
Nr 5 | RW | Sygnał wyboru odczytu/zapisu dla interfejsu 6800 tylko 8/4bit |
Nr 6 | E | Sygnał włączenia dla interfejsu 6800 tylko 8/4bit |
Nr 7 | DB0/SA0 | Linia magistrali danych 0 dla interfejsu 6800 tylko 8bit Linia ustawień adresu SA0 dla interfejsu I2C |
Nr 8 | DB1/SA1 | Linia magistrali danych 1 dla interfejsu 6800 tylko 8bit Linia ustawień adresu SA1 dla interfejsu I2C |
Nr 9 | DB2 | Linia magistrali danych 2 dla interfejsu 6800 tylko 8bit |
Nr 10 | DB3 | Linia magistrali danych 3 dla interfejsu 6800 tylko 8bit |
Nr 11 | DB4 | Linia magistrali danych 4 dla interfejsu 6800 tylko 8/4bit |
Nr 12 | DB5/CSB/CSB | Linia magistrali danych 5 dla interfejsu 6800 tylko 8/4bit Linie wyboru włączenia CSB dla interfejsu I2C i SPI |
Nr 13 | DB6/SDA/SCLK | Linia magistrali danych 6 dla interfejsu 6800 tylko 8/4bit Linia danych SDA dla interfejsu I2C Synchronizacja SCLK dla interfejsu SPI |
Nr 14 | DB7/SCL/SID | Linia magistrali danych 7 dla interfejsu 6800 tylko 8/4bit Linia synchronizacji SCL dla interfejsu I2C Linia danych SID dla interfejsu SPI |
Nr 15 | A+ | Zasilanie dla B/L + |
Nr 16 | K- | Zasilanie dla B/L - |
W odniesieniu do V0 w powyższej tabeli, do regulacji kontrastu znaków używany jest rezystor zmienny 20k Ohm. Jeśli tekst jest niewidoczny lub podczas testu nadal wyświetla obraz tła, obróć ten rezystor zmienny, aby wyregulować kontrast.
Metoda połączenia rezystora zmiennego V0, jak pokazano na rysunku 3:
![]() |
Rysunek 3:Metoda połączenia rezystora zmiennego V0 |
Metody połączeń czterech interfejsów komunikacyjnych LCM (I2C, SPI, 6800 8bit/4bit) z Arduino Uno, jak pokazano na rysunku 4. Użytkownicy mogą zauważyć, że interfejsy I2C i SPI wymagają tylko niewielkiej liczby pinów GPIO do sterowania modułami Character LCD.
Dla interfejsu I2C, ponieważ Arduino Uno zapewnia rezystory podciągające wewnątrz pinów I2C, nie ma dodatkowych rezystorów podciągających podłączonych do pinów SDA i SCL. Jeśli wewnętrzny rezystor podciągający jest wyłączony w programie, należy podłączyć zewnętrzny rezystor podciągający.
(a)Połączenie interfejsu I2C |
(b) Połączenie interfejsu SPI |
![]() |
![]() |
(c)Połączenie interfejsu 6800-4bit |
(d)Połączenie interfejsu 6800-8bit |
![]() |
![]() |
Rysunek 4:Metody połączeń 4 interfejsów komunikacyjnych LCM z Arduino Uno. |
Nie każdy interfejs komunikacyjny może używać pełnego zestawu poleceń LCM; z interfejsem SPI nie ma linii kontrolnej RW i pinów MISO, dlatego polecenie odczytu nie jest obsługiwane. Do zapisu, poprzez linię kontrolną RS, aby określić, czy zapisać dane polecenia, czy wyświetlić dane.
W interfejsie I2C również nie ma linii kontrolnej RW, więc nie ma również obsługi poleceń odczytu. Przed zapisaniem danych polecenia lub wyświetleniem danych, kod kontrolny polecenia (A0=0) lub kod kontrolny danych (A0=1) musi zostać wysłany, aby określić, czy następny bajt, który ma zostać wysłany, to dane polecenia, czy dane wyświetlania.
Dwa diagramy synchronizacji pokazano na rysunku 5 i rysunku 6. Jest to diagram synchronizacji sterowania LCM przez interfejs SPI. Użytkownicy mogą zauważyć, że LCM używa SPI, który nie jest typowym interfejsem SPI dostarczanym przez typowy MCU, wymaga dodatkowej linii sygnału RS, aby określić, czy bieżący wysyłany bajt to polecenie? czy dane? Dane bitowe (BIT7~BIT0) linii danych (SID) zmieniają się, gdy linia zegara (SCLK) jest na niskim poziomie. Dane bitowe (BIT7~BIT0) są przechwytywane, gdy linia zegara (SCLK) jest na wysokim poziomie (BIT7~BIT0).
![]() |
Rysunek 5:Synchronizacja polecenia zapisu SPI |
![]() |
Rysunek 6:Synchronizacja danych zapisu SPI |
Rysunek 7 i 8 pokazują diagram synchronizacji sterowania LCM przez interfejs I2C. Z wyjątkiem paska wyboru układu (CSB), czytelnicy mogą zauważyć, że sterowanie interfejsem I2C polega na wysyłaniu trzech bajtów za każdym razem, aby zapisać dane polecenia lub wyświetlić dane. Wśród nich bit A0 drugiego bajtu określi, czy trzeci bajt to dane polecenia, czy dane wyświetlania.
![]() |
Rysunek 7:Synchronizacja I2C zapisu poleceń |
![]() |
Rysunek 8:Synchronizacja I2C zapisu danych |
LCM można skompilować i użyć bezpośrednio, modyfikując ustawienia programu.
Krok 1: ustaw maksymalną liczbę znaków w jednej linii LCM.
Na przykład, poniżej ustawia się jedną linię na maksymalnie 16 znaków.
Krok 2: ustaw maksymalną liczbę linii w LCM.
Na przykład, poniżej ustawia się LCM na 2 linie.
Krok 3: ustaw interfejs LCM.
Na przykład, poniżej ustawia się interfejs I2C.
Krok 4: skompiluj i prześlij program na płytkę rozwojową Arduino Uno.
Rysunek 9 pokazuje schemat trzech LCM.
Gdy kontrast wyświetlacza jest jasny lub ciemny, rezystor zmienny na pinie V0 można wyregulować do odpowiedniego kontrastu, jak pokazano na rysunku 10.
(a) Jasny kontrast Widoczne są tylko jasne znaki. | (b) Odpowiedni kontrast | (c) Ciemny kontrast Każdy znak ma wyraźny cień. |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Rysunek 9:schemat trzech LCM |
Rysunek 10:pin V0 jest regulowany
Jeśli potrzebujesz pełnego kodu demonstracyjnego, prosimy o skontaktuj się z nami.
Osoba kontaktowa: Mr. james
Tel: 13924613564
Faks: 86-0755-3693-4482