**/
void delay(unsigned char ms); //ÑÓʱº¯Êý void cbusy(); //²âÊÔlcdæµ״̬º¯Êý void wrcom(unsigned char cmd); //дָÁÊý void wrdat(unsigned char dat); //дÊý¾Ýº¯Êý void lcdinit(); //lcd³õʼ»¯º¯Êý void protime(); //ʱ¼ä´¦Àíº¯Êý void display(); //ʱ¼äÏÔʾº¯Êý unsigned char scankey(); //°´¼üɨÃè void keywork(); // °´¼ü¹¦ÄÜ´¦Àíº¯Êý void naoling1(); void naoling2(); void naoling3();
/*********************************************************************
ÑÓʱº¯Êý
**********************************************************************/
void delay(unsigned char ms) {
unsigned char i; unsigned char m=4;
while(ms--) {
for(i=0;i<20;i++) { do
{}while(m--); } } }
/*********************************************************************
²âÊÔlcdæµ״̬º¯Êý
**********************************************************************/
void cbusy() { do
{ P0=0xff; RS=0; RW=1; E=0;
E=0;
busy=P0&0x80; E=1;
}while(busy!=0); }
/*********************************************************************
дָÁÊý
**********************************************************************/
void wrcom(unsigned char cmd) {
P0=cmd; RS=0; RW=0; E=0; cbusy(); E=1; }
/*********************************************************************
дÊý¾Ýº¯Êý
**********************************************************************/
void wrdat(unsigned char dat) {
P0=dat; RS=1; RW=0; E=0; cbusy(); E=1; }
/*********************************************************************
lcd³õʼ»¯º¯Êý
**********************************************************************/
void lcdinit() {
wrcom(0x01); //ÇåÆÁ
wrcom(0x38); //8λ×ÜÏߣ¬5*7µãÕó wrcom(0x14); //ÎÄ×Ö²»¶¯¹â±ê×Ô¶¯ÓÒÒÆ wrcom(0x0c); //¿ªÏÔʾ¹â±ê²»ÏÔ²»ÉÁ