/********************獨(dú)立按鍵程序*****************/ uchar key_can; //按鍵值 void key() //獨(dú)立按鍵程序 { static uchar key_new; key_can = 20; //按鍵值還原 P3 |= 0xf0; if((P3 & 0xf0) != 0xf0) //按鍵按下 { delay_1ms(1); //按鍵消抖動 if(((P3 & 0xf0) != 0xf0) && (key_new == 1)) { //確認(rèn)是按鍵按下 key_new = 0; switch(P3 & 0xf0) { case 0xd0: key_can = 3; break; //得到按鍵值 case 0xb0: key_can = 2; break; //得到按鍵值 case 0x70: key_can = 1; break; //得到按鍵值 } } } else { key_new = 1; } } |
zhanghyg 發(fā)表于 2018-5-17 08:26
key_new默認(rèn)是0,所以if(((P3 & 0xf0) != 0xf0) && (key_new == 1))這步判斷永遠(yuǎn)都是不成立的,也就不會走 ...
fzhlpp 發(fā)表于 2018-5-17 13:04
你沒看仔細(xì),按鍵沒按下時(shí)key_new的值一直為1
else
{
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |