Phần này tôi sẽ minh họa cách sử dụng thư viện myLCD.h để hiển thị các ký tự lên 1 Text LCD. Sử dụng phần mềm Proteus vẽ một mạch điện gồm 1 LCD 2x16 (keyword: LM016L), 1 chip Atmega32 và 1 biến trở (POT-LIN) như trong hình 8. Tạo 1 Project bằng WinAVR có tên là TextLCD_Demo và tạo file source là main.c, tạo makefile với khai báo sữ dụng chip ATmega32 và clock 8MHz. Copy file myLCD.h vào thư mục của Project mới tạo. Viết code cho file main.c như trong list 9. Chú ý các định nghĩa chân kết nối với LCD trong phần đầu file myLCD.h phải giống với kết nối thật trong hình 8.
Hình 8. Mạch điện mô phỏng LCD với AVR.
List 8. Chương trình demo điều khiển TextLCD, main.c. #include <avr/io.h>
#include <util/delay.h>
#include "myLCD.h" //include thư viện myLCD
init_LCD(); //khởi độ LCD
clr_LCD(); // xóa toà bộ LCD
putChar_LCD(' '); //ghi 1 khoảng trắng
putChar_LCD(' '); //ghi 1 khoảng trắng
putChar_LCD('D'); //Hiển thị kýtự 'D'
print_LCD("emo of the",10); //hiển thị 1 chuỗi ký tự
move_LCD(2,1); //di chuyển cursor đến dòng 2, cột đầu tiên
print_LCD("2x16 LCD Display",16); //hiển thị chuỗi thứ 2
while(1){
}; }
Để sử dụng thư viện myLCD, chúng ta cần include file myLCD.h vào Project
như trong dòng 3, #include"myLCD.h". Hai dòng 6 và 7 thực hiện khởi động và
xóa LCD. Sau đó, các dòng 9, 10 và 11 đặt 3 ký tự là các khoảng trắng và chữ cái D bằng hàm putChat_LCD. Dòng 12 in chuỗi “emo of the” ngay tiếp theo chữ cái D trước đó bằng hàm print_LCD. Dòng 13 thực hiện di chuyển cursor đến vị trí dòng thứ 2, cột đầu tiên của LCD trước khi tiến hành in chuỗi thứ 2 “2x16 LCD Display” ở dòng code 14. Nếu bạn thực hiện đúng trình tự như trên, kết quả thu được sẽ như trong hình 8.