㈠ plc 延時消抖的問題
PLC自帶"消抖",這點我們在做程序時無需考慮.
"當按下X1時,此時Y1由於電氣互鎖處於斷路狀態,Y0無法得電" ------------ Y1正是出於斷路狀態才能讓Y0得電.
不理解的話建議實際動手操練下...單片機上延時消抖滿足簡單應用可以
㈡ 單片機消抖延時程序
暈~~ 就是單片機做延時 按鍵抖動MS級的 讓單片機延時跳過那個時間就行了
㈢ 為什麼在中斷裡面加個延時會變的很慢很慢
中斷里最好不要加延時,中斷里的程序運行時間越短越好。
㈣ 獨立鍵盤,添加了延時消抖函數就用不了了,不管延時時長多少,但是撤去延時就可以了,但是數字變化好快。
你是用的ccs吧!還有就是定義的想,x,y,z用int不要用uint,
㈤ 單片機用延時消抖,延時後為什麼要再一次判斷
延時的目的,就是延時後再判斷一次,否則延時有什麼用?你以為延時是為了玩嗎?
延時過後,按鍵的抖動以過去,處於平穩接觸狀態,這次再判斷,才是可靠的。
而延時前的第一次判斷,可能是處於抖動狀態,這樣的判斷就不準確了。
㈥ 單片機外中斷消抖的問題 我的方法為什麼不行
不建議用外部中斷來檢測按鍵。
外部中斷是用來檢測要求響應速度高(微秒級)的外設的,而按鍵的動作時間都大於40毫秒,你可以測試一下。
雖然還是有很多做開發板的把按鍵做在中斷上,但那隻是驗證是否好用,產品上盡量不要這樣做。
按鍵消抖也不要用延時10ms再檢測一次的辦法,延時的這10ms實在是浪費控制器的資源,要知道時間對微控制器來說是非常寶貴的。
在做按鍵檢測時,建議設置一個10ms的定時器中斷作為時鍾節拍,並在中斷中設置標志。
程序的主循環中檢測時鍾節拍標志,檢測到標志後清除標志並掃描按鍵,記錄當前按鍵狀態並和上次檢測的結果做比較,並記錄相同的次數,連續三次檢測到同一個按鍵按下,則確認按鍵按下。
這樣既可以消抖保證按鍵的准確,又較少的佔用了微控制器的時間資源,稍微增加了點程序的空間,在單片機做的人機界面的系統中,應該是最合算的。
下面兩個問題,你可以參考一下。
http://..com/question/518522337?&oldq=1
http://..com/question/520571012?&oldq=1
㈦ 軟體消抖一般時間是多久
一般的單片機開發板,用的按鍵是普通的按鍵開關。其結構為彈簧鐵片,按下時...為了不產生這種現象而作的措施就是按鍵消抖。 抖動時間的長短由按鍵的機械...
㈧ 單片機中什麼是抖動如何消除抖動
單片機中抖動是按鍵所用的開關都是機械彈性開關,當機械觸點斷開、閉合時,由於機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上就穩定的接通,在斷開時也不會一下子徹底斷開,而是在閉合和斷開的瞬間伴隨了一連串的抖動。利用電容的充放電特性來對抖動過程中產生的電壓毛刺進行平滑處理,從而實現消抖。
按鍵穩定閉合時間長短是由操作人員決定的,通常都會在100ms以上,刻意快速按的話能達到40-50ms左右,很難再低了。
抖動時間是由按鍵的機械特性決定的,一般都會在10ms以內,為了確保程序對按鍵的一次閉合或者一次斷開只響應一次,必須進行按鍵的消抖處理。
當檢測到按鍵狀態變化時,不是立即去響應動作,而是先等待閉合或斷開穩定後再進行處理。按鍵消抖可分為硬體消抖和軟體消抖。
(8)軟體消抖延時過長會怎樣擴展閱讀
單片機在電子技術中的開發,主要包括CPU開發、程序開發、 存儲器開發、計算機開發及C語言程序開發,同時得到開發能夠保證單片機在十分復雜的計算機與控制環境中可以正常有序的進行,這就需要相關人員採取一定的措施:
(1)CPU開發。開發單片機中的CPU匯流排寬度,能夠有效完善單片機信息處理功能緩慢的問題,提高信息處理效率與速度,開發改進中央處理器的實際結構,能夠做到同時運行2-3個CPU,從而大大提高單片機的整體性能。
(2)程序開發。嵌入式系統的合理應用得到了大力推廣,對程序進行開發時要求能夠自動執行各種指令,這樣可以快速准確地採集外部數據,提高單片機的應用效率。
(3)存儲器開發。單片機的發展應著眼於內存,加強對基於傳統內存讀寫功能的新內存的探索,使其既能實現靜態讀寫又能實現動態讀寫,從而顯著提高存儲性能。
(4)計算機開發。進一步優化和開發單機片應激即分析,並應用計算機系統,通過連接通信數據,實現數據傳遞。
㈨ 單片機的軟體消抖什麼意思
你這是用於按鍵消抖的代碼。
通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由於機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產生這種現象而作的措施就是按鍵消抖。
抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數,在很多場合都要用到。
按鍵穩定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數秒。鍵抖動會引起一次按鍵被誤讀多次。為確保CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩定時讀取鍵的狀態,並且必須判別到鍵釋放穩定後再作處理。
按鍵按下至松開的波形如下圖所示:
如果按鍵較多,常用軟體方法去抖,即檢測出鍵閉合後執行一個延時程序,5ms~10ms的延時,讓前沿抖動消失後再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當檢測到按鍵釋放後,也要給5ms~10ms的延時,待後沿抖動消失後才能轉入該鍵的處理程序。
㈩ keil按鍵去抖問題,用了消抖延時,還是按一下顯示很多,是什麼問題呢
現在的情況是,沒有按鍵一樣執行下面的switch操作,
把這個switch(){......}放在 keytemp=scan1 | scan2; 後面一行即可。