基于D触发器的机械去抖动电路设计_第1页
基于D触发器的机械去抖动电路设计_第2页
基于D触发器的机械去抖动电路设计_第3页
基于D触发器的机械去抖动电路设计_第4页
基于D触发器的机械去抖动电路设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、天水师范学院TIANSHUINORMALUNIVERSITY数字电子技术与逻辑设计设计报告题目:基于D触发器的机械去抖动电路设计学院:电子信息与电气工程学院专业:电子信息工程班级:14级电信一班姓名:王亮亮汪小娟学号:20141060152201410601512015年12月30日目录1 .设计背景22 .设计要求23电路组成框图.34 .设计内容.4.4.1 二选一门电路.4.4.2 数字去抖动电路设计.54.3 初值可预置型计数器设计.74.4 500HZ和1KHZ的分频104.58421BCD译码的verilog语言.134.6 蜂鸣器.14.4.7 动态扫描计数器与位选,选择器.14

2、.4.8 十六进制7段显示译码器程序.155 .整体设计电路图.166 .引脚分配情况,177 .调试,,178 .实验心得体会,189 .参考文献,18基于D触发器的机械去抖动电路设计1 .设计背景作为机械开关的键盘,在按键操作时,由于机械触点的弹性及电压突跳等原因,在触点闭合或开启的瞬间会出现电压抖动。为保证按键触发的准确性,在按键电压信号抖动的情况下不能进行状态输入。为此必须进行抖动处理。消抖部分的信号一般有硬件和软件两种方法。硬件就是加抖动电路,这样可以从根本上解决按键抖动问题。还可以用可编程逻辑器件设计相应的逻辑和时序电路,这里介绍一种使用D触发器构成的电路,能去除含电子抖动的任意形

3、式及几乎任意频率的信号,且能从电路上控制输出信号的脉宽。这是一种更实用、功能更完善的电路。这种电路基本上就是滤波器,它可以将信号中的毛刺、随机噪声信号或电子抖动信号都“滤除”,只让真正的数据信号通过此电路。总之就是将输入电平的杂波分量滤除,能准确的判断电平变换。因此消除始终抖动是必要的2 .设计要求(1)在Quartus|下完成设计,根据课本第6章图640,设计一个机械键去抖动电路(图中工作时钟CLK为几百HZ)。参照第8章图8-28所示的同步可预置型计数器设计一个14进制计数器。计数器时钟端CLK接去抖动电路的KEOUT(2)当每一次按键,如果计数器只加1,表明去抖动电路良好;如果计数值增加

4、大于1,表明键的抖动尚未消除。(3)最终要能直观地比较出加抖动电路和没加去抖动电路的不同效果。3 .电路组成框图14进制计数器、显示译码器、数码该电路只要有二选一门电路、初值可预置型管、500Hz的分频如下图所示。二选一门电路4 .设计内容单个模块的设计4.1 二选一门电路该数据选择器有两个输出信号(A和B)和一个控制输入(S)一个/&出(OUT。当S为1的时候OUT?A,当S为0的时候OUT?B简单的表达具体化:输入输出SOUT1A0B输入输出ABsOUT00000101100011010010011010111111二选一门电路4.2 数字去抖动电路设计如图所示的电路由4个D触发器和1个4

5、输入与门构成。电路有一个工作时钟CLK4个D触发器链接成同步时序方式,即将它们的时钟输入端都连在一起。工作时与时钟同步工作,输入信号以移位串行方式向前传递。其信号输入口是KEOUT分析此电路可以发现,其“滤波”功能的关键是这样的,当信号被串入电路后,能在KEOUT俞出脉冲信号的条件是,必须在4个D触发器的输出端Q都同时为1,次与门才输出高电平。由于干扰抖动信号是一群宽度狭窄的随机信号,在申入时,很难十分整齐地同时使与门输出为1,而只有正常信号才足够的宽度通过此电路,从而起到了“滤除”的功能。如果增加D触发器的数量,可以一定程度上提高滤波性能。仿真结果如图所示Tliidg4.3 初值可预置型计数

6、器设计与其他类型计数器相比,计数初值可预置型计数器的适用面更宽。如图所示译码器模块CNT4BI珠右面的4位锁存器构成了一个4为二进制计数器图中比较器COMP本质上就是一个4输入与门,功能是当计数值为1110时,输出一个高电平进位信号,它控制多路选择器MUX4勺数据通道的选择信号端S,当比较器COMPF输出端R为0即为低电平时4路选择器MUX/选通A0此后随着时钟连续出现,进行正常的累计加数。一旦计数器计到1110时,则输出端R为1即为高电平。选择器会选通A1,如果预置数不改变,则计数器将从初始值开始累计加数。仿真结果如图所示TreBii魏reii7图中元件CNT4BIT是由verilog源代码

7、编写以下为其程序12345odu工aCMT149.Z);inpu.t3:0C/outpvi七3;OZ;r曰q3:。ZfaJ_3日y曰Q(U)口后(CV8O123411111曰oooofciOOOlfclOO1ofclOO11fc-OlOOfc-OlOlfc-Ol1o,SO111工51e1718192O2122234kjiooo4,匕工OOI4匕工。工。4,匕工。工工4kHOO4*klTOl4*b工工1O4,匕工工11defb口工七zv=qTfc-OOOlrzv=qTbOO1oJTzv=qVBOO11;zv=qTfeOlOOjFzv=qTBO工。工jFzv=q匕O工二OJrzv=4k5Ol11J

8、rzv=4r匕ZLOOOJrzv=4VblOOIJrzv=4匕工O1OJrZv=4VblO11Zv;4Vbl1OO产JrZv4VbT1O1JrZV1-4bOOOO,4fcjOOOO,ZV4匕111oFZv4kiOOOOjFendmodule图中元件MUX堤由verilog源代码编写以下为其程序:oduleMUX4(S,AO,Al;inputS;input3:0AOfAl;output3:0B;reg3:0B;always(S,AO,AlfB)case(S)11bl:B=A1;1rb0:B=A0;default:Bl1O1:Rl;8 def11:R.C=11tO;9 6nde已_Oncimocl

9、ul1e.14.4500Hz和1KHZ的分频50MHZTO-4MH盼频的verilog源代码以下为其程序1 -moduleHalfIntpiu(clkin#clk(mt);输入50MH%输出为4MH2 inputclkin;3 outputclkout;4 regclkoutjdkl;5 wireclk2;6 integercount;7 parameterN12;8 xor界血0路(:111(:1川;将输出2分频时钟(:1也与(:“2/13分频时钟相异或得到12.5分或9 always8(posedgeclkout)输出时钟2分频10 begin11 cUl=cHl;12 end13 alw

10、ays0(posedgeclk2)将时钟clk213分频14 sbegin15 if(counts)16 begincount=0;clkout=lrbl;end17 else18 begincount=count+lTbl;clkout=81B00000000X,Y=BB0Q000001X,Y=81B00000010=B1B00000011X,Y=8B00000100X,Y=STBOOOOOllOX,Y=S1B00000111X,Y=8B00001001X,Y=81BOOOIOOOOXfY=SBOOOIOOOIX,Y=SB00010010X,Y=B1B00010100X,Y=91B00010

11、101X,Y=31BOOOOOOOOAP-WX3.,0V.ODISPLAY1inst16131.6 蜂鸣器工作原理CO与1KHZ为进位输入,其中1KHZ相当于一个高电平即为1,由CO控制蜂鸣器,使低电平时蜂鸣器报警。1KHZCOBEEP1011101.7 动态扫描计数器与位选,选择器:二二二二二二二二二二二二二二:二二二二二二二二二二二二二二二:二二曲诬二选麻耳一黄,晶管显示144.8如下位十六进制7段显示译码器程序12m:Lt,:i.ry:m2,卜二,fti;HHMHj2input3:0Jd;/4位二进制数3456output7:0seg;位段码dpgfreg7:0seg;alwaysdac

12、ase(d)74rh0:seg-BThcO;84rhl:seg-B*hf9;g4*h2-seg-8*ha4;104rh3:seg=SfhbO;n4rh4:seg=124rh5:seg=6Th92;134rh6:seg8*h82;144rh7:3eg=8*hf8;154rh8:seg=8h80;164rh9:seg=8h90;174rha:3eg=8Th8S;184rhb:seg=S*h83;194rhc:seg=5Thc6;204rhd:seg=S*hal;214rhe:seg=8*h86;224rhf:seg=8*h8e;23242526default:seg=8*hff;endcaseen

13、dmodule七段译码/显示0/显示1/最出2/显示m/显示4/显示5/显示/显示7/显示m/显可9/显示a/显示b/显示c/显示d/显示R显示f这要显东的数:MUX81C译成段码19.16=mst、SEG7.OAP.OY3.OB3.OC3.OD30EP0F3.OG3.OH3.OS(2.0jdisplay_decadernstid3Dseg7.OY7.Q1*芝而1K、DIG7.O155 .整体设计电路图原理;该电路是由二选一门电路、初值可预置型14进制计数器、显示译码器、数码管、500Hz的分频组成的。拨码开关控制抖动电路,当拨码开关为1时,二选一门电路会选通加抖动的电路当每按一次键可预置型计

14、数器计数值只增加1,门电路会选通没加抖动的电路当每按一次键可预置型计数器计数值增加大于1。可预置计数器人为规定初值,比如说4,当每一次进位后它从4开始依次增加。当增加到13时,给输入一个按键就会进位,此时数码管上会显示初值4.蜂鸣器也会此时报警。从计数器出来的计数值会通过总线输出段码显示在数码管上。.测试中出现的问题刚开始时选通两位数码管显示时,数码管出现同样的两个数。解决方法是用verilog编写了一个程序,图4.6所示,把它放在显示译码器模块之前就解决了两位一样的情况。166 .引脚分配情况怖破17对Hl;XFM7 .调试在设计中毫无疑问,会遇到许多问题,这就需要不断的调试,通过实践反复的

15、测试,结合理论,不断改善,才能得到预期的结果17SiwciEsful-MonJinD421:30:382C16S.OBuild13E02/25/E009SJFullVrsicmC1TT14T0FCffTUTOFCTclvntIIEP2C3Q2CSC6TinUHo34/8,256(1%)SO/6,256(1黑)5S/6,256(1%)saIT/136(12%)C/165,888f0需)0/36(OX)0/2璃FlowStatusQuirtusIIVersionRevisionNameTop-levlEntityNameFamilyDeviceTidingModelsMettimingrequir

16、emientsTotallogicelementsTotaluoffibiRationalfunctionsDedicatedlogicregistersTotalregistersTotalpin写TotalvirtualpinsTotalmemcirybitsEmbeddedWultiplierg-bitelementsTotalFUs8 .实验心得体会在做数电设计的实验前,我以为不会难做,就像以前做实验一样,做完实验,然后两下子就将实验报告做完,直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅.在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时问.比如做计数器,你要清楚它的verilog语言,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论