Networks Business Online Việt Nam & International VH2

BÀI 10: LẬP TRÌNH HIỂN THỊ LCD 16X2 VỚI 8051.

Đăng ngày 07 November, 2022 bởi admin

1. Giới Thiệu về màn hình hiển thị LCD16X2

LCD là một màn hình hiển thị nhiều điểm ảnh, hoàn toàn có thể coi là một Led ma trận dạng lớn, tuy nhiên tất cả chúng ta không cần đi vào tinh chỉnh và điều khiển từng Pixel hay là từng chấm nhỏ như trong Phần 1 mà tất cả chúng ta sẽ tinh chỉnh và điều khiển qua lệnh, con trỏ … để hiển thị thông tin một cách thuận tiện hơn. Có nhiều loại LCD, trong bài này tất cả chúng ta dùng loại đơn thuần 16 × 2. Trước tiên tất cả chúng ta tìm hiểu và khám phá về cầu tạo của nó .

Dưới đây là hình mô phỏng, những em tìm nó với từ khóa “ lcd 16 × 2 ” .

Tiếp theo tất cả chúng ta học về cách liên kết, lập trình để sử dụng LCD. Trước tiên tất cả chúng ta phải gửi lệnh vào cho LCD biết nó phải làm gì. Cách gửi lệnh như sau :

Các em hoàn toàn có thể xem 1 số ít lệnh sau đây. Những lệnh này gọi là lệnh khởi tạo LCD .

Sau khi gửi những lệnh vào LCD ( qua những chân D0 – D7 ) để nó biết sẽ phải làm gì ( bật màn hình hiển thị, hiển thị hay tắt con trỏ, chuyển dời con trỏ … ), tất cả chúng ta sẽ phải gửi lệnh chứa những kí tự mà tất cả chúng ta muốn hiển thị. Cách gửi tài liệu ra cũng tương tự như như cách gửi lệnh, những em hoàn toàn có thể xem trong hình sau :

Bước 1 thường là mặc định. Các bước sau tương tự như như việc gửi lệnh vào LCD. Tại sao B1 lại là mặc định, vì tất cả chúng ta thường dùng LCD để hiển thị chứ không để nhận tài liệu vào. Hình sau nối chân RW với Ground :

Các em tạo Project mô phỏng như hình vẽ dưới và sử dụng đoạn code sau để hiển thị kí tự ra màn hình.

2. Code mẫu

#include // Khai bao ket noi voi LCD. 2 chân này sẽ thông báo cho LCD, lúc nào là truyền //câu lệnh, lúc nào truyền dữ liệu hiển thị và khi nào được truyền, khi nào không sbit LCD_RS = P2^0; sbit LCD_EN = P2^1; #define LCD_DATA P3; // Đặt hằng số thay thế Port3- xuất dữ liệu từ VĐK //Hàm Delay_ms được tính toán với tần số thạch anh 12Mhz. void Delay_ms(unsigned int t) { unsigned int x,y; for(x=0;x

Trong việc hiển thị kí tự tại một vị trí có sẵn, chúng ta sử dụng 8 bit để chọn vị trí của kí tự. Bit đầu tiên luôn mặc định là 1. Các bit tiếp theo hiển thị vị trí của kí tự. Có tất cả 128 ô (00-7F).
Với các câu lệnh khác, chúng ta có thể hiển thị kí tự ở một vị trí bất kì trong  một dòng, thay vì chỉ đầu dòng. Chúng ta cũng có thể cho cả dòng chữ chạy trái, chạy phải chỉ với một dòng lệnh.

Sau khi hiển thị một kí tự tại một vị trí có sẵn, tất cả chúng ta hoàn toàn có thể tiến đến bước xa hơn, di dời kí tự mà tất cả chúng ta muốn ( dịch trái, dịch phải ) với câu lệnh như hình dưới .

Cuối cùng, khi dòng chữ đang chạy, các em muốn dừng không cho chạy nữa, trở lại vị trí như ban đầu, có thể dùng lệnh sau:

Source: https://vh2.com.vn
Category : Tin Học