<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于VHDL語(yǔ)言的按鍵消抖電路設(shè)計(jì)及仿真

          基于VHDL語(yǔ)言的按鍵消抖電路設(shè)計(jì)及仿真

          作者: 時(shí)間:2009-12-29 來(lái)源:網(wǎng)絡(luò) 收藏

          2.2 消抖
          該控制電路采用的有限狀態(tài)機(jī)的設(shè)計(jì)方法來(lái)描述和實(shí)現(xiàn),其狀態(tài)轉(zhuǎn)換圖如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/181118.htm

          電路的復(fù)位信號(hào)Reset有效時(shí),電路進(jìn)入復(fù)位狀態(tài)S0,在S0狀態(tài)下時(shí)鐘信號(hào)CLK以一定的頻率采樣輸入信號(hào)Key_in,如果采樣到Key_in=‘1’則停留在S0狀態(tài),并繼續(xù)采樣輸入信號(hào)的狀態(tài),一旦采樣到輸入信號(hào)是低電平,即Key_in=‘0’,則轉(zhuǎn)入S1延時(shí)狀態(tài),進(jìn)行消抖延時(shí),當(dāng)延時(shí)結(jié)束時(shí)Delay_end=‘1’,則轉(zhuǎn)入在S2狀態(tài),在此狀態(tài)下時(shí)鐘信號(hào)CLK以一定頻率采樣按鍵輸入Key_in的狀態(tài),如果采樣到Key_in為高電平即Key_in=‘1’則轉(zhuǎn)回狀態(tài)S0,表示按鍵仍處在抖動(dòng)狀態(tài),如果采樣到Key_in=‘O’,則轉(zhuǎn)入狀態(tài)S3;狀態(tài)S3,S4的轉(zhuǎn)換過(guò)程和條件跟S2相同,在S4狀態(tài)下,如果Key_in=‘0’則轉(zhuǎn)入S5狀態(tài),當(dāng)?shù)竭_(dá)狀態(tài)S5時(shí).表示經(jīng)過(guò)S2,S3,S4三個(gè)連續(xù)狀態(tài)檢測(cè)按鍵輸入Key_in的狀態(tài)都為‘0’,則認(rèn)為按鍵處在穩(wěn)定狀態(tài),并在S5輸出按鍵確認(rèn)信號(hào)Key_confirm=‘1’。同時(shí)在狀態(tài)S5下時(shí)鐘信號(hào)CLK檢測(cè)按鍵輸入狀態(tài),當(dāng)檢測(cè)到按鍵輸入Key_in=‘0’,表示按鍵仍未釋放,則停留在S5繼續(xù)檢測(cè)按鍵輸入信號(hào)狀態(tài),如果檢測(cè)到Key_in=‘1’,表示按鍵已經(jīng)釋放,則轉(zhuǎn)回狀態(tài)S0,等待下一次按鍵操作。


          3 按鍵消抖電路的分析
          消抖電路的圖如圖3所示。當(dāng)復(fù)位信號(hào)Reset=‘0’時(shí),狀態(tài)機(jī)Key處在S0狀態(tài),同時(shí)以CLK的時(shí)鐘頻率采樣按鍵輸入信號(hào)Din的狀態(tài),當(dāng)CLK第一次采樣到Din為低電平時(shí),此時(shí)可能發(fā)生了按鍵操作,隨即狀態(tài)機(jī)Key進(jìn)入S1消抖延時(shí)狀態(tài),當(dāng)延時(shí)結(jié)束時(shí)delay_end=‘1’(延時(shí)結(jié)束信號(hào)),跟接著狀態(tài)機(jī)KEY的S2,S3,S4連續(xù)三個(gè)狀態(tài)對(duì)按鍵輸入信號(hào)Din進(jìn)行采樣,當(dāng)三個(gè)狀態(tài)下采樣到Din信號(hào)都是低電平,則轉(zhuǎn)入S5狀態(tài),并產(chǎn)生按鍵確認(rèn)信號(hào)Key_confirm=‘1’,同時(shí)在S5狀態(tài)下等待按鍵釋放,在此狀態(tài)下當(dāng)CLK時(shí)鐘信號(hào)檢測(cè)到Din為高電平時(shí)轉(zhuǎn)回狀態(tài)S0。因按鍵釋放瞬間也會(huì)發(fā)生抖動(dòng),所以由波形圖可以看出,當(dāng)按鍵釋放瞬間由狀態(tài)S5轉(zhuǎn)回狀態(tài)S0,在S0狀態(tài)下,因按鍵抖動(dòng)CLK時(shí)鐘又檢測(cè)到Din為低電平,隨即轉(zhuǎn)入S1進(jìn)行消抖延時(shí),經(jīng)過(guò)S1的消抖延時(shí)后,按鍵已經(jīng)穩(wěn)定,Din為穩(wěn)定的高電平,所以在狀態(tài)S2檢測(cè)到Din為高電平,則轉(zhuǎn)入S0狀態(tài),到此時(shí)完成一次按鍵的操作,等待下一次按鍵操作,如果沒(méi)有按鍵操作,即按鍵沒(méi)按下,則一直保持在狀態(tài)S0。

          4 結(jié) 語(yǔ)
          采用有限狀態(tài)機(jī)方法設(shè)計(jì)按鍵消抖電路,再根據(jù)按鍵的特性設(shè)定合適的延時(shí)時(shí)間(一般10 ms)后,通過(guò)分析及實(shí)驗(yàn)驗(yàn)證,能夠起到很好的消抖效果,而且性能穩(wěn)定,能確保每一次按鍵操作,產(chǎn)生一次按鍵確認(rèn),可廣泛應(yīng)用于可編程邏輯器件的鍵盤(pán)掃描設(shè)計(jì)中。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();