void DisplayTimeToLCD( unsigned char* pTimeArray ) // Displays time in HH:MM:SS AM/PM format { ClearLCDScreen(); // Move cursor to zero location and clear screen // Display Hour WriteDataToLCD( (pTimeArray[2]/10)+0x30 ); WriteDataToLCD( (pTimeArray[2]%10)+0x30 ); //Display ':' WriteDataToLCD(':'); //Display Minutes WriteDataToLCD( (pTimeArray[1]/10)+0x30 ); WriteDataToLCD( (pTimeArray[1]%10)+0x30 ); //Display ':' WriteDataToLCD(':'); //Display Seconds WriteDataToLCD( (pTimeArray[0]/10)+0x30 ); WriteDataToLCD( (pTimeArray[0]%10)+0x30 ); //Display Space WriteDataToLCD(' '); // Display mode switch(pTimeArray[3]) { case AM: WriteStringToLCD("AM"); break; case PM: WriteStringToLCD("PM"); break; default: WriteDataToLCD('H'); break; } }
void Displaystring(void) { ClearLCDScreen(); WriteDataToLCD('N'); WriteDataToLCD('O'); WriteDataToLCD('-'); WriteDataToLCD('V'); WriteDataToLCD('E'); WriteDataToLCD('H'); WriteDataToLCD('I'); WriteDataToLCD('C'); WriteDataToLCD('L'); WriteDataToLCD('E'); }
void FloatToLCD(float fval) { int value; char digit; ClearLCDScreen();// to clear the scree at the end of eah second and to display the text for 1 sec and then to refresh WriteDataToLCD('S'); WriteDataToLCD('P'); WriteDataToLCD('E'); WriteDataToLCD('E'); WriteDataToLCD('D'); WriteDataToLCD(':'); value= fval * 100; // to make the flaot forexample 4.07 to 407 and then dispaly it as charater digit = (value/100)%10; WriteDataToLCD('0'+digit); //Display '4' WriteDataToLCD('.'); digit = (value/10)%10; // Display '.' WriteDataToLCD('0'+digit); //Display '5' digit = (value)%10; WriteDataToLCD('0'+digit); //Display '7' return; }
void DisplayDateOnLCD( unsigned char* pDateArray ) // Displays Date in DD:MM:YY @ Day format { WriteCommandToLCD(0xc0); // Move cursor to second line // Display Date WriteDataToLCD( (pDateArray[1]/10)+0x30 ); WriteDataToLCD( (pDateArray[1]%10)+0x30 ); //Display '/' WriteDataToLCD('/'); //Display Month WriteDataToLCD( (pDateArray[2]/10)+0x30 ); WriteDataToLCD( (pDateArray[2]%10)+0x30 ); //Display '/' WriteDataToLCD('/'); //Display Year WriteDataToLCD( (pDateArray[3]/10)+0x30 ); WriteDataToLCD( (pDateArray[3]%10)+0x30 ); //Display Space WriteDataToLCD(' '); // Display Day switch(pDateArray[0]) { case Monday: WriteStringToLCD("MON"); break; case Tuesday: WriteStringToLCD("TUE"); break; case Wednesday: WriteStringToLCD("WED"); break; case Thursday: WriteStringToLCD("THU"); break; case Friday: WriteStringToLCD("FRI"); break; case Saturday: WriteStringToLCD("SAT"); break; case Sunday: WriteStringToLCD("SUN"); break; default: WriteStringToLCD("???"); break; } }
void displayState1(void) { while (1) { // Hien thi thoi gian DisplayTimeToLCD(Get_DS1307_RTC_Time()); ADCinit(); ADCvalue = ReadADC(); //Hien thi ngày tháng t? giây 0->giây 40 if (Get_DS1307_RTC_Time()[0] > 40) { WriteCommandToLCD(0xc0); DisplayDateOnLCD(Get_DS1307_RTC_Date()); } //Hi?n th? nhi?t ?? t? giây 40->59 if (Get_DS1307_RTC_Time()[0] < 40) { voltage = (int) (5000.0f / 1023 * ADCvalue); f = voltage / 10; WriteCommandToLCD(0xc0); WriteStringToLCD("TEMP: "); WriteTempToLCD(f); WriteCommandToLCD(0xc8); WriteDataToLCD(0xdf); WriteStringToLCD("C"); } //WriteCommandToLCD(0xc0); //Nh?n nút chuy?n tr?ng thái if (!RA1) { state++; if (state == 5) { state = 1; } break; } //Báo th?c if (h_alarm == (int) Get_DS1307_RTC_Time()[2] && m_alarm == (int) Get_DS1307_RTC_Time()[1]) { RD0 = 0; } //T?t báo th?c if (!RA4) { RD0 = 1; h_alarm = 0; m_alarm = 0; } } }
main() { P2=0xff; //make output port SerialInput(); InitLCD(); EA=1; ES=1; while(1) { ClearLCDScreen(); while(ps2_clk==1); keyval=scan_data(); WriteDataToLCD(keyval); encrypt_data=keyval+3 35SerialTransmit(); delayms(100); } }
void WriteStringToLCD(const char *s) { while(*s) WriteDataToLCD(*s++); // print first character on LCD }
// Displays time in HH:MM:SS format void DisplayTimeToLCD( unsigned int h, unsigned int m, unsigned int s, unsigned char State ) { ClearLCDScreen(); // Move cursor to zero location and clear screen if(State == CONFIG_HR_STATE) { WriteDataToLCD( ' ' ); // Display Spaces WriteDataToLCD( ' ' ); } else { WriteDataToLCD( (h/10)+0x30 ); // Display Hour WriteDataToLCD( (h%10)+0x30 ); } //Display ':' WriteDataToLCD(':'); if(State == CONFIG_MIN_STATE) { WriteDataToLCD( ' ' ); // Display Spaces WriteDataToLCD( ' ' ); } else { WriteDataToLCD( (m/10)+0x30 ); //Display Minutes WriteDataToLCD( (m%10)+0x30 ); } //Display ':' WriteDataToLCD(':'); if(State == CONFIG_SEC_STATE) { WriteDataToLCD( ' ' ); // Display Spaces WriteDataToLCD( ' ' ); } else { WriteDataToLCD( (s/10)+0x30 ); //Display Seconds WriteDataToLCD( (s%10)+0x30 ); } }