|
{ CheckRWCD(); //檢測指令讀寫狀態 LcmDataPort = Parameter; CheckRWCD(); LcmCmdPort = Command; } //雙參數指令寫入函數 void LcmWriteCommandWith2Par(uchar Parameter1,uchar Parameter2,uchar Command) { CheckRWCD(); //檢測指令讀寫狀態 LcmDataPort = Parameter1; CheckRWCD(); LcmDataPort = Parameter2; CheckRWCD(); LcmCmdPort = Command; } //LCM初始化函數 void LcmInit( void ) { LcmWriteCommandWith2Par(0x00,0x00,0x40); //設置文本顯示區首地址 LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x41); //設置文本顯示區寬度 LcmWriteCommandWith2Par(0x00,0x08,0x42); //設置圖形顯示區首地址0x0800 LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x43); //設置圖形顯示區寬度 LcmWriteCommand(0xA7); //設置光標形狀 8x8方塊 LcmWriteCommand(0x81); //顯示方式設置 文本xor圖形(異或) LcmWriteCommand(0x9C); //顯示開關設置 文本開,圖形開,光標閃爍關 } //延時函數 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--; } } //通過按鍵設定延時函數 void DelayKey(unsigned char HalfSecond) { //Delay_key加入時間參數0.5秒一級 unsigned int i; for(i=0;i<50*HalfSecond;i++) //12M Crystal { if(Key==0) { Delay(20); while(Key==0) {Delay(20);} break;
|