|
} //單參數(shù)指令寫(xiě)入函數(shù) void LcmWriteCommandWith1Par(uchar Parameter,uchar Command) { CheckRWCD(); //檢測(cè)指令讀寫(xiě)狀態(tài) LcmDataPort = Parameter; CheckRWCD(); LcmCmdPort = Command; } //雙參數(shù)指令寫(xiě)入函數(shù) void LcmWriteCommandWith2Par(uchar Parameter1,uchar Parameter2,uchar Command) { CheckRWCD(); //檢測(cè)指令讀寫(xiě)狀態(tài) LcmDataPort = Parameter1; CheckRWCD(); LcmDataPort = Parameter2; CheckRWCD(); LcmCmdPort = Command; } //LCM初始化函數(shù) void LcmInit( void ) { LcmWriteCommandWith2Par(0x00,0x00,0x40); //設(shè)置文本顯示區(qū)首地址 LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x41); //設(shè)置文本顯示區(qū)寬度 LcmWriteCommandWith2Par(0x00,0x08,0x42); //設(shè)置圖形顯示區(qū)首地址0x0800 LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x43); //設(shè)置圖形顯示區(qū)寬度 LcmWriteCommand(0xA7); //設(shè)置光標(biāo)形狀 8x8方塊 LcmWriteCommand(0x81); //顯示方式設(shè)置 文本xor圖形(異或) LcmWriteCommand(0x9C); //顯示開(kāi)關(guān)設(shè)置 文本開(kāi),圖形開(kāi),光標(biāo)閃爍關(guān) } //延時(shí)函數(shù) void Delay(uint MS) { uchar us,usn; while(MS!=0) //12M Crystal { usn = 2; while(usn!=0) { us=0xf2; while (us!=0){us--;}; usn--; } MS--; } } //通過(guò)按鍵設(shè)定延時(shí)函數(shù) void DelayKey(unsigned char HalfSecond) { //Delay_key加入時(shí)間參數(shù)0.5秒一級(jí) unsigned int i; for(i=0;i<50*HalfSecond;i++) //12M Crystal { if(Key==0) { Delay(20); while(Key==0) {Delay(20);}
|