微控制器的軟體消抖什麼意思

2022-03-04 15:38:12 字數 1573 閱讀 8020

1樓:

你這是用於按鍵消抖的**。

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

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

按鍵穩定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數秒。鍵抖動會引起一次按鍵被誤讀多次。為確保cpu對鍵的一次閉合僅作一次處理,必須去除鍵抖動。

在鍵閉合穩定時讀取鍵的狀態,並且必須判別到鍵釋放穩定後再作處理。

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

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

2樓:華夏沉默

機械按鍵按下時在開始和結束時會有上下鋸齒狀的抖動,大約在10ms左右,如果不消抖會以為是多次按下,造成錯誤,所以檢測到有按鍵按下時會延時大約12ms再操作

3樓:

鍵盤實質上是一組開關,常用的按鍵都為機械彈性開關,利用機械觸點的斷、合作用來實現按鍵功能。當按鍵或鍵鬆開時,由於機械撞擊的作用,開關的動作會產生抖動,時間在5~10ms,若不作處理,很容易誤把一次按鍵當多次按鍵。

解決的辦法是:

a: 加去抖動硬體電路。

b:用軟體延時,待鍵穩定後再作鍵輸入處理

你說的的是b,就是寫個延時程式去除抖動,簡單地說就是跳過抖動的那段時間,再讀按鍵。

4樓:匿名使用者

微控制器通過按鍵輸入操作指令,人員手指的觸鍵動作過程當中,因為人為地不自覺抖動,導致觸鍵連擊,按鍵按下時,電平的變化並不是馬上到位,而是會有一個不穩定的狀態過程,再進入電平穩定狀態。所以連擊引起輸入命令錯誤或故障。必須採取措施,使得即使抖動連擊發生,微控制器也能正確獲取指令正常工作,稱為微控制器消抖。

消抖有硬體消抖和軟體消抖。就是要微控制器能夠識別人員操作是正常觸鍵還是連擊按鍵。硬體消抖通過電路延時來實現如下功能:

連擊操作中,第二次擊鍵時,第一次擊鍵還未生效,所以第二次擊鍵沖掉了第一次擊鍵操作。

5樓:匿名使用者

一般的微控制器開發板,用的按鍵是普通的按鍵開關。其結構為彈簧鐵片,按下時鐵片導通兩端電路,鬆開時鐵片由於彈簧作用斷開兩端電路。這樣的普通按鍵存在一個弊端,就是人的手在按下的時候,由於不能直接導通,可能會由於存在氧化、雜物(灰塵)、人體顫抖等等使其產生一個**電路。

說白了就是按下的時候,不只是一個電平變化,而是一系斷開閉合的方波。而微控制器的處理速度是ms級,也就是說它會把這個變化算為一個訊號輸入。為了避免這個,就用軟體的方式,即按下按鍵後開始延時,延時20ms後(抖動期過後),仍然檢測為按下,就說明真的按下,並且只按下一次。

那麼就進入按鍵程式了。。

如果沒有延時程式,那麼當你按下時,i可能不是++ 而是 i++很多次,可能是10次或者20次。

微控制器,sbit什麼意思,微控制器C程式設計sbit指令是什麼意思

sbit是c51擴充套件的變數型別,是定義特殊功能暫存器的位變數。典型應用是 sbit p0 1 p0 1 即定義p0 1為p0口的第2位,以便進行位操作。在c語言裡,如果直接寫p1.1,c編譯器並不能識別,而且p1.1也不是一個合法的c語言變數名,所以得給它另起一個名字,這裡起的名為p1 1,可是...

51微控制器的 5 是什麼意思,51微控制器的「51」是什麼意思?

1 51是51微控制器的簡稱,是對所有相容intel 8031指令系統的微控制器的統稱。該系列微控制器的始祖是intel的8031微控制器,後來隨著flash rom技術的發展,8031微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是atmel公司的at89系列,它廣泛應用於...

微控制器中PT11是什麼意思,微控制器中的SMOD是什麼意思

定時中斷1優先順序置1。就是定時中斷1設為高優先順序。定時 計數器t1優先順序設定位,定時中斷1為高中斷級 管腳pt1輸出高電平 微控制器中的 od是什麼意思?od屬於特殊暫存器,該位跟串列埠通訊相關,是對定時器t0 t1工作方式跟模式的選擇。它是80c51微控制器中最具有特色的部分,幾乎所有80c...