收藏 分享(赏)

南京理工大学EDA设计 多功能数字钟的设计.doc

上传人:精品资料 文档编号:10311935 上传时间:2019-10-29 格式:DOC 页数:28 大小:2.40MB
下载 相关 举报
南京理工大学EDA设计  多功能数字钟的设计.doc_第1页
第1页 / 共28页
南京理工大学EDA设计  多功能数字钟的设计.doc_第2页
第2页 / 共28页
南京理工大学EDA设计  多功能数字钟的设计.doc_第3页
第3页 / 共28页
南京理工大学EDA设计  多功能数字钟的设计.doc_第4页
第4页 / 共28页
南京理工大学EDA设计  多功能数字钟的设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、EDA 数字钟的设计指导老师:谭雪琴姜 萍姓名:张羊学院:电子工程与光电技术学院专业:真空电子技术学号:0804620127完成时间:2011 年 4 月目录:一.设计要求二.方案论证三.子模块设计1.频率源设计 模 48 计数器的设计 模 1000 计数器的设计 模 2 计数器的设计 1KHZ 脉冲的设计 500HZ 脉冲的设计 1HZ 脉冲的设计2.计数部分电路设计 模 60 计数器的设计 模 24 计数器的设计 计数器的设计3.清零和保持电路的设计4.校分和校时电路的设计5.报时电路的设计6.显示电路的设计 模 6 计数器的设计 24 选 4(或六选一)数据选择器的设计 动态显示设计7.

2、最终总体电路4.附加闹铃功能 频率源的设计 闹铃的设计五编程下载六.实验总结和感受七参考文献中文摘要本实验利用 QuartusII 软件,结合所学的数字电路的知识设计一个 24 时多功能数字钟,具有正常计数、快速校分校时、整点报时功能。论文分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编译下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案,以及后续设计思想。通过实验掌握了一些电子器件的基本功能和用法,同时体会到了利用软件设计电路的方便快捷,避免了硬件布线的繁琐,提高了效率,同时它也为以后设计更复杂的电路打下了良好的基础。关键词 数字钟 Qua

3、rtusII 计数 校分 报时 调试 仿真 编译下载外 文 摘 要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 t

4、ime in the round number 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 subject

5、ed to in the whole 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 cir

6、cuit,which can avoid 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)

7、设计一个数字计时器,可以完成 00:00:00 到 23:59:59 的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。2) 对数字计时器采用层次化的方法进行设计,其中构成整个设计的子模块既可以用原理图输入实现,也可以采用 VHDL 语言编程实现。3) 数字钟的具体设计要求具有如下功能:数字计时器能够完成从 00:00:00 到 23:59:59 的计时功能;在数字计时器正常计数的情况下,可以对其进行不断电复位,即拨动开关 K1 可以使时分秒位清零;在数字计时器正常工作的情况下,拨动开关 K2 可以使数字计时器保持原有显示的读数,停止计时;在数字计时器正常工作

8、的情况下按下开关 K3 可以实现快速校分,按下开关 K4 可以实现快速校时;数字计时器在每小时整点到来之前进行鸣叫,在每小时的 59 分 53 秒,55 秒,57 秒用 500HZ 的频率驱动蜂鸣器,在每小时的 59 秒用 1KZ 的频率驱动蜂鸣器。4) 对设计电路进行功能仿真。5) 将仿真通过的逻辑电路下载到 EDA 实验系统,对其功能进行验证。二:方案论证数字计时器有时分秒,时分秒各有高低两位,其中时位为一个模 24的计数器,分位和秒位为模 60 的计数器。秒位每秒加一,分位每六十秒加一,时位每六十分加一,于是低位的进位信号可以用来驱动高位计数,这就是数字计时器的原理。至于清零,保持,校分

9、,校时电路则只需要通过简单的组合逻辑电路来用一个开关控制使能端或进位信号或它们的相关组合即可。整点报时即当计时在某种状态下以一定的频率驱动蜂鸣器即可。最后就是动态显示部分,动态显示利用的是人眼的视觉暂留效应,在闪烁频率大于 48HZ 时人眼便感觉不到闪烁。利用这个原理可以使几个数码管在译码器的作用下以比较高的频率轮流进行工作,人眼看不到闪烁,看起来这些数码管是同时工作的,这样就可以达到动态显示。三: 子模块设计1.频率源的设计在数字计时器的设计中我们需要用到的频率源有 1HZ,1KHZ 和500HZ,而实验中所给振荡频率源为 48MHZ,显然不满足我们的需求,为此我们要将其进行 48 分频后可

10、得 1MHZ,再进行 1000 分频后可得1KHZ,将 1KHZ 再进行 1000 分频后可得 1HZ 来提供计时脉冲,将1KZ 进行 2 分频后可得 500HZ。为此我们需分别设计模 48,模 1000和模 2 计数器。模 48 计数器的设计我们采用了两片 74160BCD 计数器,左边的一片作为低位,右边的一片作为高位,我们采用的是置数法,将左边 74160 的 RCO 进位端连接到右边 74160 的使能端 ENT 和 ENP,当左边低位 74160 计数超过9 时便产生进位开始让右边一片高位 74160 开始计数,我们用 QH2,QL0,QL1,QL2通过一个与非门给置位端 LDN,即

11、计数计到 23时会被置位,我们将所置的数 DCBA 赋以 0000,这就是置数法。当然我们需将左边 74160 的使能端 ENT 和 ENP 和清零端 CLRN 及右边74160 的清零端都接 VCC 以保证两片 74160 都能正常工作,同时要在时钟 CLK 端给以时钟脉冲信号。最后我们将置位端 LDN 通过一个非门之后输出即得 48 分频的信号。编译调试通过后,我们给以波形上的仿真,结果如下:封装后得:模 1000 计数器的设计我们采用了三片 74160BCD 计数器,最左边的一片作为最低位,最右边的一片作为最高位,将最左边一片的 RCO 进位端接到中间一片的使能端 ENT 和 ENP,即

12、最左边计到 9 时产生进位信号给中间一片让其开始计数,将最左边的一片的 RCO 进位端和中间一片的 RCO 进位端通过一个与门输出后给最右边一片的使能端 ENP 和 ENT,即计到99 时产生进位,于是最右边的一片开始计时,计到 999 后即开始清零重新再计。当然还要将三片得置位端 LDN 和清零端 CLRN 接 VCC,最左边一片的使能端 ENP 和 ENT 接 VCC 以保证 3 片 74160 能正常工作,同时在时钟 CLK 端给以时钟脉冲信号,从 QC3输出得 1000 分频后的信号。编译调试通过后,我们给以波形上的仿真(由于空间有限,只截了后面一部分)得:封装后得:模 2 计数器的设

13、计我们采用了一片 D 触发器,将 D 触发器的输出 Q 端通过一个与门后再接到输入端 D 即可。当然我们需将使能端 PRN 和清零端 CLRN 接VCC 以保证 D 触发器能正常工作。同时我们在时钟 CLK 端接上时钟脉冲信号。从 Q 端输出即得到 2 分频的信号。编译调试通过后,我们给以波形上的仿真得:封装后得:1KHZ 脉冲的设计将 48MHZ 脉冲从 CLK48M 端输入,在 CLK1000 输出端即得 1KHZ 脉冲。500HZ 脉冲的设计将 48MHZ 从 CLK48M 输入端输入,在 CLK500 输出端即得 500HZ 脉冲。1HZ 脉冲的设计将 48MHZ 从 CLK48M 输

14、入端输入,在 CLK500 输出端即得 1HZ 脉冲。2.计数部分电路设计模 60 计数器的设计我们利用两片 74160,左边的一片作为低位,右边的一片作为高位,我们将两片的使能端 ENP 接成整片的使能端 EN,清零端 CLRN 接成整片的清零端 k1qingling,将左边一片的进位端 RCO 接到右边一片的使能端 ENT,即当左边一片计数计到 9 时产生进位信号,右边一片开始计数,同时将左边一片使能端 ENT 接 VCC,时钟 CLK 端给以1HZ 计数脉冲,我们采用置数法,考虑到使能端 EN,我们用 QH2,QH0,QL0,QL3通过一个与门输出再与使能端 EN 通过一个与非门给置位端

15、 LDN,即在使能端 EN 为 1 的情况下,当计数计到 59 时开始置数,我们赋以置数 DCBA 为 0000,即为置数法。同时将 LDN通过一个非门后输出作为整片的进位信号 CO。编译调试通过后,我们给以波形上的仿真得:封装后得:模 24 计数器的设计我们利用两片 74160,左边的一片作为低位,右边的一片作为高位,我们将两片的使能端 ENP 接成整片的使能端 EN,清零端 CLRN 接成整片的清零端 k1qingling,将左边一片的进位端 RCO 接到右边一片的使能端 ENT,即当左边一片计数计到 9 时产生进位信号,右边一片开始计数,同时将左边一片使能端 ENT 接 VCC,时钟 C

16、LK 端给以1HZ 计数脉冲,我们采用置数法,考虑到使能端 EN,我们用 QH1,QL0,QL1通过一个与门输出再与使能端 EN 通过一个与非门给置位端 LDN,即在使能端 EN 为 1 的情况下,当计数计到 23 时开始置数,我们赋以置数 DCBA 为 0000,即为置数法。同时将 LDN 通过一个非门后输出作为整片的进位信号 CO。编译调试通过后,我们给以波形上的仿真得:封装后得:计数器的设计其中从上到下的 m24,m60,m60 分别作为时分秒位,首先要保证 m60和 m24 计数器的清零端无效,即接高电平。将低位的 m60 的进位端接到高位 m60 计数器的使能端上,由于必须是分和秒都

17、记到 59 开始进位时时才进位,所以将低位和高位 m60 计数器的进位端相与接到m24 的使能端,然后将 1HZ 的时钟分别接到三个计数器的 CLK 端即可。编译调试通过后,我们给以波形上的仿真(由于空间有限,只截了一部分)得:3.清零和保持电路的设计我们用的是计数器部分的电路,将秒位(最下面的 m60)的使能 EN 端接到 k2baochi 输入端口上,当 k2baochi 端接成高电平时,如果k1qingling 端接高电平,那么计数器正常计数;如果 k2baochi 接低电平,那么秒位停止计数,当然就不会进位了,故而分位和时位也不会计数,即计数器完成保持状功能;如果 k1qingling

18、 端接低电平,那么时分秒位都会被清零,即计数器完成清零功能。4.校分和校时电路的设计这里通过拨动开关来实现校时和校分。原理就是当开关作用时,将计数器的使能端置成高电平,这样时钟以来分位和时位便可以以1HZ 的频率计数,将开关再换回原来的状态时使能端又变为低位的进位端,仅仅当低位进位时才增加,这也就实现了校时和校分的功能,考虑到开关的一致性,我们让所有的开关拨在下方时正常计数。那么就可以将低位的进位端跟开关的非进行或运算,运算后送到高位的使能端。考虑到校分时要保证时不变,也就是说即使校分时分位为 59 跳向 00,时也不进位,因此将分的进位端跟控制校分的开关还有秒的进位端作与运算后再跟控制校时的

19、开关作或运算接到时的低位的使能端即可以校时。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(miaoL0miao

20、L1500HZ+miaoL0miaoL2500HZ+miaoL0miaoL1miaoL2500HZ+miaoL0miaoL31000HZ)=fenH0fenH2fenL0fenL3miaoH0miaoH2(miaoL0miaoL1500HZ+miaoL0miaoL2500HZ+miaoL0miaoL31000HZ)=fenH0fenH2fenL0fenL3miaoH0miaoH2(miaoL1+miaoL2)miaoL0500HZ+miaoL0miaoL31000HZ)封装后得:6.显示电路的设计模 6 计数器的设计我们采用一片 74160,仍然采用置数法,将使能端 ENT 和 ENP,清零端

21、 CLRN 都接 VCC,a0和 a2通过与非门的输出给置位端 LDN,即计到 5 时开始清零。这里我们 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;archite

22、cture archmux of mux24 issignal sel:std_logic_vector(2 downto 0);beginselSettings 设置其余管脚,然后再编译,点下载按钮,再点 Hardware Setup 将平台改为 ByteBlasterLPT1,再点 START 即可。六:实验总结和感受本实验建立在我们大二下所学的数字逻辑电路的基础之上,让我们理论联系实际,通过 quartusII 软件和可编程逻辑器件 FPGA 的学习,不仅加深了我们对数字电路知识的巩固与复习,更重要的是让我们通过实践再次锻炼了我们分析处理问题的能力。本次实验前,我已经对 quartusI

23、I 软件有了一定程度的了解,曾利用以前的空闲时间看过软件的相关操作之类的书,并自学了相关的 VHDL 编程语言,在有了这样的基础之上,再加上以前不错的数电根基,做起本实验来倒也显得不是很陌生。但在具体的四天的操作中,却也遇到过不小的麻烦,比如说在做计时部分的电路中,看波形的仿真总发现和预想的结果不一样,可仔细检查之后就是发现不了错误,因此曾耽误了不少的时间去纠正,走了不少的冤枉路,但最终通过老师的精心指导和自己的勤奋努力,还是找到了计时部分的一点点不足,加以改正之后,后面的部分做起来显得更加游刃有余了,最后在分配管脚的地方也曾出现重大疏漏,比如我在最后给六个数码管命名的时候就沿用了之前时分秒位

24、的命名例如 miaoL,fenH 什么的啊,最后分配管脚后编译整个电路都没问题,既然编译没问题于是我开始下载,最终的数码管上却显示乱七八糟的东西当然也看不到计数了,于是我重新编译前面的譬如计数电路啊却发现编译不通过说有些管脚号已经被别的什么占用了,我仔细对照实验指导书上的管脚号复查了一遍却没有发现错误,那既然管脚号没分配错,那么问题出在哪里呢?我又把分配的管脚号删了重新再分配了一遍,却还是部分电路编译不通过。最终我还是冷静地一点点去分析,当我给数码管重新命名为 DIG0,DIG1 之类的,这样再去编译就通过了,最终数码管上开始有显示,也能够正常计数了,我这下终于松了一口气了。通过本次实验,我有着很多丰富的收获,譬如加强了独立思考和自学的能力,自顶向下的层次化设计方法,其中最重要的当然就是要时刻保持冷静,用清醒的头脑去仔细分析处理问题,实验之后我又重新试着用 VHDL 语言去编程实现了很多原理图的功能,让我更加加深了对 VHDL 中基本语法及并行语句的掌握,为以后走上工作岗位也积累了相当多的宝贵财富。七:参考文献1.可编程逻辑器件与 VHDL 语言 科学出版社2.EDA 设计实验指导书 南京理工大学电子技术中心3.数字逻辑电路与系统设计 电子工业出版社4.数字电路设计 科学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报