键盘消抖电路

键盘消抖电路

ID:44999465

大小:145.50 KB

页数:8页

时间:2019-11-07

键盘消抖电路_第1页
键盘消抖电路_第2页
键盘消抖电路_第3页
键盘消抖电路_第4页
键盘消抖电路_第5页
资源描述:

《键盘消抖电路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、键盘消抖电路对于机械按键,虽然只是按下一次然后放掉,结果在按键信号稳定前后会出现一些不该存在的噪声,如图所示。如果将这样的信号直接输入给计数器,结果将可能发生计数超过一次以上的错误。设计原理: (1)一般人的按键速度至多是10次/秒,即一次按键时间是100ms,所以按下的时间可估算为50ms。假如采样信号(Sample)周期为8ms,则可采样到6次。 (2)对于不稳定的噪声在4ms以下,则至多可采样到一次。 (3)对于如图电路,RS的组态仅有三种。DQCPKeySamDQCPQ1Q2OPSQR键盘消抖电路Q1Q2SROP000100100不变1000不

2、变11101DQCPKeySamDQCPQ1Q2OPSQR结论:对按键信号只有采样到两次1才会输出1,两次0才会输出0。否则保持原状态不变。(4)如果按键信号用于计数器计数,那么消抖以后可能宽度过长,而导致超过计数1次以上的错误发生,所以最好后面再接一个微分电路。DQCPKeySamDQCPQ1Q2DlyoutSQRDQCPDinclkDQCPD1D2DiffoutECQCP计数器LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYDebunceisPO

3、RT(Clk:INSTD_LOGIC;Key:INSTD_LOGIC;DLY_OUT:OUTSTD_LOGIC;DIF_OUT:OUTSTD_LOGIC);ENDDebunce;ARCHITECTUREaOFDebunceISSIGNALSAMPLE,DLY,NDLY,DIFF:STD_LOGIC;BEGINDQCPKeyClkDQCPQ1Q2DlyoutSQRDQCPDinclkDQCPD1D2Diffout分频器Free_Counter:BlockSignalQ:STD_LOGIC_VECTOR(3Downto0);Signaltmp:STD_LO

4、GIC;BeginPROCESS(Clk)BeginIFClk'EventANDClk='1'thentmp<=Q(2);Q<=Q+1;ENDIF;ENDPROCESS;SAMPLE<=Q(2)ANDNOTtmp;--about8msENDBlock;DQCPKeyClkDQCPQ1分频器Q2Debunce:BlockSIGNALQ0,Q1,S,R:STD_LOGIC;BeginProcess(Clk)BeginIFClk'EVENTANDClk='1'THENIFSAMPLE='1'THENQ1<=Q0;Q0<=KEY;S<=Q0ANDQ1;R<=N

5、OTQ0ANDNOTQ1;ENDIF;ENDIF;EndProcess;DLY<=RNORNDLY;NDLY<=SNORDLY;DLY_OUT<=DLY;EndBlockDebunce;Differential:BlockSignalD1,D2:STD_LOGIC;BEGINProcess(Clk)BeginIFClk'EVENTANDClk='1'THEND2<=D1;D1<=DLY;ENDIF;EndProcess;DIFF<=D1ANDNOTD2;ENDBlockDifferential;DIF_OUT<=DIFF;ENDa;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。