Màn hình  LCD (Liquid crystal display) là loại thiết bị hiển thị cấu tạo bởi các điểm ảnh. Trong bài tập này các bạn sẽ thực hành hiển thị LCD 16x2 và LCD 20x4 dùng vi điều khiển PIC 16F877A hoặc 16F887, lập trình với CCS và mô phỏng trên proteus. 

hienthilcd

Với LCD 16x2 và LCD 20x4 các chân như sau:

  • VSS: Chân Ground
  • VDD: Chân nguồn ( +5Volt)
  • VEE: Chân điều chỉnh độ sáng của LCD
  • RS: RS=0 LCD nhận lệnh từ vi điều khiển, RS=1 LCD nhận kí tự từ vi điều khiển.
  • R/W: R/W =1 Vi điều khiển đọc dữ liệu từ LCD, R/W=0 vi điều khiển ghi dữ liệu lên LCD. ( Trong các ứng dụng thông thường Vi điều khiển chủ yếu ghi dữ liệu lên LCD nên chân này thường nối đất.)
  • E: Chân cho phép (Enable). tạo xung với độ rộng khoảng 10us để bắt đầu quá trình LCD nhận dữ liệu hoặc lệnh từ vi điều khiển.
  • D0-D7: các chân dữ liệu, nơi vi điều khiển truyền lệnh hoặc dữ liệu lên LCD.
  • BLA, BLK : Đèn nền cho LCD.

Các bạn vào Proteus vẽ project như hình sau :

lcd

 Khởi tạo LCD :

Trong bài tập này chúng ta khởi tạo cho LCD hoạt động ở chế độ 2 dòng, giao tiếp 4 bit thay vì 8 bit. Ở cuối bài viết này các bạn có thể download project về để thực hành và xem chi tiết hàm khởi tạo LCD lcd_init();các bạn có thể điều chỉnh hàng và con trỏ bằng cách điền vào các tham số thích hợp của lệnh lcd_gotoxy.

lcd_gotoxy(1,1) : Hiển thị tại hàng 1 con trỏ ở vị trí đầu tiên

lcd_gotoxy(1,2) : Hiển thị tại hàng 2 con trỏ ở vị trí đầu tiên

Ghi dữ liệu dạng "text" : Ví dụ lcd_putc("WELLCOME    ");

Ghi dữ liệu số nguyên : printf(lcd_putc,"COUNTER :%ld",a);

Ghi dữ liệu số thực : printf(lcd_putc,"FLOAT DECIMAL:%1.3f",b); 

Đối với LCD 20x4 : để hiển thị hàng số 3 dùng lệnh di chuyển con trỏ như sau : lcd_gotoxy(21,1);

hàng số 4 lcd_gotoxy(21,2);

Các bạn có thể download bài tập :  Hiển thị LCD vi điều khiển PIC - bài 8

Xem vi deo mô phỏng :

Nếu bạn thấy hay hãy đăng ký , chia sẻ giúp tôi nhé chúng tôi sẽ thường xuyên cập nhật kiến thức mới về vi điều khiển PIC tại đây