ESEN cung cấp một loạt các mô-đun LCD nhân vậ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 pin điều khiển tối thiểu, giúp dễ dàng chọn MCU.
Các mô-đun LCD Character phổ biến trên thị trường sẽ thêm một bảng chuyển để hỗ trợ giao diện I2C như hình 1 cho thấy, dẫn đến sự gia tăng độ dày LCM,nhiều quá trình trong sản xuất và tỷ lệ năng suất thấp hơn.
| Hình 1:Các mô-đun LCD Character phổ biến trên thị trường thêm một bảng chuyển để hỗ trợ I2C. | Hình 2: 1602 ký tự mô-đun tinh thể lỏng của ESEN. Nó hỗ trợ giao diện I2C và SPI và không yêu cầu một bảng truyền dẫn bổ sung. |
Bạn không cần phải thêm một bảng chuyển tiếp. 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 nhân vật sử dụng các giao diện truyền thông khác nhau.
Xác định pin của LCM
Bảng 1:Định nghĩa chân LCM
| Mã số. | Biểu tượng | Mô tả |
|---|---|---|
| Không, không.1 | Vss | Đất |
| Không, không.2 | Vdd | Nguồn cung cấp năng lượng cho logic |
| Không, không.3 | V0 | Điều chỉnh độ tương phản |
| Không, không.4 | RS | Lựa chọn lệnh/dữ liệu |
| Không, không.5 | RW | Đọc / ghi chỉ chọn tín hiệu cho giao diện 6800 8/4bit |
| Không, không.6 | E | Cho phép tín hiệu chỉ cho giao diện 6800 8/4bit |
| Không, không.7 | DB0/SA0 | Dòng xe buýt dữ liệu 0 chỉ cho giao diện 8 bit 6800 Đường cài đặt địa chỉ SA0 cho giao diện I2C |
| Không, không.8 | DB1/SA1 | Dòng bus dữ liệu 1 chỉ cho giao diện 8 bit 6800 Đường cài đặt địa chỉ SA1 cho giao diện I2C |
| Không, không.9 | DB2 | Dòng bus dữ liệu 2 chỉ cho giao diện 8 bit 6800 |
| Không, không.10 | DB3 | Dòng bus dữ liệu 3 chỉ cho giao diện 8 bit 6800 |
| Không, không.11 | DB4 | Dòng bus dữ liệu 4 chỉ cho giao diện 8/4bit 6800 |
| Không, không.12 | DB5/CSB/CSB | Dòng bus dữ liệu 5 chỉ cho giao diện 8/4bit 6800 CSB cho phép các dòng lựa chọn cho giao diện I2C & SPI |
| Không, không.13 | DB6/SDA/SCLK | Dòng bus dữ liệu 6 chỉ cho giao diện 8/4bit 6800 Dòng dữ liệu SDA cho giao diện I2C Thời gian SCLK cho SP Interface |
| Không, không.14 | DB7/SCL/SID | Dòng bus dữ liệu 7 chỉ cho giao diện 8/4bit 6800 Dòng thời gian SCL cho giao diện I2C Dòng dữ liệu SID cho giao diện SPI |
| Không, không.15 | A+ | Nguồn cung cấp điện cho B/L + |
| Không, không.16 | K- | Nguồn điện cho B/L - |
Đối với V0 trong bảng trên, một kháng cự biến thể 20k Ohm được sử dụng để điều chỉnh độ tương phản của các ký tự.xin vui lòng xoay kháng cự biến đổi này để điều chỉnh độ tương phản.
Phương pháp kết nối của điện trở biến động V0 như trong hình 3:
| Hình 3:Phương pháp kết nối kháng cự biến động V0 |
Làm thế nào để kết nối LCM và bảng phát triển Arduino Uno
Các phương pháp kết nối của bốn giao diện liên lạc LCM (I2C, SPI, 6800 8bit/4bit) với Arduino Uno như được hiển thị 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ỏ các chân GPIO để điều khiển các mô-đun LCD Character.
Đối với giao diện I2C, vì Arduino Uno cung cấp các kháng cự kéo lên bên trong các chân I2C, không có kháng cự kéo lên bổ sung được kết nối với chân SDA và SCL.Nếu kháng cự kéo lên bên trong bị vô hiệu hóa trong chương trình, một kháng cự 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:Phương pháp kết nối 4 giao diện liên lạc LCM với Arduino Uno. | |
Các lệnh LCM
Không phải tất cả các giao diện giao tiếp đều có thể sử dụng bộ lệnh đầy đủ 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ợ.thông qua dòng điều khiển RS để xác định xem phải ghi dữ liệu lệnh hoặc hiển thị dữ liệu.
Trong giao diện I2C, cũng không có dòng điều khiển RW vì vậy không có hỗ trợ cho các lệnh đọc.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 được gửi là dữ liệu lệnh hay dữ liệu hiển thị.
Thời gian giao diện SPI và I2C
Hai sơ đồ thời gian được hiển thị trong hình 5 và hình 6. Đây 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 được cung cấp bởi một MCU điển hình, nó đòi hỏi một dò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 hay dữ liệu?Dữ liệu bit (BIT7 ~ BIT0) của đường dữ liệu (SID) thay đổi khi đường đồng hồ (SCLK) ở mức thấpDữ liệu bit (BIT7~BIT0) được ghi lại khi đường đồng hồ (SCLK) ở mức cao (BIT7~BIT0).
| Hình 5:Thời gian của lệnh ghi SPI |
| Hình 6:Thời gian ghi dữ liệu SPI |
Hình 7 và 8 cho thấy sơ đồ thời gian điều khiển LCM thông qua giao diện I2C.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 để viết một lệnh dữ liệu hoặc hiển thị dữ liệuTrong số đó, bit A0 của byte thứ hai sẽ xác định liệu byte thứ ba là dữ liệu lệnh hay dữ liệu hiển thị.
| Hình 7:I2C Thời gian ghi lệnh |
| Hình 8:I2C Thời gian ghi dữ liệu |
Mã
LCM có thể được biên dịch và sử dụng trực tiếp bằng cách sửa đổi cài đặt chương trình.
Bước 1: đặt số ký tự tối đa trong một dòng LCM.
Ví dụ, sau đây thiết lập một dòng duy nhất có tối đa 16 ký tự.
![]()
Bước 2: thiết lập số lượng hàng tối đa trong LCM.
Ví dụ, sau đây đặt LCM có 2 dòng.
![]()
Bước 3: thiết lập giao diện LCM.
Ví dụ, các thiết lập I2C sau đây.
![]()
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 cho thấy sơ đồ 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 ở chân V0 có thể được điều chỉnh theo độ tương phản thích hợp, như hình 10.
| (a) Khác biệt ánh sáng Chỉ có các ký tự ánh sáng có thể nhìn thấy. | (b) Sự tương phản thích hợp | (c) Sự tương phản tối Mỗi nhân vật có một cái bóng rõ ràng. |
|---|---|---|
| Hình 9:sơ đồ 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ó yêu cầu 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