ESEN oferuje szeroką gamę standardowych modułów LCD do zastosowań klientów.
Powszechne moduły LCD charakteru na rynku dodają płytę przenośną do obsługi interfejsu I2C, jak pokazano na rysunku 1, co prowadzi do zwiększenia grubości LCM,więcej procesów w produkcji i niższy wskaźnik wydajności.
| Rysunek 1:Powszechny moduł LCD charakteru na rynku, który dodaje płytę transferu do obsługi I2C. | Rysunek 2Moduł płynnych kryształów ESEN o 1602 znakach obsługuje interfejsy I2C i SPI i nie wymaga dodatkowej płyty przesyłowej. |
Nie musisz dodawać tablicy przekaźnika. Po prostu podłącz tablicę rozwojową Arduino Uno, a możesz bezpośrednio kontrolować moduł LCD używając różnych interfejsów komunikacyjnych.
Zidentyfikuj definicję pin LCM
Tabela 1:Definicja pinów LCM
| Numer PIN. | Symbol | Opis |
|---|---|---|
| Nie, nie, nie.1 | Vss | Powierzchnia |
| Nie, nie, nie.2 | Vdd | Zasilanie logiki |
| Nie, nie, nie.3 | V0 | Dostosowanie kontrastu |
| Nie, nie, nie.4 | RS | Wybór polecenia/dane |
| Nie, nie, nie.5 | RW | Wybierz sygnał do odczytu/zapisu tylko dla interfejsu 6800 8/4 bit |
| Nie, nie, nie.6 | E | Włączyć sygnał tylko dla interfejsu 6800 8/4 bitów |
| Nie, nie, nie.7 | DB0/SA0 | Linia łączności danych 0 tylko dla interfejsu 8bit 6800 linia ustawienia adresu SA0 dla interfejsu I2C |
| Nie, nie, nie.8 | DB1/SA1 | Linia przenośnika danych 1 tylko dla interfejsu 8 bitów 6800 linia ustawienia adresu SA1 dla interfejsu I2C |
| Nie, nie, nie.9 | DB2 | Linia autobusu danych 2 dla interfejsu 6800 8bit |
| Nie, nie, nie.10 | DB3 | Linia sieci danych 3 tylko dla interfejsu 8bitowego 6800 |
| Nie, nie, nie.11 | DB4 | Linia autobusu danych 4 dla interfejsu 6800 8/4 bitów |
| Nie, nie, nie.12 | DB5/CSB/CSB | Linia autobusu danych 5 dla interfejsu 6800 8/4 bitów CSB umożliwia wybór linii dla interfejsu I2C i SPI |
| Nie, nie, nie.13 | DB6/SDA/SCLK | Linia autobusu danych 6 tylko dla interfejsu 8/4bitowego 6800 Linia danych SDA dla interfejsu I2C Czas SCLK dla interfejsu SP |
| Nie, nie, nie.14 | DB7/SCL/SID | Linia sieci danych 7 dla interfejsu 6800 8/4 bitów Linia czasu SCL dla interfejsu I2C Linia danych SID dla interfejsu SPI |
| Nie, nie, nie.15 | A+ | Zasilanie dla B/L + |
| Nie, nie, nie.16 | K- | Zasilanie dla B/L - |
W odniesieniu do V0 w powyższej tabeli, do regulacji kontrastu znaków używany jest zmienny rezystor 20k Ohm.Proszę obrócić ten zmienny rezystor, aby regulować kontrast..
Metodę podłączenia zmiennego rezystora V0, jak pokazano na rysunku 3:
| Rysunek 3:Metody podłączenia zmiennego rezystora V0 |
Jak podłączyć LCM i deskę rozwojową Arduino Uno
Metody podłączenia czterech interfejsów komunikacyjnych LCM (I2C, SPI, 6800 8bit/4bit) do Arduino Uno, jak pokazano na rysunku 4.Użytkownicy mogą zauważyć, że interfejsy I2C i SPI potrzebują tylko niewielkiej liczby pinów GPIO do sterowania modułami LCD Character.
W przypadku interfejsu I2C, ponieważ Arduino Uno dostarcza rezystorów pociągających wewnątrz pinów I2C, nie ma dodatkowych rezystorów pociągających podłączonych do pinów SDA i SCL.Jeśli wewnętrzny rezystor pociągu jest wyłączony w programie, musi być podłączony zewnętrzny rezystor pociągowy.
| (a)Połączenie interfejsu I2C | (b)Połączenie interfejsu SPI |
| (c)6800-4-bitowe połączenie interfejsu | (d)6800-8-bitowe połączenie interfejsu |
| Rysunek 4:Metody łączenia 4 interfejsów komunikacyjnych LCM z Arduino Uno. | |
Komendy LCM
Nie każdy interfejs komunikacyjny może używać pełnego zestawu poleceń LCM; przy interfejsie SPI nie ma linii sterowania RW i pinów MISO, dlatego polecenie odczytu nie jest obsługiwane.poprzez linię sterowania RS, aby określić, czy należy pisać dane polecenia, czy wyświetlać dane.
W interfejsie I2C, nie ma również linii sterowania RW, więc nie ma wsparcia dla poleceń do odczytu.kod sterowania poleceniem (A0=0) lub kod sterowania danymi (A0=1) musi zostać wysłany, aby określić, czy następnym bajtem, który ma zostać wysłany, są dane sterowania lub dane wyświetlania.
Wymagania dotyczące interfejsu SPI i I2C
Na rysunku 5 i na rysunku 6 przedstawiono dwa schematy czasowe. Jest to schemat czasowy sterowania LCM za pośrednictwem interfejsu SPI.Użytkownicy mogą zauważyć, że LCM wykorzystuje SPI, który nie jest typowym interfejsem SPI dostarczanym przez typowy MCU, wymaga dodatkowej linii sygnału RS, aby określić, czy bieżący bajt wysyłany jest poleceniem czy danymi.Dane bitów (BIT7~BIT0) linii danych (SID) zmieniają się, gdy linia zegara (SCLK) jest na niskim poziomie. Dane bitów (BIT7~BIT0) są przechwytywane, gdy linia zegara (SCLK) jest na wysokim poziomie (BIT7~BIT0).
| Rysunek 5:Czas wykonania polecenia zapisu SPI |
| Rysunek 6:Czas zapisu danych SPI |
Na rysunku 7 i 8 przedstawiono schemat sterowania LCM za pośrednictwem interfejsu I2C.Czytelnicy mogą zaobserwować, że sterowanie interfejsem I2C jest wysyłać trzy bajty za każdym razem do pisania danych polecenia lub wyświetlania danych. Wśród nich bit A0 drugiego bajta określi, czy trzeci bajt to dane poleceń czy dane wyświetlania.
| Rysunek 7:I2C Czas pisania poleceń |
| Rysunek 8:I2C Czas zapisu danych |
Kod
LCM można kompiliwać i używać bezpośrednio poprzez modyfikację ustawień programu.
Krok 1: ustawić maksymalną liczbę znaków w jednym wierszu LCM.
Na przykład poniższe ustawienia określają, że pojedynczy wiersz ma maksymalnie 16 znaków.
![]()
Krok 2: ustawić maksymalną liczbę wierszy w LCM.
Na przykład poniższe ustawienia określają, że LCM ma 2 linie.
![]()
Krok 3: ustawić interfejs LCM.
Na przykład następujące zestawy interfejsu I2C.
![]()
Krok 4: skompilować i przesłać program na tablicę Arduino Uno.
Na rysunku 9 przedstawiono schematyczny schemat ekranów trzech LCM.
Jeżeli kontrast wyświetlacza jest jasny lub ciemny, zmienny rezystor przy pinie V0 można regulować do odpowiedniego kontrastu, jak pokazano na rysunku 10.
| (a) Kontrast światła Widać tylko jasne znaki. | b) Odpowiedni kontrast | (c) Ciemny kontrast Każdy znak ma oczywisty cień. |
|---|---|---|
| Rysunek 9:schematyczny schemat ekranów trzech LCM | ||
![]()
Rysunek 10:pin V0 jest regulowany
Jeśli chcesz pełny kod demo, skontaktuj się z nami.
Osoba kontaktowa: Mr. james
Tel: 13924613564
Faks: 86-0755-3693-4482