在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)按鍵程序設(shè)計及電路設(shè)計

      單片機(jī)按鍵程序設(shè)計及電路設(shè)計

      作者: 時間:2013-01-15 來源:網(wǎng)絡(luò) 收藏

      二、按鍵實(shí)驗(yàn)例程
      下面我們通過幾個實(shí)驗(yàn)例程來學(xué)習(xí)按鍵掃描編程及按鍵軟件消抖動的編程,通過這些對比實(shí)驗(yàn),給大家一個更加感性的認(rèn)識。

      1、按鍵K1控制LED指示燈實(shí)驗(yàn):本程序通過實(shí)驗(yàn)板上的按鍵K1控制P1.0上的LED亮滅。程序功能如下:當(dāng)K1按下開關(guān)時指示燈亮,再次按下時指示燈滅。

      輕觸按鍵K1控制指示燈的實(shí)驗(yàn)例程(沒有軟件消抖動處理) 實(shí)驗(yàn)結(jié)果分析:

      ORG 0000H
      AJMP START ;跳轉(zhuǎn)到初始化程序

      ORG 0033H
      START:MOV SP,#60H ;SP初始化
      MOV P3,#0FFH ;端口初始化

      MAIN: JB P3.2,MAIN ;檢測按鍵K1有沒有按下
      CPL P1.0 ;執(zhí)行按鍵命令,改變P1.0指示燈狀態(tài)
      JNB P3.2,$ ;等待按鍵K1釋放
      AJMP MAIN ;返回重新檢測按鍵

      END

      由于本實(shí)驗(yàn)程序中沒有進(jìn)行軟件消抖動延時處理,我們把程序燒寫到上運(yùn)行時,多次按壓K1控制LED的亮滅,發(fā)控制不太穩(wěn)定,大約按十次,LED發(fā)光二極管的輸出狀態(tài)有2到3次是錯誤的。

      這就是因?yàn)闆]有軟件去抖動的原因,在按鍵的前沿抖動或后沿抖動期間,抖動脈沖均有可能被程序檢測而錯誤執(zhí)行,此時相當(dāng)于按鍵被按壓和松開了N次,LED的輸出狀態(tài)也已經(jīng)改變了N次,故松開按鍵后LED的狀態(tài)是一個隨機(jī)結(jié)果。

      2、改進(jìn)的按鍵K1控制LED指示燈實(shí)驗(yàn):本程序通過實(shí)驗(yàn)板上的按鍵K1控制P1.0上的LED亮滅。程序功能如下:當(dāng)K1按下開關(guān)時指示燈亮,再次按下時指示燈滅。

      改進(jìn)的輕觸按鍵K1控制指示燈的實(shí)驗(yàn)例程(經(jīng)過軟件消抖動處理) 實(shí)驗(yàn)結(jié)果分析:

      ORG 0000H
      AJMP START ;跳轉(zhuǎn)到初始化程序

      ORG 0033H
      START:MOV SP,#60H ;SP初始化
      MOV P3,#0FFH ;端口初始化

      MAIN: JB P3.2,MAIN ;檢測按鍵K1有沒有按下
      ACALL YS20ms ;消前沿抖動延時,實(shí)現(xiàn)軟件去抖動
      JB P3.2,MAIN ;再次檢測按鍵,如果為高電平,則是抖動
      CPL P1.0 ;執(zhí)行按鍵命令,改變P1.0指示燈狀態(tài)
      JNB P3.2,$ ;等待按鍵K1釋放
      AJMP MAIN ;返回重新檢測按鍵

      YS20ms:
      MOV R7,#40 ;延時20ms子程序
      YS1: MOV R6,#229
      DJNZ R6,$
      DJNZ R7,YS1
      RET

      END

      由于本實(shí)驗(yàn)程序中對按鍵的前沿抖動進(jìn)行20ms的軟件消抖動延時處理,我們把程序燒寫到上運(yùn)行,多次按壓K1控制LED的亮滅,發(fā)控制就很穩(wěn)定了,不會出現(xiàn)控制錯誤的現(xiàn)象。

      通過本實(shí)驗(yàn),可以看出軟件去抖動延時還是很重要的,消抖動延時時間一般在5~20ms之間,實(shí)際應(yīng)用時候根據(jù)實(shí)驗(yàn)取得最佳延時。

      本程序沒有對按鍵松開時的后沿抖動進(jìn)行消抖動,如果在要求很嚴(yán)格的系統(tǒng)中,建議增加后沿消抖動延時處理,這樣可以確保按鈕不會產(chǎn)生誤動作。

      3、帶按鍵音效的按鍵掃描實(shí)驗(yàn)例程:下面的按鍵掃描實(shí)驗(yàn)例程除了有軟件消抖動功能外,還具有按鍵音效,當(dāng)按壓按鍵K1~K4時候,按鍵號碼會顯示在實(shí)驗(yàn)板的數(shù)碼管上,同時可以聽到按鍵音。

      51單片機(jī)相關(guān)文章:51單片機(jī)教程



      上一頁 1 2 下一頁

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉