Yamian

lcd.h (LCD16x2-Showtime)

Mar 16th, 2016 (edited)
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. #ifndef _LCD_H_
  2.     #define _LCD_H_
  3.     #include <htc.h>
  4.     //Khai bao tan so thach anh dao dong
  5.     #ifndef _XTAL_FREQ
  6.         #define _XTAL_FREQ  4000000
  7.     #endif
  8.     //Cac khai bao dieu khien bat/tat hien thi
  9.     #define DON         0b00001111 //Bat hien thi
  10.     #define DOFF        0b00001011 //Tat hien thi
  11.     #define CURSOR_ON   0b00001111 //Bat con tro
  12.     #define CURSOR_OFF  0b00001101 //Tat con tro
  13.     #define BLINK_ON    0b00001111 //Nhap nhay con tro
  14.     #define BLINK_OFF   0b00001110 //Khong nhap nhay con tro
  15.     //Cac khai bao dich chuyen hien thi va con tro
  16.     #define SHIFT_CUR_LEFT      0b00000100 //Con tro dich sang trai
  17.     #define SHIFT_CUR_RIGHT     0b00000101 //Con tro dich sang phai
  18.     #define SHIFT_DISP_LEFT     0b00000110 //Hien thi dich sang trai
  19.     #define SHIFT_DISP_RIGHT    0b00000111 //Hien thi dich sang phai
  20.     //Cac khai bao thiet lap chuc nang
  21.     #define FOUR_BIT    0b00101100 //Giao dien 4-bit
  22.     #define EIGHT_BIT   0b00111100 //Giao dien 8-bit
  23.     #define LINE_5X7    0b00110000 //Ky tu 5x7, mot hang
  24.     #define LINE_5X10   0b00110100 //Ky tu 5x10
  25.     #define LINES_5X7   0b00111000 //Ky tu 5x7, nhieu hang
  26.     //Cac khai bao ket noi chan LCD voi PIC
  27.     #ifndef     LCD_RS
  28.         #define LCD_RS      RD1
  29.         #define LCD_EN      RD3
  30.         #define LCD_RW      RD2
  31.         #define LCD_DATA4   RD4
  32.         #define LCD_DATA5   RD5
  33.         #define LCD_DATA6   RD6
  34.         #define LCD_DATA7   RD7
  35.         #define LCD_RS_TRIS     TRISD1
  36.         #define LCD_EN_TRIS     TRISD3
  37.         #define LCD_RW_TRIS     TRISD2
  38.         #define LCD_DATA4_TRIS  TRISD4
  39.         #define LCD_DATA5_TRIS  TRISD5
  40.         #define LCD_DATA6_TRIS  TRISD6
  41.         #define LCD_DATA7_TRIS  TRISD7
  42.     #endif
  43.     //Khai bao bien du lieu 8-bit
  44.     typedef union _BYTE_VAL
  45.     {
  46.         unsigned char Val;
  47.         struct
  48.         {
  49.             unsigned char b0:1;
  50.             unsigned char b1:1;
  51.             unsigned char b2:1;
  52.             unsigned char b3:1;
  53.             unsigned char b4:1;
  54.             unsigned char b5:1;
  55.             unsigned char b6:1;
  56.             unsigned char b7:1;
  57.         }bits;
  58.     }BYTE_VAL;
  59.     //Khai bao cac lenh dung cho LCD
  60.     void lcd_init(); //Khoi dong LCD.
  61.     unsigned char lcd_busy(); //Thong bao LCD ban xu ly thong tin.
  62.     unsigned char lcd_get_byte(unsigned char rs); //Doc mot byte du lieu tu LCD.
  63.     void lcd_put_byte(unsigned char a,unsigned char b); //Ghi mot byte du lieu/lenh den LCD.
  64.     void lcd_gotoxy(unsigned char col,unsigned char row); //Dinh toa do tren LCD.
  65.     void lcd_putc(char c); //Ghi mot ky tu den LCD.
  66.     void lcd_puts(const char* s); //Ghi mot chuoi den LCD.
  67. #endif
Add Comment
Please, Sign In to add comment