1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7697|回復(fù): 23
收起左側(cè)

單片機(jī)按鍵按下判斷為什么識(shí)別兩次?

  [復(fù)制鏈接]
ID:636538 發(fā)表于 2019-11-28 14:18 | 顯示全部樓層 |閱讀模式
if((P1&0x0f)!=0x0f)      //列線中有一位為低電平“0”,說明有鍵按下
         delay20ms();           //延時(shí)一段時(shí)間、軟件消抖
      if((P1&0x0f)!=0x0f)      //確實(shí)有鍵按下
為什么按鍵的判斷要兩次


回復(fù)

使用道具 舉報(bào)

ID:584771 發(fā)表于 2019-11-28 17:40 | 顯示全部樓層
加延時(shí)是為了消除機(jī)械按鍵的抖動(dòng)
回復(fù)

使用道具 舉報(bào)

ID:275826 發(fā)表于 2019-11-28 17:46 | 顯示全部樓層
通常按鍵所用的開關(guān)都是機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上就穩(wěn)定的接通,在斷開時(shí)也不會(huì)一下子徹底斷開,而是在閉合和斷開的瞬間伴隨了一連串的抖動(dòng).



按鍵穩(wěn)定閉合時(shí)間長短是由操作人員決定的,通常都會(huì)在100ms以上,刻意快速按的話能達(dá)到40-50ms左右,很難再低了。

抖動(dòng)時(shí)間是由按鍵的機(jī)械特性決定的,一般都會(huì)在10ms以內(nèi),為了確保程序?qū)Π存I的一次閉合或者一次斷開只響應(yīng)一次,必須進(jìn)行按鍵的消抖處理。當(dāng)檢測到按鍵狀態(tài)變化時(shí),不是立即去響應(yīng)動(dòng)作,而是先等待閉合或斷開穩(wěn)定后再進(jìn)行處理。

 
回復(fù)

使用道具 舉報(bào)

ID:648521 發(fā)表于 2019-11-28 18:44 | 顯示全部樓層
防抖的,判斷是不是真的按下了。
回復(fù)

使用道具 舉報(bào)

ID:150776 發(fā)表于 2019-11-28 18:51 來自觸屏版 | 顯示全部樓層
如樓上所說,為了消抖
回復(fù)

使用道具 舉報(bào)

ID:25310 發(fā)表于 2019-11-28 20:01 | 顯示全部樓層
軟件消抖
回復(fù)

使用道具 舉報(bào)

ID:651885 發(fā)表于 2019-11-28 20:02 | 顯示全部樓層
因?yàn)檫@是是個(gè)消抖的原理:第一句按下判斷之后執(zhí)行的延遲函數(shù)時(shí)間內(nèi)有無數(shù)次抖動(dòng)按下而時(shí)間過去后穩(wěn)定按下了再執(zhí)行第二次判斷確定是否真的按下
回復(fù)

使用道具 舉報(bào)

ID:647528 發(fā)表于 2019-11-28 21:11 | 顯示全部樓層
所謂消抖為波形在按下或彈開瞬間為不穩(wěn)定狀態(tài),20ms左右后為穩(wěn)定狀態(tài)高電平或低電平。沒有延時(shí)的話那么無法判定是按下或還是彈開。
回復(fù)

使用道具 舉報(bào)

ID:382297 發(fā)表于 2019-11-29 07:34 | 顯示全部樓層
file:///C:/Users/XXX.Charlotte/Desktop/%E5%9B%BE%E7%89%872.png

軟件延時(shí)消抖
在檢測到有鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10ms的子程序后,確認(rèn)該行線電平是否仍為低電平,如果仍為低電平,則確認(rèn)該行確實(shí)有鍵按下。當(dāng)按鍵松開時(shí),行線的低電平變?yōu)楦唠娖,?zhí)行一段延時(shí)10ms的子程序后,檢測該行線為高電平,說明按鍵確實(shí)已經(jīng)松開。采取本措施,可消除兩個(gè)抖動(dòng)期t1和t3的影響。
回復(fù)

使用道具 舉報(bào)

ID:641629 發(fā)表于 2019-11-29 11:31 | 顯示全部樓層
按兩次消抖不怎么樣,我以前運(yùn)算塊的 直接檢測5次
回復(fù)

使用道具 舉報(bào)

ID:652296 發(fā)表于 2019-11-29 12:36 來自觸屏版 | 顯示全部樓層
延時(shí)去抖
回復(fù)

使用道具 舉報(bào)

ID:525068 發(fā)表于 2019-11-29 12:50 | 顯示全部樓層
延時(shí)銷抖,避免因抖動(dòng)或接觸不良導(dǎo)致程序執(zhí)行
回復(fù)

使用道具 舉報(bào)

ID:629448 發(fā)表于 2019-11-29 15:07 | 顯示全部樓層
軟件消抖,delay20ms是延時(shí)函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:344335 發(fā)表于 2019-11-29 16:55 | 顯示全部樓層
由于開關(guān)是機(jī)械式開關(guān),會(huì)存在誤觸和接觸不良的情況,延時(shí)識(shí)別兩次是為了消除抖動(dòng),增加開關(guān)識(shí)別的可靠性。
回復(fù)

使用道具 舉報(bào)

ID:636538 發(fā)表于 2019-12-3 10:04 | 顯示全部樓層
tyrl800 發(fā)表于 2019-11-28 17:46
通常按鍵所用的開關(guān)都是機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉 ...

懂了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:437615 發(fā)表于 2019-12-3 10:32 來自觸屏版 | 顯示全部樓層
不判斷兩次也是可以的,但是我在某些特殊硬件的時(shí)候會(huì)不可以,比如說在旋轉(zhuǎn)編碼器的時(shí)候就容易出現(xiàn)問題
回復(fù)

使用道具 舉報(bào)

ID:476030 發(fā)表于 2019-12-3 13:34 | 顯示全部樓層
為了消除抖動(dòng)
回復(fù)

使用道具 舉報(bào)

ID:591676 發(fā)表于 2019-12-3 13:57 | 顯示全部樓層
確認(rèn)按鍵是否按下,防止誤操作
回復(fù)

使用道具 舉報(bào)

ID:485327 發(fā)表于 2019-12-3 14:32 | 顯示全部樓層
這是按鍵軟件濾波,加延時(shí)防抖,避免誤觸發(fā)
回復(fù)

使用道具 舉報(bào)

ID:485327 發(fā)表于 2019-12-3 14:34 | 顯示全部樓層
這是軟件濾波,按鍵防抖避免誤觸發(fā)
回復(fù)

使用道具 舉報(bào)

ID:118110 發(fā)表于 2019-12-3 15:04 | 顯示全部樓層
開關(guān)兩邊并聯(lián)一個(gè)電容可以解決
回復(fù)

使用道具 舉報(bào)

ID:601478 發(fā)表于 2019-12-3 15:24 | 顯示全部樓層
軟件消抖
回復(fù)

使用道具 舉報(bào)

ID:636538 發(fā)表于 2019-12-4 15:26 | 顯示全部樓層
zxb486 發(fā)表于 2019-12-3 15:04
開關(guān)兩邊并聯(lián)一個(gè)電容可以解決

這是一個(gè)解決辦法,沒有用過,可以試試
回復(fù)

使用道具 舉報(bào)

ID:656073 發(fā)表于 2019-12-4 20:24 | 顯示全部樓層
延時(shí)銷抖處理,用于判斷機(jī)械按鍵是否真實(shí)按下...   看了下大神說的都是正確定的,都給100分  哈哈
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表