ESEN cung cấp nhiều loại mô-đun LCD ký tự tiêu chuẩn cho các ứng dụng của khách hàng. Bạn có thể đạt được hiển thị với số lượng chân điều khiển tối thiểu, giúp việc chọn MCU dễ dàng hơn.
Các Mô-đun LCD Ký tự phổ biến trên thị trường sẽ thêm một bảng chuyển đổi để hỗ trợ giao diện I2C như hình 1 cho thấy, điều này dẫn đến việc tăng độ dày của LCM, nhiều quy trình hơn trong sản xuất và tỷ lệ sản lượng thấp hơn.
![]() |
![]() |
Hình 1: Mô-đun LCD Ký tự phổ biến trên thị trường có thêm bảng chuyển đổi để hỗ trợ I2C. | Hình 2: Mô-đun tinh thể lỏng ký tự 1602 của ESEN. Nó hỗ trợ các giao diện I2C và SPI và không yêu cầu bảng truyền bổ sung. |
Bạn không cần thêm bảng tiếp sức. Chỉ cần kết nối bảng phát triển Arduino Uno và bạn có thể trực tiếp điều khiển mô-đun LCD ký tự bằng cách sử dụng các giao diện truyền thông khác nhau.
Số chân | Ký hiệu | Mô tả |
---|---|---|
Số 1 | Vss | Đất |
Số 2 | Vdd | Nguồn cung cấp cho logic |
Số 3 | V0 | Điều chỉnh độ tương phản |
Số 4 | RS | Lựa chọn lệnh/dữ liệu |
Số 5 | RW | Đọc/Ghi tín hiệu chọn cho giao diện 6800 chỉ 8/4bit |
Số 6 | E | Bật tín hiệu cho giao diện 6800 chỉ 8/4bit |
Số 7 | DB0/SA0 | Đường bus dữ liệu 0 cho giao diện 6800 chỉ 8bit Đường thiết lập địa chỉ SA0 cho giao diện I2C |
Số 8 | DB1/SA1 | Đường bus dữ liệu 1 cho giao diện 6800 chỉ 8bit Đường thiết lập địa chỉ SA1 cho giao diện I2C |
Số 9 | DB2 | Đường bus dữ liệu 2 cho giao diện 6800 chỉ 8bit |
Số 10 | DB3 | Đường bus dữ liệu 3 cho giao diện 6800 chỉ 8bit |
Số 11 | DB4 | Đường bus dữ liệu 4 cho giao diện 6800 8/4bit chỉ |
Số 12 | DB5/CSB/CSB | Đường bus dữ liệu 5 cho giao diện 6800 8/4bit chỉ Đường chọn bật CSB cho giao diện I2C & SPI |
Số 13 | DB6/SDA/SCLK | Đường bus dữ liệu 6 cho giao diện 6800 8/4bit chỉ Đường dữ liệu SDA cho giao diện I2C Thời gian SCLK cho Giao diện SP |
Số 14 | DB7/SCL/SID | Đường bus dữ liệu 7 cho giao diện 6800 8/4bit chỉ Đường thời gian SCL cho giao diện I2C Đường dữ liệu SID cho giao diện SPI |
Số 15 | A+ | Nguồn cung cấp cho B/L + |
Số 16 | K- | Nguồn cung cấp cho B/L - |
Liên quan đến V0 trong bảng trên, một điện trở biến đổi 20k Ohm được sử dụng để điều chỉnh độ tương phản của các ký tự. Nếu văn bản không hiển thị hoặc nó tiếp tục hiển thị hình ảnh nền trong quá trình kiểm tra, vui lòng xoay điện trở biến đổi này để điều chỉnh độ tương phản.
Phương pháp kết nối điện trở biến đổi V0 như trong Hình 3:
![]() |
Hình 3:Phương pháp kết nối điện trở biến đổi V0 |
Các phương pháp kết nối của bốn giao diện truyền thông LCM (I2C, SPI, 6800 8bit/4bit) với Arduino Uno như trong Hình 4. Người dùng có thể quan sát thấy rằng các giao diện I2C và SPI chỉ cần một số lượng nhỏ chân GPIO để điều khiển các mô-đun LCD Ký tự.
Đối với giao diện I2C, vì Arduino Uno cung cấp các điện trở kéo lên bên trong các chân I2C, không có điện trở kéo lên bổ sung nào được kết nối với các chân SDA và SCL. Nếu điện trở kéo lên bên trong bị vô hiệu hóa trong chương trình, một điện trở kéo lên bên ngoài phải được kết nối.
(a)Kết nối giao diện I2C |
(b) Kết nối giao diện SPI |
![]() |
![]() |
(c)Kết nối giao diện 6800-4bit |
(d)Kết nối giao diện 6800-8bit |
![]() |
![]() |
Hình 4:Các phương pháp kết nối của 4 giao diện truyền thông LCM với Arduino Uno. |
Không phải mọi giao diện truyền thông đều có thể sử dụng toàn bộ bộ lệnh của LCM; với giao diện SPI, không có đường điều khiển RW và chân MISO, do đó, lệnh đọc không được hỗ trợ. Để ghi, thông qua đường điều khiển RS để xác định xem có nên ghi dữ liệu lệnh hay dữ liệu hiển thị.
Trong giao diện I2C, cũng không có đường điều khiển RW nên cũng không có hỗ trợ cho các lệnh đọc. Trước khi ghi dữ liệu lệnh hoặc dữ liệu hiển thị, mã điều khiển lệnh (A0=0) hoặc mã điều khiển dữ liệu (A0=1) phải được gửi để xác định xem byte tiếp theo sẽ gửi là dữ liệu lệnh hay dữ liệu hiển thị.
Hai sơ đồ thời gian được hiển thị trong Hình 5 và Hình 6. Đó là sơ đồ thời gian điều khiển LCM thông qua giao diện SPI. Người dùng có thể quan sát thấy rằng LCM sử dụng một SPI không phải là giao diện SPI điển hình do một MCU điển hình cung cấp, nó yêu cầu một đường tín hiệu RS bổ sung để xác định xem byte hiện tại đang được gửi là một lệnh? hoặc dữ liệu? Dữ liệu bit (BIT7~BIT0) của đường dữ liệu (SID) thay đổi khi đường xung nhịp (SCLK) ở mức thấp. Dữ liệu bit (BIT7~BIT0) được thu thập khi đường xung nhịp (SCLK) ở mức cao (BIT7~BIT0).
![]() |
Hình 5:Thời gian của lệnh ghi SPI |
![]() |
Hình 6:Thời gian của dữ liệu ghi SPI |
Hình 7 và 8 hiển thị sơ đồ thời gian điều khiển LCM thông qua giao diện I2C. Ngoại trừ thanh chọn chip (CSB), người đọc có thể quan sát thấy rằng điều khiển giao diện I2C là gửi ba byte mỗi lần để ghi dữ liệu lệnh hoặc dữ liệu hiển thị. Trong số đó, bit A0 của byte thứ hai sẽ xác định xem byte thứ ba là dữ liệu lệnh hay dữ liệu hiển thị.
![]() |
Hình 7:Thời gian I2C của việc ghi lệnh |
![]() |
Hình 8:Thời gian I2C của việc ghi dữ liệu |
LCM có thể được biên dịch và sử dụng trực tiếp bằng cách sửa đổi các cài đặt chương trình.
Bước 1: đặt số lượng ký tự tối đa trong một dòng của LCM.
Ví dụ, sau đây đặt một dòng có tối đa 16 ký tự.
Bước 2: đặt số lượng dòng tối đa trong LCM.
Ví dụ, sau đây đặt LCM có 2 dòng.
Bước 3: đặt giao diện LCM.
Ví dụ, sau đây đặt giao diện I2C.
Bước 4: biên dịch và tải chương trình lên bảng phát triển Arduino Uno.
Hình 9 hiển thị sơ đồ của màn hình của ba LCM.
Khi độ tương phản hiển thị sáng hoặc tối, điện trở biến đổi tại chân V0 có thể được điều chỉnh thành độ tương phản thích hợp, như trong Hình 10.
(a) Độ tương phản sáng Chỉ có thể nhìn thấy các ký tự sáng. | (b) Độ tương phản thích hợp | (c) Độ tương phản tối Mỗi ký tự có một bóng rõ ràng. |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Hình 9:sơ đồ của màn hình của ba LCM |
Hình 10:chân V0 có thể điều chỉnh
Nếu bạn có nhu cầu về mã demo đầy đủ, vui lòng liên hệ với chúng tôi.
Người liên hệ: Mr. james
Tel: 13924613564
Fax: 86-0755-3693-4482