日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

和12岁小同志搞创客开发:检测按键状态的两件法宝

發布時間:2023/11/27 生活经验 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 和12岁小同志搞创客开发:检测按键状态的两件法宝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1、檢測電平變化,判斷按鍵狀態

2、使用中斷觸發,判斷按鍵狀態


機緣巧合在網上認識一位12歲小同志,從零開始系統輔導其創客開發思維和技巧。

???項目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html?


按鍵是創客開發過程中必不可少的器件之一,用戶可以通過按鍵實現交互控制。例如:按鍵開關燈、長按按鍵解除報警、按鍵實現設備控制等功能。

檢測按鍵狀態有兩種方式:第一種,檢測按鍵端口的輸出電壓信號變化,判斷按鍵的狀態;第二種,按鍵狀態變化觸發中斷。

下面讓我們學習這兩種檢測按鍵狀態的方法~

1、檢測電平變化,判斷按鍵狀態

在如何驅動各類型傳感器?這篇文章中講到:可以將傳感器進行分類,主要包括:數字量輸出類型傳感器、數字量輸入類型傳感器、模擬量電壓類型傳感器、模擬量電流類型傳感器和協議類型傳感器

按鍵本質上并不是傳感器,但是按照驅動方式來看,可當作數字量輸出類型傳感器,進行驅動。

可以通過按鍵的設計圖明白其中的原理,如下圖所示,假設TP點接入單片機IO端口,當按鍵未被按下時,此處為5V高電平,當按鍵被按下時,此處就會變為0V低電平,通過這種高、低電平狀態變化判斷按鍵的狀態變化。

未按下按鍵電壓狀態
按下按鍵電壓狀態

那么設計按鍵控制LED亮、滅的程序就非常好理解了,如下所示:

2、使用中斷觸發,判斷按鍵狀態

我們在設計功能時,難免要用到延時,如果延時時間過長,可以發現按鍵就不那么靈敏了,主要原因在于:延時消耗過多的處理器資源,程序大多時間都運行在延時函數中,無法進行按鍵狀態的判斷。

這時候就需要使用中斷觸發功能了~

當控制器正在處理內部數據時,外界發生了緊急情況,要求CPU暫停當前的工作轉去處理這個緊急事件。處理完畢后,再回到原來被中斷的地址,繼續原來的工作,這樣的過程稱為中斷,過程如下所示:

可通過監測按鍵電平信號變化,觸發中斷,如下圖情況所示,當按鍵未按下,此時是5V高電平信號。

當按下按鍵瞬間,高電平會切換到低電平,產生下降沿信號,此時可觸發下降沿中斷。

?當松開按鍵瞬間,低電平會切換到高電平,產生上降沿信號,此時可觸發上降沿中斷。

中斷程序的實現也非常簡單,無需在主程序中設計程序,選擇合適的中斷信號觸發模式,將需要實現的功能寫在中斷處理函數中,當檢測到相應的觸發信號,中斷處理函數就可以運行了,如下所示:

?有一點需要注意,中斷處理函數適合處理“急件”,處理完畢后,再回到原來被中斷的地址,繼續原來的工作,所以不應該在中斷程序中有大量長時間的延時,以免對主程序產生影響。

總結

以上是生活随笔為你收集整理的和12岁小同志搞创客开发:检测按键状态的两件法宝的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。