2.4.1. Giới thiệu LCD 16x2
2.4.2. Thông số kỹ thuật LCD 16x2
LCD 16x2 được sử dụng để hiển thị trạng thái hoặc các thông số.
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế
độ dữ liệu.
Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.
Bả ng 6 . Chức năng của các chân LCD
Chân Ký hiệu Mô tả
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển.
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển.
3 VEE Điều chỉnh độ tương phản của LCD.
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.
Hì nh 11. Mà n hì nh LCD 16x2
LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read).
Logic “1”: bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.
5 R/W
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.
6 E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
Ở chế độ ghi: dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
Ở chế độ đọc: dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
7 - 14 DB0 đến
DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2 chế độ sử dụng 8 đường bus này:
Chế độ 8 bit: dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
Chế độ 4 bit: dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7.
15 - Nguồn dương cho đèn nền.
16 - GND cho đèn nền.
Hoạt động của LCD được điều khiển thông qua 3 tín hiệu E, RS, R/W.
- Tín hiệu E là tín hiệu cho phép gửi dữ liệu. Để gửi dữ liệu đến LCD, chương trình phải thiết lập E=1, sau đó đặt các trạng thái điều khiển thích hợp lên RS, R/W và bus dữ liệu, cuối cùng là đưa E về 0. Hoạt động chuyển đổi từ cao- xuống-thấp cho phép LCD nhận dữ liệu hiện thời trên các đường điều khiển cũng như trên bus dữ liệu.
- Tín hiệu RS là tín hiệu cho phép chọn thanh ghi (Register Select). Khi RS=0, dữ liệu được coi như là một lệnh hay một chỉ thị đặc biệt (như là xóa màn
hình, đặt vị trí con trỏ…). Khi RS=1, dữ liệu được coi là dữ liệu dạng văn bản và sẽ được hiển thị trên màn hình.
- Tín hiệu R/W là tín hiệu “Đọc/Ghi”. Khi R/W=1, thông tin trên bus dữ liệu được ghi vào LCD. Khi R/W=0, chương trình sẽ đọc LCD.
- Bus dữ liệu gồm 4 hoặc 8 đường tùy thuộc vào chế độ hoạt động mà người sử dụng lựa chọn.
2.4.3. Module LCD I2C
LCD có quá nhiều nhiều chân gây khó khăn
trong quá trình đấu nối và chiếm dụng nhiều
chân trên vi điều khiển.
Module I2C LCD ra đời và giải quyết vấn để
này cho bạn.
Thay vì phải mất 6 chân vi điều khiển để kết
nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.
Ưu điểm:
- Tiết kiệm chân cho vi điều khiển
- Dễ dàng kết nối với LCD.
Thông số kĩ thuật:
- Điện áp hoạt động: 2.5 – 6V DC.
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
- Giao tiếp: I2C.
- Địa chỉ mặc định: 0x27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
Hì nh 12. Module LCD I2C
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
SƠ ĐỒ ĐẤU NỐI
-
Hì nh 13. Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2.
Bảng 7 . Giao tiếp I2C LCD Arduino
Module I2C LCD 16×2 Arduino Nano/Uno
GND GND
VCC 5V
SDA A4/SDA
SCL A5/SCL