Giới Thiệu Cơ Bản Về LCD 16x2
LCD 16x2 có hình dạng cơ bạn như sau:
Mặt Trước
Mặt Sau
Sơ đồ chân
Chức Năng của từng chân:
Chân 1_GND: Nối với Âm nguồn
Chân 2_VCC: Nối với Dương nguồn
Chân 3_VEE: Để chỉnh độ tương phản khi các bạn nối với biến trở. Chú ý bỏ trống
chân này thì LCD sẽ ko hiển thị vì vậy nếu ko muốn mắc biến trở thì
các bạn nối chân này với âm nguồn để cho độ tương phản 100%
Chân 4_RS :Register Select : Có chức năng lựa chọn thanh ghi. Thanh ghi lệnh
(command) để ghi lệnh khởi tạo LCD. Thanh ghi dữ liệu (data) để
ghi ký tự vào LCD
RS=1: chọn thanh ghi dữ liệu
RS=0: chọn thanh ghi lệnh
Chân 5_RW: Read/Write: Lựa chọn thao tác Đọc từ LCD ra vi điều khiển
Chức năng đọc này thường được sử dụng khi đọc Cờ Busy Flag
để xem LCD đã thực hiện xong chưa nhưng vì chức năng này
phức tạp ít được dùng nên chức năng Ghi từ vi điều khiển vào LCD
hay được dùng
RW = 1: đọc LCD
RW = 0 : ghi vào LCD. Có thể nối với âm nguồn nếu chỉ chọn ghi
Chân 6_EN: Enable: chân cho phép: sau khi ghi lênh/dữ liêu lên chân D7-D0 phải kích sườn xung lên chân EN để cho phép LCD nhận dữ liệu
khi ở chế độ ghi, tức là RW = 0: thì phải có tín hiệu sườn xuống ( Cao xuống thâp) 1-to -0 thì sẽ cho phép nhận lệnh/dữ liệu
khi ở chế độ đọc, tức là RW= 1: thì phải có tín hiệu sườn lên (Thấp lên cao) từ chân này thì sẽ cho phép LCD nhận lênh/dữ liệu
Chân từ D0-D7: là 8 đường bus dữ liệu để trao đổi thông tin với vi điều khiển Khi sử dụng giao tiếp 4 bit thì chỉ dùng chân D7-D4. Chân
D0-D3 bỏ trống
Chân 15-16: chân 15 nối với trở 220,chân 16 nối xuống mass, để bật đèn nền cho LCD nếu bỏ trống 2 chân này thì LCD vẫn chạy bình thường. nhưng sẽ ko phát sáng đèn nền.
KHỞI TẠO LCD
bảng tóm tắt tập lệnh
Danh sách lệnh trên được tôi tô 2 màu khác nhau, các lệnh màu đỏ sẽ được dùng thường xuyên trong lúc hiển thị LCD và các lệnh màu xanh thường chỉ được dùng 1 lần trong lúc khởi động LCD, riêng lệnh Read BF có thể được dùng hoặc không tùy theo cách viết chương trình wait_LCD. Phần tiếp theo tôi giải thích ý nghĩ của các lệnh và tham số kèm theo chúng.
Trước hết là nhóm lệnh đỏ:
- Clear display – xóa LCD: lệnh này xóa toàn bộ nội dung DDRAM và vì thế xóa toàn bộ hiển thị trên LCD. Vì đây là 1 lệnh ghi Instruction nên chân RS phải được reset về 0 trước khi ghi lệnh này lên LCD. Mã lệnh xóa LCD là 0x01(ghi vào D0:D7).
- Cursor home – đưa con trỏ về vị trí đầu, dòng 1 của LCD: lệnh này thực hiện việc đưa con trỏ về vị trí đầu tiên của bộ nhớ DDRAM, vì thế nếu sau lệnh này một biến được ghi vào DDRAM thì biến này sẽ nằm ở vị trí đầu tiên (1;1). RS cũng phải bằng 0 trước khi ghi lệnh. Mã lệnh là 0x02 hoặc 0x03(chọn 1 trong 2 mã lệnh, tùy ý).
- Set DDRAM address – định vị trí con trỏ cho DDRAM: di chuyển con trỏ đến một vị trí tùy ý trong DDRAM và vì thế có thể được dùng để chọn vị trí cần hiển thị trên LCD. Để thực hiện lệnh này cần reset RS=0. Bit MSB của mã lệnh (D7) phải bằng 1, 7 bit còn lại của mã lệnh chính là địa chỉ DDRAM muốn di chuyển đến. Ví dụ chúng ta muốn di chuyển con trỏ đến vị trí thứ 3 trên dòng 2 của LCD (địa chỉ 42) chúng ta cần ghi mã lệnh 0xAA vì 0xAA=10101010 (binary) trong đó bit MSB bằng 1, bảy bit còn lại là 0101010=42, địa chỉ của ô nhớ muốn đến.
- Write to CGRAM or DDRAM – ghi dữ liệu vào CGRAM hoặc DDRAM: vì đây không phải là lệnh ghi instruction mà là 1 lệnh ghi dữ liệu nên chân RS cần được set lên 1 trước khi ghi lệnh vào LCD. Lệnh này cho phép ghi mã ASCII của một ký tự cần hiển thị vào thanh ghi DDRAM. Trường hợp ghi vào CGRAM không được khảo sát.
CÁC BƯỚC KHỞI TẠO LCD
Ghi mã lệnh:
RS = 0
RW = 1
Thứ tự thực hiện ghi lệnh vào LCD
Lệnh ghi vào D7-D0:
38H Chọn giao thức giao tiếp 8 bit, 2 line, font 5x7
hoặc 28H Chọn giao thức giao tiếp 4 bit, 2 line, font 5x7
01H xóa hiển thị Trở về đầu dòng
0CH Bật hiển thị, ẩn con trỏ, tắt nhấp nháy
06H tăng con trỏ mỗi lần ghi lệnh, ko dịch hiển thị
80H chọn vị trí ký tự đầu tiên ở Dòng 1, vị trí đầu dòng
C0H chọn ví trí ký tự đầu tiên ở Dòng 2, vị trí dầu dòng
Quá trình khởi tạo LCD hoàn tất
Tiếp đến là quá trình ghi Dữ liệu (ký tự) vào LCD
khi ghi dữ liệu vào LCD
RS=1
RW = 0
THE END
0 nhận xét:
Đăng nhận xét