導航:首頁 > 方法技巧 > 單片機如何用軟體方法去抖

單片機如何用軟體方法去抖

發布時間:2023-03-26 13:00:07

Ⅰ 開關抖動 如何消除

開關抖動的處理可以分為硬體去抖動和軟體去抖動。
硬體去抖動增加硬體投入
在單片機應用電路中,一般採用軟體去抖動,軟體去抖動就是執行一段軟體延時程序
即鍵按下先延時消抖,等鍵穩定後鍵抬起之前再延時消抖,直至鍵完全抬起,恢復初始狀態。

Ⅱ 單片機按鍵如何消抖

if (key==0)如果按鍵按下

for(i=0;i<100;i++):利用延時消除抖動
if (key==0)再次判斷按鍵,如果還是按下狀態

(要執行的語句)則執行相關語句

這是常用的軟體消抖方法

Ⅲ 單片機的按鍵開關抖動的產生原因,抖動的特點和如何消除抖動

開關按鈕在按下時,表面上只按了一下,但信號的傳導並不是單純的由1直接跳到0。這是由於機械觸點斷開/閉合時會有抖動,信號如圖示會在HIGH和LOW之間抖動。這種抖動對人來說是感覺不到的,但對單片機來說,則是完全可以感應到的。
當按鈕被按下時,你所期待的效果應該是:111111111000000000…,
而事與願違,單片機讀到的信號可能會是:111110110110000000…,
這中間連續的1和0過渡處,短暫的幾個隨機交錯出現的01就是我們不期望產生的抖動,雖然我們只按了一下按鈕,可能會被電路誤讀成按了好幾下按鈕,而給人的感覺就是有時候按鈕會不靈。消抖的目的就是為了要除去信號在高低電位之間彈跳所造成的不正確輸入,就是交錯出現的01那段,一般抖動持續的時間是3-10毫秒。所以簡單的去抖動操作,只要在這段抖動出現的時間跨度兩端進行兩次按鈕狀態檢測即可:
假設放開按鈕信號為1,按下為0,
那麼當首次檢測到按鈕為0,過10ms再次檢測,若依然為0,按鈕按下有效;若為1,說明為抖動,去除。

更可靠,更靈敏的消抖做法為:
首次檢測到按鈕為0後,以後的3-5ms持續檢測,若檢測到信號一直為0,則按鈕有效,若中間有一次不為0,時間清0,重新計時,直到連續3-5ms按鈕信號一直為0,方為有效。(補充一下,持續檢測的意思,並不是讓你把全部的CPU時間全部花在這上面,否則這幾ms時間內單片機相當於死機了,影響其它進程,而是間隔性地采樣一下,比如5ms之內檢測10次,10次全為0有效,其它時間CPU當然去處理別的事務)

至於按鈕的連按和單按、雙按,多按鈕同時生效等更復雜的功能,可藉助其它的標志位實現。

Ⅳ AT89C51單片機:簡述在使用普通按鍵的時候,為什麼要進行去抖動處理,怎麼處理

從機械按鍵的結構來看,在機械按鍵接觸的瞬間,會出現接觸或者是沒有接觸的情況。在機械按鍵老跡拿化的時候,或者在其他干擾的情況下都會出現按鍵被誤觸發的情況。

去除機械按鍵這種抖動的措施有硬體方法,還有軟體方法,硬體方法就是在按鍵上增加電容去除干擾。在按鍵上串一個電阻也可以解決靜電或者是其他干擾對按鍵造成的干擾。軟體去抖動也是一種非常常宴肢見的去抖動的方法,就是對按鍵進行多次的檢測,每次檢測都被按下才認為按鍵被按下。

(4)單片機如何用軟體方法去抖擴展閱讀:

單片機使用注意事項:

室外使用的單片機系統或電源線,信號線從室外架空引入室內的要考慮系統的防雷擊問題,氣體放電管TVS,這類元器件要和抗共模和抗差模干擾的電感配合使用以提高抗干擾效果。

典晌州世型的信號隔離是光電隔離。屏蔽則是用來隔離空間輻射的,對雜訊特別大的部件,如開關電源,用金屬盒罩起來。對特別怕干擾的模擬電路,如高靈敏度的弱信號放大電路可屏蔽起來。而重要的是金屬屏蔽本身必須接真正的地。

Ⅳ 51單片機,用按鍵實現外部中斷,軟體如何去抖

外部中斷的一般都是採用延時程序,而且延時程序一般是利用定時器做10~15ms的延時去抖,來實現的,而且時間不是特別精確,單片機書上和有關資料上應該都有我寫一個參考一下:
void DelayMS(unsigned char a)
{int i;
for(;a>0;a--)
for(i=110;i>梁模0;i--);
}延時約為a毫秒,不過不夠准確,可以通過keil軟體或者匯編來確立更精確的延時時孝渣賣間!
在中斷執行前先做判斷:用if語句看看引腳的電平,如果沒有跳變,那麼再延時判斷,如果還沒有跳變那麼再延時,如此重復;
等到電平跳變了,延時看看是不是電平收其他非操作性因素引起的,比如說電源抖動,延時之後再判斷如果的確是跳變了,可巧逗以進行中斷後的操作了!

Ⅵ 單片機的軟體消抖什麼意思

你這是用於按鍵消抖的代碼。

通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由於機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上辯猛穩定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產攜卜橋生這種現象而作的措施就是按鍵消抖。

抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數,在很多場合都要用到。

按鍵穩定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數秒。鍵抖動會引起一次按鍵被誤讀多次。為確保CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩定時讀取鍵的狀態,並且弊穗必須判別到鍵釋放穩定後再作處理。

按鍵按下至松開的波形如下圖所示:

如果按鍵較多,常用軟體方法去抖,即檢測出鍵閉合後執行一個延時程序,5ms~10ms的延時,讓前沿抖動消失後再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當檢測到按鍵釋放後,也要給5ms~10ms的延時,待後沿抖動消失後才能轉入該鍵的處理程序。

Ⅶ 單片機按鍵去抖動有哪些方法

在按鍵上增加電容去除干擾,在按鍵上串一個電阻也可以解決靜電或者是其他干擾對按鍵造成的干擾。

軟體去抖動也是一種非常常見的去抖動的方法,就是對按鍵進行多次的檢測,每次檢測都被按下,才認為按鍵被按下。軟體去抖動要採用多次採集的方法,中間的間隔可以使用延時或者使用分時的思想來進行去抖動,一般的軟體去抖中都是用分時思想去抖動。

(7)單片機如何用軟體方法去抖擴展閱讀:

注意事項:

按鍵穩定閉合時間長短是由操作人員決定的,通常都會在100ms以上,刻意快速按的話能達到40-50ms左右,很難再低了。抖動時間是由按鍵的機械特性決定的,一般都會在10ms以內。

為了確保程序對按鍵的一次閉合或者一次斷開只響應一次,必須進行按鍵的消抖處理。當檢測到按鍵狀態變化時,不是立即去響應動作,而是先等待閉合或斷開穩定後再進行處理。

利用電容的充放電特性來對抖動過程中產生的電壓毛刺進行平滑處理,從而實現消抖。但實際應用中,這種方式的效果往往不是很好,而且還增加了成本和電路復雜度,所以實際中使用的並不多。

閱讀全文

與單片機如何用軟體方法去抖相關的資料

熱點內容
女生發燒有哪些退燒方法 瀏覽:746
提肌訓練方法大全 瀏覽:955
氧化鋁原料檢測方法及儀器 瀏覽:708
先天性畸形治療方法 瀏覽:849
流式細胞儀使用方法 瀏覽:537
哪裡有修煉的方法 瀏覽:804
側方30公分線最佳找點方法 瀏覽:709
夾布條的最佳方法 瀏覽:992
做事方法分析 瀏覽:830
紅石電路密室教學方法 瀏覽:403
地下水滅蟻靈的檢測方法 瀏覽:715
纖維長度測量方法 瀏覽:455
草席上的油漬怎麼去除最快方法 瀏覽:706
碘131治療甲亢方法 瀏覽:415
通草與作用及食用方法 瀏覽:285
結巴的治療方法 瀏覽:497
電腦虛擬值在哪裡設置方法 瀏覽:842
真假紅櫻子鑒別方法 瀏覽:598
改善大腿後側涼的鍛煉方法 瀏覽:301
527加99用簡便方法怎麼算 瀏覽:637