音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

求助:利用定時(shí)中斷可以消除按鍵抖動(dòng)嗎?

作者:yudehenji 欄目:單片機(jī)
求助:利用定時(shí)中斷可以消除按鍵抖動(dòng)嗎?
各位大蝦,小弟現(xiàn)在遇到了按鍵抖動(dòng)問(wèn)題。小弟的想法是這樣的:先設(shè)定時(shí)器20ms溢出中斷一次,在中斷服務(wù)子程序中去讀按鍵的狀態(tài),如果連續(xù)兩次讀取的狀態(tài)都為按下,那么就可以確定按鍵確實(shí)是按下了,F(xiàn)在用到了3個(gè)按鍵。不知道這樣是否行得通?解決過(guò)這個(gè)問(wèn)題的高手給點(diǎn)意見,謝謝大家了!

2樓: >>參與討論
興隆
當(dāng)然可以。
 
3樓: >>參與討論
diagram
利用定時(shí)中斷可以消除按鍵抖動(dòng)嗎?
 
你的想法是否為每隔20ms讀一次按鍵?這樣會(huì)不會(huì)漏掉按鍵?你所用按鍵彈性如何?把你的測(cè)試結(jié)果告訴大家,ok?

4樓: >>參與討論
zhuzhenseu
re:這個(gè)問(wèn)題我也考慮了好久
我現(xiàn)在做的程序就是用這種方法消抖的,但是總感覺效果不大好,我是這么做的:

定時(shí)中斷每隔75MS掃描一次鍵盤狀態(tài),第一次掃描有按鍵按下n0=0,第二次掃描有按鍵按下n1=0;當(dāng)n0=n1=0,則表示有按鍵按下,標(biāo)志值key賦值,同時(shí)把把n0的值改為1,防止馬上的掃描又判斷為有按鍵.  

我的這個(gè)方式在程序中試過(guò),感覺按鍵不是很靈敏,我想這個(gè)方法有公版的程序.不知哪位大俠能否賜教一二. 我的email:zhuzhenseu@163.com

5樓: >>參與討論
xymxym
每隔10ms掃描一次不就行了?
如果用75ms掃描一次,第一次掃描到有鍵按下時(shí)需再過(guò)75ms才會(huì)讀到鍵值,這樣相當(dāng)于要75ms*2的時(shí)間才能得到一個(gè)鍵值,給人的感覺肯定會(huì)有點(diǎn)脫滯!

6樓: >>參與討論
12864
搞清幾個(gè)按鍵的過(guò)程標(biāo)志即可
每20ms檢測(cè)一下鍵盤,如果有按鍵,就置位key_down,然后下20ms再次檢測(cè),如果按鍵還在(去抖),那么key_down就過(guò)渡到key_press,這時(shí)候就可以執(zhí)行對(duì)應(yīng)按鍵操作了;接下來(lái)以后每20ms檢測(cè)一次按鍵是否抬起,如果抬起,就置位key_up,下20ms再次檢測(cè)是否抬起(去抖),如果抬起就不管了。

如果要檢測(cè)連續(xù)鍵,可以在key_press中進(jìn)行,專門有個(gè)變量用于定時(shí)計(jì)數(shù),每超過(guò)一定時(shí)間(200ms,第一次進(jìn)入要700ms)就執(zhí)行一次該鍵操作。

7樓: >>參與討論
yudehenji
感謝!問(wèn)一下,如果按鍵機(jī)械性能比較好的話,是否可以不去抖動(dòng)?
 
8樓: >>參與討論
yudehenji
大家可否有按鍵消抖的程序?貼出來(lái),探討一下!
 
9樓: >>參與討論
diagram
利用定時(shí)中斷可以消除按鍵抖動(dòng)嗎?
按鍵去枓時(shí)間一般在10-20ms之間,依機(jī)械特性定.掃描時(shí)間周期在1ms左右比較合適.

10樓: >>參與討論
forthlab
我一直就是這么做的,當(dāng)然可以.
用定時(shí)中斷,20-50ms
在中斷里面讀鍵盤,直接讀就可以的,不要去抖動(dòng)的!


11樓: >>參與討論
jimsboy
可以
一般的消抖都是中斷,delay10mS然后判斷。如果還是按下則執(zhí)行相應(yīng)程序。
我設(shè)計(jì)的是中斷中只讓它起動(dòng)定時(shí)器。在定時(shí)器溢出中如果有按鍵按下則執(zhí)行相程序

12樓: >>參與討論
SDLYTHY
如果鍵盤和顯示用同一片MCU.
我把顯示做成子程序,檢測(cè)鍵盤,如果有按鍵,就調(diào)用顯示子程,再檢測(cè)鍵盤,如果有按鍵序,進(jìn)行相應(yīng)處理,顯示沒有任何抖動(dòng).

13樓: >>參與討論
chz112
可以
 
14樓: >>參與討論
gzwlym
OK
沒問(wèn)題的
我一直這樣用

15樓: >>參與討論
stiffen
Other way!
為什么不考慮考慮用硬件電路解決呢?
去抖動(dòng)電路很多的嗎

16樓: >>參與討論
guocherish
兩次間隔10ms就可以了,就是這樣的
 
17樓: >>參與討論
新手
以你的開關(guān)用途而定,我檢測(cè)機(jī)械開關(guān),中斷延時(shí)500ms檢測(cè)一次
 

* - 本貼最后修改時(shí)間:2005-1-25 8:37:16 修改者:新手

18樓: >>參與討論
fly1978
www.zlgmcu.com上有一篇文章可以借鑒
http://www.zlgmcu.com/philips/yingrong/51lpc/p87lpc761_timerCTRL.pdf
利用P87LPC761單片機(jī)設(shè)計(jì)時(shí)間控制器

關(guān)于按鍵的處理可以看看

http://www.zlgmcu.com/philips/yingrong/51lpc/p87lpc761_timerctrl.pdf

19樓: >>參與討論
xdwumin
每1ms到20ms一次,前一次沒按下后一次按下則判為有按鍵
我一直這么用,效果不錯(cuò)

20樓: >>參與討論
新手
堅(jiān)決不要這樣,軟件消抖很方便,不占多少資源
 
21樓: >>參與討論
sybaselu
我是這樣的
做一個(gè)遙控按鍵接受程序,開始延時(shí)9ms高電平后延時(shí)4.5ms低電平。我用延時(shí)消除抖動(dòng)的,我做的延時(shí)程序是這樣的:大循環(huán)10次,小循環(huán)用j=108; while(--j)延時(shí)830us共延時(shí)8533us,但為什么不能將大循環(huán)改成108次,小循環(huán)改成10次呢(我這樣做接受端根本不解碼,)。都是延時(shí)9ms。空(qǐng)教!

22樓: >>參與討論
sybaselu
頂一次
 
23樓: >>參與討論
winhiwang
估計(jì)應(yīng)該是總的執(zhí)行代碼數(shù)不同,如果用匯編就不會(huì)有這個(gè)現(xiàn)象了
 
24樓: >>參與討論
潼關(guān)懷古
如果
如果你不怕多占用一個(gè)外部中斷,可以用外部中斷控制TIMER的中斷,當(dāng)有外部中斷時(shí)才開TIMER中斷,隔N秒后再測(cè)試案件,并消除TIMER 中斷

25樓: >>參與討論
sharks
xdwumin說(shuō)得非常對(duì)。。
   抖動(dòng)時(shí)間一般〈20mS。如果每20毫秒讀取一次狀態(tài),無(wú)論如何抖動(dòng),前一次沒按下后一次按下 一定是有效按鍵! 

26樓: >>參與討論
hotpower
N秒手感肯定不好...
 
27樓: >>參與討論
06202105
sure
如果按踺不多的話,可以用一個(gè)RS觸發(fā)器,用硬件消除抖動(dòng)!如果考慮成本的話,可以延時(shí)20MS就成,簡(jiǎn)單實(shí)用

28樓: >>參與討論
AIRWILL
此法我用了多次
很正常,只是時(shí)間可以縮短一些,而可以改二次確認(rèn)為3,4次確認(rèn)

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
如何在占用最少資源的情況下,只利用一個(gè)IO來(lái)通信——?
華邦W78E52B老化后失效?
stc51RC/RD系列單片機(jī) 片內(nèi)E2PROM 大家用的怎么樣?
一個(gè)很奇怪的問(wèn)題,為什么會(huì)比原來(lái)小9%?
各位大蝦幫忙推薦帶10位AD的51單片機(jī)。在線等
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)