Sie sind auf Seite 1von 2

#include <p30f4012.

h>
/* -----------------------------------------------------------------*/
#define LCD_EN_LAT _LATD1
#define LCD_EN_TRIS _TRISD1
#define LCD_RW_LAT _LATD0
#define LCD_RW_TRIS _TRISD0
#define LCD_RS_LAT _LATB5
#define LCD_RS_TRIS _TRISB5
#define LCD_DAT_LAT LATE
#define LCD_DAT_TRIS TRISE
#define LCD_FRE 24 // Fcy*DLL/4 MHz
#define LCD_CLEAR 0x01 //Xoa man hinh LCD
#define LCD_HOME 0x02 //Tro ve dau dong
#define LCD_NORMAL 0x06 //Che do nhap du lieu binh thuon
g
#define LCD_NORMAL_S 0x07 //Che do nhap du lieu binh thuong, dich
man hinh
#define LCD_OFF 0x08 //Tat man hinh
#define LCD_ON 0x0C //Bat man hinh
#define LCD_ON_CRSR 0x0E //Bat man hinh va con tro
#define LCD_ON_BLINK 0x0F //Bat man hinh va con tro (nhap nhay)
#define LCD_4B21 0x28 //Che do 2 dong, giao tiep 4 bit
du lieu
#define LCD_L1 0x80 //Ve dau dong 1
#define LCD_L2 0xC0 //Ve dau dong 2

/*---------------------------------------------------------------------
Function Name: LCDInit
Description: Khoi tao hoat dong cho LCD
Inputs: None
Returns: None
-----------------------------------------------------------------------*/
void LCDInit (void)
{
LCD_DAT_LAT &= 0xFFF0; //Xoa cac bit chot du lieu LCD
LCD_DAT_TRIS &= 0xFFF0; //Cac chan du lieu LCD la ngo ra

LCD_EN_LAT = 0;
LCD_EN_TRIS = 0; //RE8 la ngo ra, noi vao Enable
cua LCD
LCD_RW_LAT = 0; //LCD_RW_LATbits.LCD_RW_LAT = 0;
LCD_RW_TRIS = 0; //RD0 la ngo ra, noi vao R/W cua
LCD
LCD_RS_LAT = 0;
LCD_RS_TRIS = 0; //RD1 la ngo ra, noi vao Reset c
ua LCD

LCDCmd(LCD_4B21); //Dat che do giao tiep 4-bit, ma


n hinh 2 dong
LCDDelay(20);
LCDCmd(LCD_OFF); //Tat man hinh
LCDDelay(20);
LCDCmd(LCD_NORMAL); //Che do nhap du lieu binh thuon
g
LCDDelay(20);
LCDCmd(LCD_ON); //Bat man hinh, hien con tro nha
p nhay
LCDDelay(20);
LCDCmd(LCD_CLEAR); //Xoa man hinh
LCDDelay(20);
}

Das könnte Ihnen auch gefallen