<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機的獨立按鍵設計

天才小貍花 ? 來源:Sigle_chip ? 作者:Sigle_chip ? 2022-08-17 08:50 ? 次閱讀

導語:

單片機在運用到實際的產品中,不僅僅只使用IO輸出去控制,更多的時候,我們需要收到一些信號,比如數字信號,模擬量信號等。

按鍵作為一種人機交互的方式,被廣泛的應用在各個工業控制領域。

通過單片機的輪詢來檢測按鍵的電平變化,實現相應的功能。獨立按鍵通過獨占IO,簡化程序的設計,但與此對于的是需要占用IO,比較浪費IO,所以可以通過分時片選復用的方式實現8個IO使用16個按鍵,本節介紹單個IO的輸入。

pYYBAGL7qIGAbCo7AACQhIq-5iA209.png

輕觸開關

俗稱按鍵,常開型,按下后會自動彈起,恢復到斷開狀態。機械開關都伴隨著抖動,由于金屬觸點的彈性作用,一個按鍵開關在閉合時不會馬上就穩定的接通,在斷開時也不會一下子徹底斷開,而是在閉合和斷開的瞬間伴隨了一連串的抖動。

poYBAGHBTkGAXCPsAABGPFd25HE781.png

常見的解決方法有硬件電路解決,RS觸發器,電容等方法。但與之對應的是成本的上升與電路的復雜性上升。

平時更常見的有軟件上的算法,如延時等待按鍵抖動結束,但會導致程序運行的實時性降低。

51單片機上電后,除P0端口外,其余默認為高電平,單片機內部自帶上拉電阻把電平拉高。在傳統8051中,并不能設置單片機IO的輸入輸出模式。通過編寫按鍵程序,識別電平從高到低的過程,從而實現交互。

在程序編寫中,需要實現檢測IO電平是否為低,同時需要實現

  1. 自鎖,按鍵按下一次只運行一次任務,當按鍵松開后,才能按下下一次實現功能,不然一直執行功能。不要去實現長按功能。
  2. 消抖,按下后不穩定的電平變化會影響程序,通過延時去屏蔽掉這段時間。
  • if(Key0 == 0)
    {
    delay(20);
    if(Key0 == 0)
    {
    //功能代碼;
    while(key0 == 0);
    }
    }

按鍵的抖動時間跟按下力度,本身屬性有關,抖動時間不定,通常取經驗值20ms。

獨立按鍵較為簡單,獨立按鍵和矩陣按鍵本質上都是通過單片機的輪詢來檢測IO電平。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6008

    文章

    44087

    瀏覽量

    623085
  • 獨立按鍵
    +關注

    關注

    1

    文章

    45

    瀏覽量

    11478
  • 輕觸開關
    +關注

    關注

    0

    文章

    61

    瀏覽量

    1218
收藏 人收藏

    評論

    相關推薦

    請問怎么實現51單片機獨立按鍵和矩陣按鍵?

    請問怎么實現51單片機獨立按鍵和矩陣按鍵?
    發表于 08-30 06:17

    單片機獨立按鍵到底是什么?

    單片機獨立按鍵到底是什么?
    發表于 10-26 06:32

    什么是51單片機獨立按鍵?

    什么是51單片機獨立按鍵?
    發表于 11-03 06:04

    如何通過編程單片機獨立按鍵控制LED?

    如何通過編程單片機獨立按鍵控制LED?
    發表于 11-03 06:24

    單片機獨立按鍵使用程序

    單片機獨立按鍵使用程序 (51單片機獨立按鍵單片機
    發表于 11-18 08:32

    單片機獨立按鍵和矩陣鍵盤的原理是什么?

    單片機獨立按鍵和矩陣鍵盤的原理是什么?鍵盤的工作方式是什么?
    發表于 01-18 07:31

    如何制作一個單片機獨立按鍵掃描的模塊?

    如何制作一個單片機獨立按鍵掃描的模塊?
    發表于 02-17 06:38

    怎樣去編寫單片機獨立按鍵與矩陣按鍵的掃描函數呢

    單片機獨立按鍵是什么?單片機的矩陣按鍵是什么?怎樣去編寫單片機
    發表于 02-23 06:24

    如何對基于單片機獨立按鍵控制系統進行Proteus仿真呢

    如何利用單片機去設計一種獨立按鍵控制系統呢?如何對基于單片機獨立按鍵控制系統進行Proteus
    發表于 02-23 06:56

    51單片機獨立按鍵按鍵消抖及矩陣按鍵的電路與程序免費下載

    本文檔的主要內容詳細介紹的是51單片機獨立按鍵按鍵消抖及矩陣按鍵的電路與程序免費下載。
    發表于 07-26 17:36 ?28次下載
    51<b class='flag-5'>單片機</b>的<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>和<b class='flag-5'>按鍵</b>消抖及矩陣<b class='flag-5'>按鍵</b>的電路與程序免費下載

    使用51單片機獨立按鍵的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機獨立按鍵的程序免費下載。
    發表于 07-05 17:41 ?3次下載
    使用51<b class='flag-5'>單片機</b><b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>的程序免費下載

    51單片機獨立按鍵程序免費下載

    本文檔的主要內容詳細介紹的是51單片機獨立按鍵程序免費下載。
    發表于 06-20 17:43 ?7次下載
    51<b class='flag-5'>單片機</b>的<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>程序免費下載

    51單片機獨立按鍵數碼管(模塊化)

    51單片機獨立按鍵數碼管(C語言)基于普中51單片機開發板,運用定時器/計數器0。按鍵控制數碼管,實現60秒計時,數值加減清零。文章目錄51
    發表于 11-23 17:06 ?19次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>數碼管(模塊化)

    基于89C51單片機獨立按鍵依次輸入數據源程序

    基于89C51單片機獨立按鍵依次輸入數據源程序
    發表于 05-16 09:12 ?0次下載

    單片機獨立按鍵控制led燈程序

    單片機獨立按鍵控制LED燈程序 單片機獨立按鍵控制LED燈程序是一種簡單而有趣的電子學習項目,它
    的頭像 發表于 09-02 17:05 ?3914次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>