女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

你不知道的按鍵電路設計優化方案

單片機技術宅 ? 來源:單片機技術宅 ? 作者:小代 ? 2022-12-07 10:28 ? 次閱讀

單片機系統里,按鍵是常見的輸入設備,今天就介紹幾種按鍵硬件、軟件設計方面的設計技巧。在按鍵的設計上,通常會有一下四種方案,接下來我們將一種一種的講解。

01GPIO口直接檢測單個按鍵?

電路原理圖如圖下所示

65fd293c-75be-11ed-8abf-dac502259ad0.jpg

這是最簡單和最基礎的,對于單片機初學者很容易理解和使用,但是缺點是,需要在主循環中不斷檢測按鍵是否按下,并且需要做消抖處理。若主循環中某個函數任務占用時間較長,則按鍵會有不同程度的“失靈”。

02按鍵較多則使用矩陣鍵盤

電路原理圖如圖所示

661fea08-75be-11ed-8abf-dac502259ad0.jpg

這也就是我們通常說的矩陣鍵盤的電路。優點是能夠在有限的GPIO情況下,擴展盡可能多的按鍵。但缺點同上,需要不停檢測按鍵是否按下。

03將按鍵接到外部中斷引腳上

電路原理圖如圖所示,利用按鍵按下產生的邊沿信號進行按鍵檢測

664372ac-75be-11ed-8abf-dac502259ad0.jpg

這種方式是效率最高的,不需要循環檢測按鍵是否按下,但是缺點是,需要單片機有足夠的外部中斷接口以供使用。

04利用單片機的ADC檢測按鍵

電路原理圖如圖所示,在不同的按鍵按下后,能夠使得ADC接口上的電壓不同,根據電壓的不同,則可以識別按鍵。

6665e968-75be-11ed-8abf-dac502259ad0.jpg

此方案的優點是,只需要單片機的一個ADC接口,一根線,就能對多個按鍵進行識別,缺點是按鍵一旦內部接觸不良,則可能按鍵串位,且按鍵產生的抖動,會造成一定的識別錯誤。

在以上的三種常見按鍵設計的基礎上,現在分享小編總結的按鍵優化方案。

01改進一

在原方案一的基礎上,加上與門電路,使得任何一個按鍵按下,都能產生中斷,然后在中斷里面識別是哪個按鍵被按下。因此不需要循環掃描,大大提高了效率。方案如圖下圖所示。只需要每個按鍵對應地增加一個二極管,利用二極管的線與特性,可以實現按下任何按鍵,都能產生中斷信號,但是按鍵之間互不影響。二極管選用普通整流二極管即可,本人親測可行。

668fd9c6-75be-11ed-8abf-dac502259ad0.jpg

02改進二

在原有的ADC按鍵的基礎上,也可用增加二極管的方式,實現按鍵中斷,并在中斷服務程序里進行AD轉換,從而識別按鍵。電路如圖下所示。

66a74e26-75be-11ed-8abf-dac502259ad0.jpg

03改進三

因為按鍵不可避免的有抖動,因此按鍵消抖可以通過硬件消痘和軟件消抖。現在分享一個十分簡單且有效的硬件消抖方法:給按鍵并聯一個104左右的電容。軟件上基本不用處理即可避免抖動。

04改進四

在按鍵掃描檢測的方案下,如果主循環中有某個函數占用時間較長,則按鍵會發生或長或短的“失靈”,我們可以將按鍵掃描放到定時器中斷里面,這樣就可周期性地檢測按鍵按下情況,不受主循環的影響。并且,能解析出按鍵的不同狀態,即按下、按住、彈起、為按下這四種狀態,用以實現更豐富的功能。

需注意兩點

一是定時器的定時時間,不可過長也不可過短,過長容易檢測不到按下,過短會占用大量時間資源。

二是中斷服務程序需簡單明了,只做檢測用,通過全局變量傳遞,在主循環內完成按鍵響應,中斷服務函數內盡量不要占用太多時間。

審核編輯:湯梓紅

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

    關注

    6063

    文章

    44923

    瀏覽量

    646978
  • 電路原理圖
    +關注

    關注

    40

    文章

    351

    瀏覽量

    38949
  • adc
    adc
    +關注

    關注

    99

    文章

    6639

    瀏覽量

    548271
  • GPIO
    +關注

    關注

    16

    文章

    1273

    瀏覽量

    53585
  • 按鍵電路
    +關注

    關注

    1

    文章

    35

    瀏覽量

    21966

原文標題:你不知道的按鍵電路設計優化方案

文章出處:【微信號:chuxue_MCU,微信公眾號:單片機技術宅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Miniplayer小技巧 保證有不知道

    Miniplayer小技巧 保證有不知道的 1,用電源充電完成后先別拔充電器,先按住開關別放再拔開線就不用更新歌曲庫了。
    發表于 02-01 16:38 ?757次閱讀

    玩轉iPhone:可能不知道的iPhone實用技巧

    玩轉iPhone:可能不知道的iPhone實用技巧 玩iPhone有段時間了吧,怎么才能讓iPhone更順手呢?在這里可以看到一些最新的iPhone小技巧
    發表于 04-07 09:22 ?337次閱讀

    絕對有不知道的iOS自身小技巧!

    ?iOS本身就是一個很流暢,很人性化的系統,但是功能多,一般使用的人有些功能并不知道如何使用。小編找了幾點小iOS自身的使用小技巧分享給大家。
    發表于 12-19 13:42 ?622次閱讀

    vivox9Plus彭于晏男神都夸贊的8大絕招,不知道就out了!

    vivox9Plus彭于晏男神都夸贊的8大絕招,不知道就out了。
    發表于 01-18 12:59 ?1650次閱讀

    不知道的 Vivo X9玩機小技巧!磨砂黑版會買嗎?

    Vivo x9新配色,磨砂黑版現已在火熱預訂中,不知道購置x9的小伙伴對手機的體驗怎么樣?
    發表于 03-11 10:19 ?3220次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>不知道</b>的 Vivo X9玩機小技巧!磨砂黑版<b class='flag-5'>你</b>會買嗎?

    低功耗藍牙不知道怎么選型?看這里!

    低功耗藍牙不知道怎么選型?看這里!
    發表于 07-27 16:46 ?12次下載

    到底知不知道硬件設計是什么?

    想學習硬件電路方面的設計,但不知道怎么入手? 懵懵懂的進入硬件領域,對自己的發展和方向很迷茫? 做了一段時間硬件設計,事業發展和薪資遭遇瓶頸? 有時候必須承認,還不夠優秀!
    的頭像 發表于 05-18 11:27 ?9967次閱讀

    關于可能不知道的printf

    可能不知道的printf
    的頭像 發表于 02-05 12:28 ?2884次閱讀
    關于<b class='flag-5'>你</b>可能<b class='flag-5'>不知道</b>的printf

    不知道的這12個細節,正毀掉電路

    項目,擺脫實驗調試時的煩悶,苦惱不知道問題出在哪里,就快點了解下面這些電路設計中的細節! (1)為了獲得具有良好穩定性的反饋電路,通常要求在反饋環外面使用一個小電阻或扼流圈給容性負載提供一個緩沖。? (2)積分
    的頭像 發表于 10-29 17:29 ?629次閱讀

    如果不知道斜拉鏈機頭輪軸磨損怎么修,請看這里

    如果不知道斜拉鏈機頭輪軸磨損怎么修,請看這里
    發表于 06-16 14:55 ?1次下載

    不知道的FPC,它的發展史竟然是這樣的!

    不知道的FPC,它的發展史竟然是這樣的!
    的頭像 發表于 11-15 10:48 ?1775次閱讀

    7種MOSFET柵極電路的常見作用,不看不知道

    7種MOSFET柵極電路的常見作用,不看不知道
    的頭像 發表于 12-15 09:46 ?2620次閱讀
    7種MOSFET柵極<b class='flag-5'>電路</b>的常見作用,不看<b class='flag-5'>不知道</b>!

    揭秘pcb是什么物質:不知道的“化學戰士”

    揭秘pcb是什么物質:不知道的“化學戰士”
    的頭像 發表于 12-14 10:27 ?1493次閱讀

    輥壓機軸承位磨損修復不知道的那些事

    電子發燒友網站提供《輥壓機軸承位磨損修復不知道的那些事.docx》資料免費下載
    發表于 03-12 15:10 ?0次下載

    關于陶瓷電路不知道的事

    陶瓷電路板(Ceramic Circuit Board),又稱陶瓷基板,是一種以陶瓷材料為基體,通過精密的制造工藝在表面形成電路圖形的高技術產品,快來看看哪些是您還不知道的事?
    的頭像 發表于 10-21 11:55 ?846次閱讀
    關于陶瓷<b class='flag-5'>電路</b>板<b class='flag-5'>你</b><b class='flag-5'>不知道</b>的事