版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上EDA数字钟的设计指导老师:谭雪琴 姜 萍姓名:张羊学院:电子工程与光电技术学院专业:真空电子技术学号:完成时间:2011年4月目录:一.设计要求二.方案论证三.子模块设计1.频率源设计 模48计数器的设计 模1000计数器的设计 模2计数器的设计 1KHZ脉冲的设计 500HZ脉冲的设计 1HZ脉冲的设计2.计数部分电路设计 模60计数器的设计 模24计数器的设计 计数器的设计3.清零和保持电路的设计4.校分和校时电路的设计5.报时电路的设计6.显示电路的设计 模6计数器的设计 24选4(或六选一)数据选择器的设计 动态显示设计7.最终总体电路4. 附加闹铃功能 频
2、率源的设计 闹铃的设计五编程下载六.实验总结和感受七参考文献 中文摘要 本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常计数、快速校分校时、整点报时功能。论文分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编译下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案,以及后续设计思想。通过实验掌握了一些电子器件的基本功能和用法,同时体会到了利用软件设计电路的方便快捷,避免了硬件布线的繁琐,提高了效率,同时它也为以后设计更复杂的电路打下了良好的基础。关键词 数字钟 QuartusII 计数 校分 报时 调试
3、 仿真 编译下载外文摘要 Using the QuartusII software in this experiment, we design a digital clock of 24 hours with learning digital circuit knowledge. The circuit must have the functions of normally counting ,keeping the time, resetting, adjusting the minute and hour swiftly, ringing the time in the round num
4、ber time . The thesis has analyzed the principle of the whole circuit and explained the designing principle of different parts separately. By the process of debugging, simulating, compiling and loading, we sum up the final result .At last,we put forward the problems we are subjected to in the whole
5、experiment andsome ways to settle them and other subsequent ideas of designing. I know about the basic functions and using method of some electric devices through this experiment. At the same time, I realize the convenience of making use of the software to carry on the electric circuit,which can avo
6、id the tedious line of the hardware and improve the efficiency .Simultaneously it can also let us have a good foundation for designing a more complex system.Keywords digital clock, counting,adjusting the minute and hour ,ringing,debugging,simulating,compiling and loading 一: 实验要求1) 设计一个数字计时器,可以完成00:0
7、0:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。2) 对数字计时器采用层次化的方法进行设计,其中构成整个设计的子模块既可以用原理图输入实现,也可以采用VHDL语言编程实现。3) 数字钟的具体设计要求具有如下功能:数字计时器能够完成从00:00:00到23:59:59的计时功能;在数字计时器正常计数的情况下,可以对其进行不断电复位,即拨动开关K1可以使时分秒位清零;在数字计时器正常工作的情况下,拨动开关K2可以使数字计时器保持原有显示的读数,停止计时;在数字计时器正常工作的情况下按下开关K3可以实现快速校分,按下开关K4可以实现快速校
8、时;数字计时器在每小时整点到来之前进行鸣叫,在每小时的59分53秒,55秒,57秒用500HZ的频率驱动蜂鸣器,在每小时的59秒用1KZ的频率驱动蜂鸣器。4) 对设计电路进行功能仿真。5) 将仿真通过的逻辑电路下载到EDA实验系统,对其功能进行验证。二:方案论证数字计时器有时分秒,时分秒各有高低两位,其中时位为一个模24的计数器,分位和秒位为模60的计数器。秒位每秒加一,分位每六十秒加一,时位每六十分加一,于是低位的进位信号可以用来驱动高位计数,这就是数字计时器的原理。至于清零,保持,校分,校时电路则只需要通过简单的组合逻辑电路来用一个开关控制使能端或进位信号或它们的相关组合即可。整点报时即当
9、计时在某种状态下以一定的频率驱动蜂鸣器即可。最后就是动态显示部分,动态显示利用的是人眼的视觉暂留效应,在闪烁频率大于48HZ时人眼便感觉不到闪烁。利用这个原理可以使几个数码管在译码器的作用下以比较高的频率轮流进行工作,人眼看不到闪烁,看起来这些数码管是同时工作的,这样就可以达到动态显示。三: 子模块设计1.频率源的设计在数字计时器的设计中我们需要用到的频率源有1HZ,1KHZ和500HZ,而实验中所给振荡频率源为48MHZ,显然不满足我们的需求,为此我们要将其进行48分频后可得1MHZ,再进行1000分频后可得1KHZ,将1KHZ 再进行1000分频后可得1HZ来提供计时脉冲,将1KZ进行2分
10、频后可得500HZ。为此我们需分别设计模48,模1000和模2计数器。模48计数器的设计我们采用了两片74160BCD计数器,左边的一片作为低位,右边的一片作为高位,我们采用的是置数法,将左边74160的RCO进位端连接到右边74160的使能端ENT和ENP,当左边低位74160计数超过9时便产生进位开始让右边一片高位74160开始计数,我们用QH2,QL0,QL1,QL2通过一个与非门给置位端LDN,即计数计到23时会被置位,我们将所置的数DCBA赋以0000,这就是置数法。当然我们需将左边74160的使能端ENT和ENP和清零端CLRN及右边74160的清零端都接VCC以保证两片74160
11、都能正常工作,同时要在时钟CLK端给以时钟脉冲信号。最后我们将置位端LDN通过一个非门之后输出即得48分频的信号。 编译调试通过后,我们给以波形上的仿真,结果如下: 封装后得:模1000计数器的设计我们采用了三片74160BCD计数器,最左边的一片作为最低位,最右边的一片作为最高位,将最左边一片的RCO进位端接到中间一片的使能端ENT和ENP,即最左边计到9时产生进位信号给中间一片让其开始计数,将最左边的一片的RCO进位端和中间一片的RCO进位端通过一个与门输出后给最右边一片的使能端ENP和ENT,即计到99时产生进位,于是最右边的一片开始计时,计到999后即开始清零重新再计。当然还要将三片得
12、置位端LDN和清零端CLRN接VCC,最左边一片的使能端ENP和ENT接VCC以保证3片74160能正常工作,同时在时钟CLK端给以时钟脉冲信号,从QC3输出得1000分频后的信号。 编译调试通过后,我们给以波形上的仿真(由于空间有限,只截了后面一部分)得: 封装后得:模2计数器的设计 我们采用了一片D触发器,将D触发器的输出Q端通过一个与门后再接到输入端D即可。当然我们需将使能端PRN和清零端CLRN接VCC以保证D触发器能正常工作。同时我们在时钟CLK端接上时钟脉冲信号。从Q端输出即得到2分频的信号。 编译调试通过后,我们给以波形上的仿真得: 封装后得:1KHZ脉冲的设计将48MHZ脉冲从
13、CLK48M端输入,在CLK1000输出端即得1KHZ脉冲。500HZ脉冲的设计将48MHZ从CLK48M输入端输入,在CLK500输出端即得500HZ脉冲。1HZ脉冲的设计将48MHZ从CLK48M输入端输入,在CLK500输出端即得1HZ脉冲。2. 计数部分电路设计模60计数器的设计我们利用两片74160,左边的一片作为低位,右边的一片作为高位,我们将两片的使能端ENP接成整片的使能端EN,清零端CLRN接成整片的清零端k1qingling,将左边一片的进位端RCO接到右边一片的使能端ENT,即当左边一片计数计到9时产生进位信号,右边一片开始计数,同时将左边一片使能端ENT接VCC,时钟C
14、LK端给以1HZ计数脉冲,我们采用置数法,考虑到使能端EN,我们用QH2,QH0,QL0,QL3通过一个与门输出再与使能端EN通过一个与非门给置位端LDN,即在使能端EN为1的情况下,当计数计到59时开始置数,我们赋以置数DCBA为0000,即为置数法。同时将LDN通过一个非门后输出作为整片的进位信号CO。 编译调试通过后,我们给以波形上的仿真得: 封装后得:模24计数器的设计我们利用两片74160,左边的一片作为低位,右边的一片作为高位,我们将两片的使能端ENP接成整片的使能端EN,清零端CLRN接成整片的清零端k1qingling,将左边一片的进位端RCO接到右边一片的使能端ENT,即当左
15、边一片计数计到9时产生进位信号,右边一片开始计数,同时将左边一片使能端ENT接VCC,时钟CLK端给以1HZ计数脉冲,我们采用置数法,考虑到使能端EN,我们用QH1,QL0,QL1通过一个与门输出再与使能端EN通过一个与非门给置位端LDN,即在使能端EN为1的情况下,当计数计到23时开始置数,我们赋以置数DCBA为0000,即为置数法。同时将LDN通过一个非门后输出作为整片的进位信号CO。 编译调试通过后,我们给以波形上的仿真得: 封装后得:计数器的设计其中从上到下的m24,m60,m60分别作为时分秒位,首先要保证m60和m24计数器的清零端无效,即接高电平。将低位的m60的进位端接到高位m
16、60计数器的使能端上,由于必须是分和秒都记到59开始进位时时才进位,所以将低位和高位m60计数器的进位端相与接到m24的使能端,然后将1HZ的时钟分别接到三个计数器的CLK端即可。 编译调试通过后,我们给以波形上的仿真(由于空间有限,只截了一部分)得:3. 清零和保持电路的设计我们用的是计数器部分的电路,将秒位(最下面的m60)的使能EN端接到k2baochi输入端口上,当k2baochi端接成高电平时,如果k1qingling端接高电平,那么计数器正常计数;如果k2baochi接低电平,那么秒位停止计数,当然就不会进位了,故而分位和时位也不会计数,即计数器完成保持状功能;如果k1qingli
17、ng端接低电平,那么时分秒位都会被清零,即计数器完成清零功能。4. 校分和校时电路的设计这里通过拨动开关来实现校时和校分。原理就是当开关作用时,将计数器的使能端置成高电平,这样时钟以来分位和时位便可以以1HZ的频率计数,将开关再换回原来的状态时使能端又变为低位的进位端,仅仅当低位进位时才增加,这也就实现了校时和校分的功能,考虑到开关的一致性,我们让所有的开关拨在下方时正常计数。那么就可以将低位的进位端跟开关的非进行或运算,运算后送到高位的使能端。考虑到校分时要保证时不变,也就是说即使校分时分位为59跳向00,时也不进位,因此将分的进位端跟控制校分的开关还有秒的进位端作与运算后再跟控制校时的开关
18、作或运算接到时的低位的使能端即可以校时。5. 报时电路的设计整点报时即当分位为59,秒位分别为53,55,57,59时用某个频率驱动扬声器,前三声的频率低一点,而最后一声的频率高一点。这里较低的频率选500HZ,较高的频率选择1000HZ。由要求可推出驱动的表达式:H=59分53秒500HZ+59分55秒500HZ+59分57秒500HZ+59分59秒1000HZ=59分51秒(2秒500HZ+4秒500HZ+6秒500HZ+8秒1000HZ)=fenH0fenH2fenL0fenL3miaoH0miaoH2(miaoL0miaoL1500HZ+miaoL0miaoL2500HZ+miaoL0
19、miaoL1miaoL2500HZ+miaoL0miaoL31000HZ)=fenH0fenH2fenL0fenL3miaoH0miaoH2(miaoL0miaoL1500HZ+miaoL0miaoL2500HZ+miaoL0miaoL31000HZ)=fenH0fenH2fenL0fenL3miaoH0miaoH2(miaoL1+miaoL2)miaoL0500HZ+miaoL0miaoL31000HZ) 封装后得:6. 显示电路的设计模6计数器的设计我们采用一片74160,仍然采用置数法,将使能端ENT和ENP,清零端CLRN都接VCC,a0和a2通过与非门的输出给置位端LDN,即计到5时
20、开始清零。这里我们CLK时钟端给以1000HZ为的是后面达到动态显示的效果。 我们给以波形上的仿真得:24选4(或六选一)数据选择器的设计library ieee;use ieee.std_logic_1164.all;entity mux24 is port(a,b,c:in std_logic;i0,i1,i2,i3,i4,i5:in std_logic_vector(3 downto 0);q:out std_logic_vector(3 downto 0);end mux24;architecture archmux of mux24 issignal sel:std_logic_ve
21、ctor(2 downto 0);beginsel<=c&b&a;q<=i0 when sel="000" else i1 when sel="001" else i2 when sel="010" else i3 when sel="011" else i4 when sel="100" else i5 when sel="101" else "XXXX"end archmux;封装后得:我们给以波形上的仿真得:从仿真结果很容
22、易看出当cba=010时,选择了i2,符合要求。动态显示设计模6计数器上CLK端接有1KHZ的时钟脉冲,输出端a0,a1,a2作为74138译码器的地址端,选择六个数码管轮流点亮,但由于加的是1KHZ的脉冲,比人眼的临界闪烁频率48HZ要大,人眼看起来不会感觉闪烁,看起来六个数码管是同时点亮的,这就是动态显示的原理。将a0,a1,a2接24选4数据选择器的地址端,将时分秒的高低位分别接到数据选择器的数据端,选择时分秒高低位中的一位送到7447七段显示译码器上进行译码,使其显示0到9的数字。7. 最终总体电路4 附加闹铃功能频率源的设计LIBRARY IEEE;USE IEEE.STD_LOGI
23、C_1164.ALL;ENTITY fenpin3 ISPORT(clk: IN STD_LOGIC; hz:buffer STD_LOGIC; hz1:buffer STD_LOGIC; hz2:buffer STD_LOGIC; hz3:buffer STD_LOGIC; hz4:buffer STD_LOGIC; hz5:buffer STD_LOGIC; hz6:buffer STD_LOGIC; hz7:buffer STD_LOGIC; hz0:buffer STD_LOGIC);END fenpin3;ARCHITECTURE beh OF fenpin3 ISSIGNAL co
24、unt: integer range 0 to ;SIGNAL count2: integer range 0 to ;SIGNAL count3: integer range 0 to ;SIGNAL count4: integer range 0 to ;SIGNAL count5: integer range 0 to ;SIGNAL count6: integer range 0 to ;SIGNAL count7: integer range 0 to ;SIGNAL count8: integer range 0 to ;SIGNAL count0: integer range 0
25、 to ;BEGINPROCESS(clk)BEGINIF (clk='1') THENcount<=count+1;count2<=count2+1;count3<=count3+1;count4<=count4+1;count5<=count5+1;count6<=count6+1;count7<=count7+1;count8<=count8+1;count0<=count0+1;IF(count=) Thencount<=0;hz<=NOT hz;END IF;IF(count2=90908) Thenc
26、ount2<=0;hz1<=NOT hz1;END IF;IF(count3=80807) Thencount3<=0;hz2<=NOT hz2;END IF;IF(count4=72726) Thencount4<=0;hz3<=NOT hz3;END IF;IF(count5=68180) Thencount5<=0;hz4<=NOT hz4;END IF;IF(count6=60605) Thencount6<=0;hz5<=NOT hz5;END IF;IF(count7=54544) Thencount7<=0;hz6
27、<=NOT hz6;END IF;IF(count8=48483) Thencount8<=0;hz7<=NOT hz7;END IF;IF(count0=63) Thencount0<=0;hz0<=NOT hz0;END IF;END IF;END PROCESS;END beh;经过这个程序可得264HZ,297HZ,330HZ,352HZ,396HZ,440HZ,495HZ,375KHZ的频率源。 封装后可得:闹铃的设计首先,铃声所需要的八个音阶的频率375KHZ ,264HZ,297HZ,330HZ,352HZ,396HZ,440HZ,495HZ(分别代
28、表07这8个音阶)已经在频率源中设计好了,这就需要一个计数器来实现,这里选用74160,将它改成模8计数器,所输出的数加到数据选择器74151(8选1)的地址端,各个不同的频率加到数据端,通过选择不同的频率来实现铃声。这里引出一个使能端,当使能端接高电平时,74160被清零,数据选择器输出的为375KHZ的频率。人耳能听到的频率范围为2020000HZ,因此,此时人听不到声音,即不闹铃。五:编程下载电路图上标号FPGA管脚号电路图上标号FPGA管脚号KEY1121SEG4165KEY2122SEG5166KEY3123SEG6163KEY4124SEG7164BEEP175DIG0160SYS_CLK028DIG1159SEGO169DIG2162SEG1170DIG3161SEG2167DIG4136SEG3168DIG5137分配完再点Assignments->Settings设置其余管脚,然后再编译,点下载按钮,再点Hardware Setup将平台改为ByteBlasterLPT1,再点START即可。六:实验总结和感受本实验建立在我们大二下所学的数字逻辑电路的基础
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青春创造社团打造创新思维计划
- 《动脉总论各论》课件
- 《宗苗答辩》课件
- 2022年黑龙江省双鸭山市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2021年陕西省榆林市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年广西壮族自治区贺州市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 实证护理读书报告撰写格式
- 江西省九江市(2024年-2025年小学六年级语文)部编版小升初真题(上学期)试卷及答案
- 2024年药用粉碎机械项目资金申请报告
- 2024年化学陶瓷化学品项目投资申请报告代可行性研究报告
- 2024-2030年中国高密度聚乙烯管道行业发展展望与投资策略建议报告
- 2024-2030年中国醋酸乙烯行业运营状况与发展风险评估报告
- 企业文化塑造与员工激励方案
- 2024年01月22504学前儿童科学教育活动指导期末试题答案
- 多发性神经病护理
- 【MOOC】线性代数-浙江大学 中国大学慕课MOOC答案
- 开门红包费用申请
- 区块链原理与实践全套完整教学课件
- 运动神经元病小讲课
- 工会的财务管理制度〔13篇〕
- 新版医务人员法律法规知识培训课件
评论
0/150
提交评论