void delay(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
/********液晶寫入指令函數與寫入數據函數,以后可調用**************/
void write_1602com(uchar com)//****液晶寫入指令函數****
{
rs=0;//數據/指令選擇置為指令
P0=com;//送入數據
delay(1);
en=1;//拉高使能端,為制造有效的下降沿做準備
delay(1);
en=0;//en由高變低,產生下降沿,液晶執行命令
}
void write_1602dat(uchar dat) //***液晶寫入數據函數****
{
rs=1;//數據/指令選擇置為數據
P0=dat;//送入數據
delay(1);
en=1; //en置高電平,為制造下降沿做準備
delay(1);
en=0; //en由高變低,產生下降沿,液晶執行命令
}
void lcd_init()//***液晶初始化函數****
{
write_1602com(0x38);//設置液晶工作模式,意思:16*2行顯示,5*7點陣,8位數據
write_1602com(0x0c);//開顯示不顯示光標
write_1602com(0x06);//整屏不移動,光標自動右移
write_1602com(0x01);//清顯示
}
|