国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

關于單片機按鍵問題性能提升總結

2020-05-23 13:24:31
字體:
來源:轉載
供稿:網友

最近看了一本書《8051單片機創新教程》,這本書比大學課本寫得好,在大學的課本中,我們常見的按鍵掃描程序如下:

unsinged char KeyScan(void){ unsigned char KeyValue=0; if(KEY_IO != 0xFF) //檢測到有按鍵按下 { DelayNms(20); //延時 20 毫秒(嚴重影響單片機的運行效率) if(KEY_IO != 0xFF)//確認按鍵按下 {  switch(KEY_IO)  {  case 0xFE: KeyValue=1;break;  case 0xFD: KeyValue=2;break;  default : KeyValue=0;break;  } } } return KeyValue;}

在現實中,論壇上看到以下代碼,我們不妨這樣,沒有用延時,運行效率大大提高!單片機實時性能顯著提高!

//讀取按鍵uchar read_key(){  static int Key_on_off = 0 ;//按鍵自鎖變量  uchar num , temp ;  num = P2 ;   num &= 0xf0 ; //將低四位清0  if(num != 0xf0)  {   if(Key_on_off == 0)  {   Key_on_off = 1 ;  switch(num)  {  //返回按鍵的編碼  case 0xe0 : temp = 1 ; break ;   case 0xd0 : temp = 2 ; break ;   case 0xb0 : temp = 3 ; break ;   case 0x70 : temp = 4 ; break ;   }  }    }  else   Key_on_off = 0 ; return temp ;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙南县| 儋州市| 榆林市| 南华县| 阿鲁科尔沁旗| 府谷县| 德令哈市| 和田市| 镇赉县| 高陵县| 伊吾县| 城固县| 东源县| 临清市| 青冈县| 卢龙县| 尼木县| 延津县| 沧源| 湖北省| 萍乡市| 武强县| 田东县| 西吉县| 拉孜县| 峨山| 岐山县| 石棉县| 澄江县| 安陆市| 固阳县| 专栏| 犍为县| 吴川市| 长春市| 东安县| 台江县| 资中县| 亚东县| 榕江县| 旌德县|