LCD 16X2 là gì? LCD 16x2 là loại LCD gồm 2 hàng hiển thị, có thể hiển thị tổng cộng 32 ký tự trong mã ASCII lên màn hình, nghĩa là một hàng có thể hiển thị tối đa 16 ký tự LCD 16×2 được sử dụng để hiể.
LCD 16X2 gì? LCD 16x2 loại LCD gồm hàng hiển thị, hiển thị tổng cộng 32 ký tự mã ASCII lên hình, nghĩa hàng hiển thị tối đa 16 ký tự LCD 16×2 được sử dụng để hiển thị trạng thái thơng số LCD 16×2 có 16 chân chân liệu (D0 – D7) chân điều khiển (RS, RW, EN) chân lại dùng để cấp nguồn đèn cho LCD 16×2 Các chân điều khiển giúp ta dễ dàng cấu hình LCD chế độ lệnh chế độ liệu Chúng giúp ta cấu hình chế độ đọc ghi LCD 16×2 có chế độ hoạt động: - Chế độ bit Chế độ bit Các chân LCD dịng 16 kí tự: • VSS: Chân đất • VCC: Chân nguồn • VEE: Chân hiệu chỉnh độ sáng LCD • RS( register select = lựa chọn ghi): – =0: LCD nhận lệnh từ vi điều khiển – =1: LCD nhận kí tự từ vi điều khiển để hiển thị • R/W (read/ write): – =1: Vi điều khiển đọc liệu từ LCD – =0: Vi điều khiển ghi liệu lên LCD Thông thường Vi điều khiển chủ yếu ghi liệu lên LCD nên chân thường nối đất • EN: Chân cho phép (Enable): Chân dùng để thông báo với LCD ta gửi liệu Để gủi liệu tới LCD chương trình cần phải bảo đảm chân EN mức thấp (low=0), sau thiết lập chân liệu chân điều kiện lại Khi chân sẵn sàng, thiết lập mức cao chân EN quãng thời gian định tùy thuộc vào LCD mà bạn dung (xem datasheet LCD cụ thể) sau lại đưa chân EN mức thấp • D0-D7: chân liệu, nơi vi điều khiển truyền lệnh liệu lên LCD Các lệnh liên quan đến LCD Get LCD status // đọc trạng thái LCD Trong CCS được tích hợp sẵn thư viện LCD Để thực hiện giao tiếp cần gọi: #include Thư viện hỗ trợ các hàm: lcd_init() Hàm khởi tạo LCD lcd_putc(c) Xuất kí tự lên LCD lcd_gotoxy(x,y) Đặt ví trí trỏ( vị trí cần xuất ký tự) tại x của dong y(y=1 hoặc y=2) lcd_getc(x,y) Đọc về giá trị tại x của dong y lcd_cursor_on(int1 on) : Bật ví trí trỏ lcd_set_cgram_char(w, *p) Hàm này dùng bạn xuất kí tự đặc biệt Ví dụ chữ có dấu vào CGRAM Để xóa nội dung và đưa trỏ về đầu dòng bạn xuất ký tự '\f' Để về đầu dòng của dòng 2: '\n' Về đầu dong của dòng hiện tại: '\a' Để lùi về trỏ về ví trí so với vị trí hiện tại: '\b' Chú ý trước sử dụng ta phải định nghĩa lại các chân sau cho thư viện: LCD_ENABLE_PIN LCD_RS_PIN LCD_RW_PIN LCD_DATA4 LCD_DATA5 LCD_DATA6 LCD_DATA7 #include #device adc=16 #FUSES NOWDT //No Watch Dog Timer #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD) #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode) #use delay(clock=20000000) main.c #include #define LCD_ENABLE_PIN #define LCD_RS_PIN #define LCD_RW_PIN #define LCD_DATA4 #define LCD_DATA5 #define LCD_DATA6 #define LCD_DATA7 #include PIN_B0 PIN_B1 PIN_B2 PIN_B4 PIN_B5 PIN_B6 PIN_B7 void main() { lcd_init (); lcd_putc("\fChao ban den voi\r\n MCU+ Blog"); WHILE (TRUE) {} } ... trước sử dụng ta phải định nghĩa lại các chân sau cho thư viện: LCD_ ENABLE_PIN LCD_ RS_PIN LCD_ RW_PIN LCD_ DATA4 LCD_ DATA5 LCD_ DATA6 LCD_ DATA7 #include #device adc=16 #FUSES... main.c #include #define LCD_ ENABLE_PIN #define LCD_ RS_PIN #define LCD_ RW_PIN #define LCD_ DATA4 #define LCD_ DATA5 #define LCD_ DATA6 #define LCD_ DATA7 #include PIN_B0 ... liên quan đến LCD Get LCD status // đọc trạng thái LCD Trong CCS được tích hợp sẵn thư viện LCD Để thực hiện giao tiếp cần gọi: #include Thư viện hỗ trợ các hàm: lcd_ init()