LCD
//================================================
// LCD_Write_Command.c
//================================================
void LCD_Write_Com(uchar com)
{
LCD_RS_Low; //Instruction
LCD_RW_Low; //Write
LCD_EN_Low;
LCD_DATA=com; //P0 receive data
LCD_EN_High; //Open
LCD_EN_Low; //Close
timer_ms_delay(20); //used for busy check
}
//================================================// LCD_Write_Data.c
//================================================void LCD_Write_Data(uchar date)
{
LCD_RS_High; //Data
LCD_RW_Low; //Write
LCD_EN_Low;
LCD_DATA=date; //P0 receive data
LCD_EN_High; //Open
LCD_EN_Low; //Close
timer_ms_delay(20); //used for busy check
}
//================================================// LCD_initialization.c
//================================================
void LCD_initi()
{
/* timer_ms_delay(15); 為什么把這些屏蔽后,顯示就不正常了呢?
LCD_Write_Com(0x38);麻煩高手給一個(gè)寫指令,寫數(shù)據(jù)以及標(biāo)準(zhǔn)初始化的程序!
timer_ms_delay(5);
LCD_Write_Com(0x38);小弟這里謝啦!
timer_ms_delay(5);
LCD_Write_Com(0x38);
timer_ms_delay(5); */
LCD_Write_Com(0x38); //Data Bus 8 bit,line 2,5*7pot/character
LCD_Write_Com(0x0c); //Display on,No cursor,No cursor flashing
LCD_Write_Com(0x06); //光標(biāo)右移,且AC值加1
LCD_Write_Com(0x01); //Clear,即光標(biāo)回到左上方,AC的值設(shè)置為0
}
為什么把這些屏蔽后,顯示就不正常了呢?麻煩高手給一個(gè)寫指令,寫數(shù)據(jù)以及標(biāo)準(zhǔn)初始化的程序!
小弟這里先謝過啦!
初始化過程:
1、延時(shí)15ms
2、寫指令38H(不檢測忙信號)
3、延時(shí)5ms
4、寫指令38H(不檢測忙信號)
5、延時(shí)5ms
6、寫指令38H(不檢測忙信號)
7、以后每次寫指令、讀/或?qū)憯?shù)據(jù)操作之前均需檢測忙信號
8、寫指令38H:顯示模式設(shè)置
9、寫指令08H:顯示關(guān)閉
10、寫指令01H:顯示清屏
11、寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置
12、寫指令0cH:顯示開及光標(biāo)設(shè)置
主函數(shù)部分:
1、初始化
2、設(shè)置顯示地址指針
3、for循環(huán)
4、在for循環(huán)程序中寫入數(shù)據(jù)