Điều khiển IO với LCD
LCD được nối với PORTB. Chức năng của LCD trong hầu hết các mạch, các bộ điều khiển đảm nhân vai trò hiển thị các thông số, các thông tin mà chúng ta muốn nhập vào hay các thông tin xử ...
LCD được nối với PORTB.
Chức năng của LCD trong hầu hết các mạch, các bộ điều khiển đảm nhân vai trò hiển thị các thông số, các thông tin mà chúng ta muốn nhập vào hay các thông tin xử lý mà bộ điều khiển đang hoạt động đựoc hiển thị ra màn hình, giúp chúng ta giao tiếp gần hơn với quá trình hoạt đông của hệ thống. Loại LCD mà chúng ta sử dụng là loại SD-DM1602A 2 dòng mổi dòng 16 kí tự, loại này do Trung Quốc sản xuất . Nó có 16 chân như hình vẽ.
Trong đó chúng ta có thể thấy 2 chân 1,2 được cấp nguồn cho LCD hoạt động, chân thứ 3 (chân VSS) được nối vào đầu ra của biến trở dùng để điều chỉnh độ tương phản (phải điều chỉnh VSS hợp lý thì LCD mới hiển thị được) 2 chân 15,16 đây là 2 chân cấp nguồn dung để bật đèn của LCD từ chân 4->14 là các chân điều khiển được nối với vi điều khiển, các chân 4,5,6 được để điều khiển hoạt động của LCD, các chân còn lại là 8 bit Data dùng để truyền nhận dữ liệu. Chúng ta có thể giao tiếp Data 8 bit hoặc 4 bit như trong mạch của chúng ta truyền Data dưới dạng 4 bit. Việc truyền dưới dạng 4bit hoặc 8 bit phải được thiết lập cả phần cúng và phần mềm.
Các bước khởi tạo trong CodeWinzard như sau:
Trong cửa sổ CodeWinzard, chọn tab LCD, trong list mặc định là None, các bạn chuyển thành PORTB cho phù hợp với phần cứng của KIT( thiết kế LCD ở PORTB). Chọn File → Generate, Save and Exit được như sau:
Code cho LCD các bạn có thể tham khảo trong Help bằng cách chọn trên menu Help → Help Topic(hoặc ấn F1). Được cửa sổ Help như sau:
Trong tab Contents, click đúp chuột vào CodeVisionAVR C Compiller Library Functions được như bên cạnh. Nhấp đúp vào LCD Functions để tham khảo các hàm cho LCD.
Trong vòng while(1) trong hàm main ta viết các câu lệnh như sau:
while (1) { // Place your code here lcd_gotoxy(0,0);// Dua con tro ve goc, dong 0, cot 0 lcd_putsf("DKS-MTC-JACKY");// Hien thi dong chu lcd_gotoxy(0,1);// Dua con tro ve dong 1, cot 0 lcd_putsf("Wellcome you"); // Hien thi dong chu delay_ms(3000); // Tre 3 s lcd_gotoxy(0,0); // Dua con tro ve dong 0 cot 0 lcd_putsf("embestdks.com"); // Hien thi dong chu delay_ms(3000); // Tre 3 s };