最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于單片機(jī)按鍵問題性能提升總結(jié)

 更新時(shí)間:2018年12月17日 08:37:07   作者:Engineer-Bruce_Yang  
今天小編就為大家分享一篇關(guān)于關(guān)于單片機(jī)按鍵問題性能提升總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

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

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

在現(xiàn)實(shí)中,論壇上看到以下代碼,我們不妨這樣,沒有用延時(shí),運(yùn)行效率大大提高!單片機(jī)實(shí)時(shí)性能顯著提高!

//讀取按鍵
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 ;
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Qt兩種定時(shí)器使用實(shí)現(xiàn)方式

    Qt兩種定時(shí)器使用實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于Qt兩種定時(shí)器使用實(shí)現(xiàn)方式的相關(guān)資料,Qt中的定時(shí)器類是QTimer,QTimer不是一個(gè)可見的界面組件,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • C語言內(nèi)存函數(shù)的實(shí)現(xiàn)示例

    C語言內(nèi)存函數(shù)的實(shí)現(xiàn)示例

    本文主要介紹了C語言內(nèi)存函數(shù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 基于C++11實(shí)現(xiàn)手寫線程池的示例代碼

    基于C++11實(shí)現(xiàn)手寫線程池的示例代碼

    在實(shí)際的項(xiàng)目中,使用線程池是非常廣泛的,本文主要介紹了基于C++11實(shí)現(xiàn)手寫線程池的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 模擬實(shí)現(xiàn)C語言中的內(nèi)存管理

    模擬實(shí)現(xiàn)C語言中的內(nèi)存管理

    這篇文章主要內(nèi)容是模擬C語言中的內(nèi)存管理,需要的朋友可以參考下
    2015-07-07
  • C++中類的轉(zhuǎn)換函數(shù)你了解嗎

    C++中類的轉(zhuǎn)換函數(shù)你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C++中類的轉(zhuǎn)換函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • c語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用詳解

    c語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用詳解

    本篇文章是對(duì)c語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 中Vector常用基本操作

    C++ 中Vector常用基本操作

    標(biāo)準(zhǔn)庫vector類型是C++中使用較多的一種類模板,本文給大家分享C++ 中Vector常用基本操作,感興趣的朋友一起看看吧
    2017-10-10
  • 詳談浮點(diǎn)精度(float、double)運(yùn)算不精確的原因

    詳談浮點(diǎn)精度(float、double)運(yùn)算不精確的原因

    這篇文章主要介紹了詳談浮點(diǎn)精度(float、double)運(yùn)算不精確的原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 深度理解c++中的this指針

    深度理解c++中的this指針

    這篇文章主要介紹了C++編程指向成員的指針以及this指針的基本使用指南,與C語言一樣,存儲(chǔ)的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址,需要的朋友可以參考下。
    2016-07-07
  • C語言利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)

    C語言利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評(píng)論

德清县| 当阳市| 平安县| 黑水县| 西安市| 易门县| 洞口县| 双江| 肥西县| 化德县| 平凉市| 思南县| 汕头市| 瑞金市| 搜索| 龙里县| 安仁县| 冷水江市| 莲花县| 鄂伦春自治旗| 万载县| 调兵山市| 海晏县| 高安市| 和硕县| 江川县| 文成县| 太白县| 宜丰县| 腾冲县| 永济市| 孟津县| 宝清县| 内江市| 塔城市| 凌源市| 海阳市| 屏山县| 榆中县| 玉田县| 陆河县|