ÄÖÖÓʵÑ鱨¸æ ÏÂÔر¾ÎÄ

**/

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); //¿ªÏÔʾ¹â±ê²»ÏÔ²»ÉÁ