unsigned char num_key=0;//°´¼üºÅ unsigned char temp=0;//¶ÁÈ¡P2¿ÚÏßÊý¾Ý
static unsigned char temp_code=0;//ÓÃÓÚ±£´æ°´¼üÖµ
static unsigned char temp_circle=0xFE;//±£´æP2ÏßÉϵÄÑ»·É¨ÃèÖµ static unsigned char num_check=0;//µÍµçƽ¼ÆÊý static unsigned char key_flag=0;//°´¼üÓÐЧ±êʶ
P2=temp_circle;//0xFX temp=P2;//¶ÁÈ¡P2¿ÚÏßÊý¾Ý if(temp!=temp_circle)//Óа´¼ü¶¯×÷ {
num_check++;//µÍµçƽ¼ÆÊý|·êµÍµçƽ¼Ó1 if(num_check==10)//Á¬Ðø10´Î(10ms)µÍµçƽÓÐЧ {
key_flag=1;//°´¼üÓÐЧ±êʶÖÃ1 temp_code=temp;//±£´æ°´¼üÖµ } }
else//ËÉÊÖORÎÞ°´¼ü¶¯×÷,´ËʱӦ¸Ã¸Ä±äɨÃèÏß {
num_check=0;
if(key_flag==1)//°´¼üÓÐЧÅÐ¶Ï {
key_flag=0;
switch(temp_code)//¶ÁÈ¡°´¼üºÅ {
//P2^0Ïß
case 0xEE: num_key=1; break; case 0xDE: num_key=2; break; case 0xBE: num_key=3; break; case 0x7E: num_key=4; break; //P2^1Ïß
case 0xED: num_key=5; break; case 0xDD: num_key=6; break; case 0xBD: num_key=7; break; case 0x7D: num_key=8; break;
//P2^2Ïß
case 0xEB: num_key=9; break; case 0xDB: num_key=10; break; case 0xBB: num_key=11; break; case 0x7B: num_key=12; break; //P2^3Ïß
case 0xE7: num_key=13; break; case 0xD7: num_key=14; break; case 0xB7: num_key=15; break; case 0x77: num_key=16; break; } }
temp_circle=_crol_(temp_circle,1);//¸Ä±äɨÃèÏß if(temp_circle==0xEF) {
temp_circle=0xFE; } }
return(num_key);//·µ»Ø°´¼üºÅ }
/*************************************************************************
δ°´¼üʱ,ɨÃèÏßÒ»Ö±±ä»¯¡£
³¤°´¼üʱ,ɨÃèÏß²»±ä»¯,ʹµÃ¸ÃÐа´¼ü±ä³ÉÁ˶ÀÁ¢°´¼ü,ÕâÑùµÄɨÃèЧÂʼ«¸ß¡£ Èçµ±°´ÏÂP2.0ÏßÉϵÄij¸ö¼üʱ,³ÌÐò½«É¨Ãèµ½Õâ¸ö¼ü,¶øºóɨÃèÏß²»±ä»¯, µ±¼üÅ̳ÌÐòÁ¬Ðø10´Î½øÈëʱ¼ì²âµ½10´Î°´¼üÓÐЧ,Ö±µ½ËÉÊÖºóɨÃèÏ߲ű仯
*************************************************************************/
ºÃ¼¸ÌìûÓиüÐÂÁË£¬ºÇºÇ¡«¡«½ñÌìÎÒ°ÑÔÛÃdz£ÓõĴ«¸ÐÆ÷DS1320 DS18B20¸ø´ó¼Ò½éÉÜÏ¡£
¶ÔÓÚÊÐÃæÉϵĴó¶àÊý51µ¥Æ¬»ú¿ª·¢°åÀ´Ëµ¡£ds1302ºÍds18b20Ó¦¸ÃÊDZȽϳ£¼ûµÄÁ½ÖÖÍâΧоƬ¡£ds1302ÊǾßÓÐSPI×ÜÏß½Ó¿ÚµÄʱÖÓоƬ¡£ds18b20ÔòÊǾßÓе¥×ÜÏß½Ó¿ÚµÄÊý×Öζȴ«¸ÐÆ÷¡£ÏÂÃæÈÃÎÒÃÇ·Ö±ðÀ´ÈÏʶ²¢Ñ§»áÓ¦ÓÃÕâÁ½ÖÖоƬ¡£