專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機--鍵盤識別

作者:liht1634   來源:轉自liht1634   點擊數:  更新時間:2014年07月28日   【字體:

  單片機的鍵盤由于介入了人為操作,并不都是機器按流程跑,所以必須考慮到人的操作時長遠大于機器周期,所以對于鍵盤狀態(tài)的檢測必須是寫在while中,進行循環(huán)檢測,這些需要實時檢測的狀態(tài)是:從沒有按下到按下,和從已經按下到松手。而為了可以使while中的循環(huán)可以跳出,進入while的判斷語句中的變量要在while循環(huán)中再次賦值,而這個賦值必須是與新狀態(tài)相關的。

 
P3=0xfe;
   temp=P3;
   temp=temp&0xf0;
   while(temp!=0xf0)
    {
     delay(5);
     temp=P3;
     temp=temp&0xf0;
     while(temp!=0xf0)
     {
      temp=P3;
     switch(temp)
      {
       case 0xee:num=1;
        break;
       case 0xde:num=2;
        break;
       case 0xbe:num=3;
        break;
       case 0x7e:num=4;
        break;
      }
     while(temp!=0xf0)
      {
       temp=P3;
       temp=temp&0xf0;
      }
     }
 
就如最后一個while,這是用來檢測松手操作,沒有松手就會進入while中循環(huán),只有循環(huán)中賦判斷語句中的變量被不停地附松手的值,等到松手是才可以跳出while
關閉窗口

相關文章