Trang cá nhân : or Tài liệu tham khảo về vi điều khiển LCD 1602 PIC CSS. | Minhha Technologies Trong ví dụ sau sử dụng CCS làm trình biên dịch include fuses HS NOWDT NOPROTECT NOLVP use delay clock 20000000 Sử dụng Crystal 20 MHz Định nghĩa các chân cho LCD như sau Dùng điều khiển 4 bit 4 bit cao D4 đến D7 PiN_B0 enable pin_bi rs PIN_B2 RW PIN_B4 D4 PIN_B5 D5 PIN_B6 D6 PIN_B7 D7 Chân D0-D3 Không sử dụng Chân RB3 của PIC cũng không sử dụng Định nghĩa struct của LCD tương ứng với các bit ------------------------------------------------ struct lcd_pin_map boolean ENABLE on to an I O port to gain boolean RS access to the LCD pins. boolean RW The bits are allocated from boolean unused low order up. enable will Int8 data 4 be pin B0. lcd byte lcd 6 Sử dụng Port B của PIC16F877A. Nếu dùng loại khác cần thay đổi giá trị này Xem datasheet để sửa đổi define lcd_type 2 LCD1602 lcd_type 2 byte const LCD_INIT_STRING 4 0x20 lcd_type 2 0xC 1 6 struct lcd_pin_map const LCD_WRITE 0 0 0 0 0 Để cấu hình cho Port của PIC struct lcd_pin_map const LCD_READ 0 0 0 0 15 4 Bit D4 - D7 là Input byte lcdline ---------------------------------------------------------- Đọc 1 byte từ LCD Thường dùng để kiểm tra trạng thái ready của LCD. Input none Output Giá trị đọc từ LCD ---------------------------------------------------------- BYTE lcd_read_byte Minhha Technologies BYTE low high set_tris_b LCD_READ Set D4 - D7 là input 1 delay_cycles 1 1 delay_cycles 1 high Đọc 4 bít cao 0 delay_cycles 1 1 delay_us 1 low Đọc 4 bit thấp lcd. ENABLE 0 set_tris_b LCD_WRITE Set D4 - D7 là output return high 4 low Giá trị trả về -------------------------------------------------------- Ghi 4 bit vào LCD Input 4 bit cần ghi Output None -------------------------------------------------------- void lcd_send_nibble BYTE n n delay_cycles 1 1 delay_us 2 lcd. ENABLE 0 -------------------------------------------------------- void lcd_send_byte BYTE address BYTE n .