1多功能数字钟设计Word文档格式.docx
- 文档编号:18343956
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:19
- 大小:597.37KB
1多功能数字钟设计Word文档格式.docx
《1多功能数字钟设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《1多功能数字钟设计Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
3、各子模块设计原理………………………………………………5
3.1分频电路设计……………………………………………………………6
自己的创新,用VHDL语言来写………………………………………8
3.2计时电路设计……………………………………………………………10
3.3校时、校分电路设计……………………………………………………12
3.4整点报时电路设计………………………………………………………14
3.5译码显示电路设计………………………………………………………15
3.6闹钟电路设计……………………………………………………………15
3.7星期功能电路设计………………………………………………………17
4、调试与仿真………………………………………………………18
5、编程下载…………………………………………………………18
6、设计中遇到的困难………………………………………………19
7、实验收获与感受…………………………………………………20
8、参考文献…………………………………………………………21
(说明,具体详细的原电路和实验截图见电子版,本实验报告只含部门截图)
1、设计要求说明
1.1设计目的
(1)熟悉使用QuartusII软件。
(2)掌握数字钟的组成以及工作原理。
(3)熟悉下载板结构机器引脚分配。
1.2设计要求
(1)设计24小时计时电路,完成0时0分00秒~23时59分59秒的计时功能。
(2)设计校分电路,在任意时刻,拨动校分开关,可以进行快速校分。
(3)设计校时电路,在任意时刻,拨动校时开关,可以进行快速校时。
(4)设计星期显示功能,在小时数前面显示星期数。
(5)设计整点报时功能,使数字计时器从59分53秒开始报时,每隔两秒发一声,共三声低音,一声高音。
(6)设计闹钟功能,当时钟达到预先设定的时间时,闹铃响起。
(7)对每一单元电路进行模拟仿真,首先通过仿真图形判断电路的正确与否,进行改正,再仿真,直到仿真通过。
(8)设计总体电路,整合封装,形成完整的电路设计。
2、整体电路设计原理
2.1整体设计电路原理
多功能数字钟电路由时钟产生模块、计时模块、译码显示模块、整点报时模块、校时校分模块及系统清零模块等部分组成。
整体方案图如下:
2.2整体电路图
3、各子模块设计原理
3.1分频电路设计
分频电路是为计时器提供计时脉冲的,因为设计的是计时器,所以需要产生1Hz的脉冲信号。
EDA实验系统的输入时钟为48MHz,那么要产生1Hz的脉冲信号,则要对输入时钟48MHz进行分频。
(1)模2
(2)模5
(3)模48
(4)模1000
(5)将其封装组合,成为分频器,使其产生1Hz,2Hz,500Hz和1KHz的信号。
分频电路的输出端1hz得到1HZ脉冲信号作为计时电路的时钟信号。
输出端1Khz得到1KHZ脉冲信号作为动态显示的时钟信号。
实验结束后我自己又尝试着使用了VHDL语言来设计,自己运行了编译仿真可以产生正确的分频信号,虽然在实验过程中由于时间紧张自己没有采用这样的方法,但是课后自己还是尝试了一下。
(这里的尝试和自己的原理图没有关系,只是自己出于好奇和尝试而做了这样的工作)集体程序如下。
1)产生1HZ的分频电路
LIBRARYIEEE;
USEIEEE.std_logic_1164.ALL;
USEIEEE.std_logic_unsigned.ALL;
ENTITYkcoun48MIS
PORT(A:
INstd_logic;
B:
bufferstd_logic);
ENDkcoun48M;
ARCHITECTUREkcoun48M_arcOFkcoun48MIS
SIGNALcounter:
std_logic;
BEGIN
PROCESS(A)
VARIABLEcounter1:
integerRANGE0TO48000000;
CONSTANTmd:
integer:
=24000000;
IF(A'
eventANDA='
1'
)THEN
IF(counter1=md)THEN
counter1:
=0;
counter<
=NOTcounter;
B<
=counter;
ENDIF;
=counter1+1;
ENDPROCESS;
ENDkcoun48M_arc;
2)产生1KHZ的分频电路
LIBRARYIEEE;
ENTITYkcoun1KIS
ENDkcoun1K;
ARCHITECTUREkcoun1K_arcOFkcoun1KIS
=24000;
ENDkcoun1K_arc;
3.2计时电路设计
计数器电路由2个模60计数器和一个模24计数器级联组成,三个计数器之间构成进位关系,即秒计数器为分计数器提供计数脉冲信号,分计数器为时计数器提供计数脉冲信号。
该计数器电路分为秒个位、秒十位、分个位、分十位、时个位和时十位输出。
(1)秒、分计数器的设计电路(模60):
其仿真波形如下图:
(2)时计数器设计电路(模24):
整体的计时电路如下图所示:
计时器仿真波形如下:
3.3校时、校分电路设计
校时校分电路其实就是控制时钟进位使能端的装置。
(1)校时
校时仿真波形如下(K4=1):
(2)校分
校分仿真波形如下(K3=0):
(3)加了校时、校分、清零、保持之后的计时器
3.4整点报时电路设计
将数字钟计时模块的输出信号与蜂鸣器相连接,可实现整点报时功能,这里实现功能是在每小时的59分的53、55、57秒报低音,59秒报高音。
只要按规定的时间找出对应的输出逻辑,到达报时时间送高电平给蜂鸣器,即可实现报时。
要实现低音和高音,只要分别在相应时间给蜂鸣器低频和高频脉冲即可。
这里选用高频脉冲为1000Hz,低频脉冲为500Hz。
报时电路如下图所示:
当时间为59分59秒时,仿真结果如下:
3.5译码显示电路设计
根据实验要求,本次实验采用动态译码的方式显示,即用1KHZ的告诉脉冲轮流扫描7个译码管(下图为加入星期显示的译码电路),是人眼无法分辨,感觉是同时显示;
设计原理是用4个8选一74151选出秒个位,秒十位,分个位,分十位,时个位,时十位,星期再设计一个模7计数器输出选通对应的译码管,四片数据选择器的输出依次送至一片显示译码器的输入端,译码结果送至数码管。
将四个选择器选择出的数据送到译码管7447对应输入端,再送到数码管相应管脚,并通过3—8线译码器来循环驱动七个七段显示器即可。
译码电路图如下:
3.6闹钟电路设计
闹钟分为闹钟设置电路与闹钟比较电路,总体设计思想是先用闹钟设置电路设置闹钟时间,并在译码显示其上显示,然后用比较器来比较闹钟时间与计时器时间是否相等,若相等则蜂鸣器工作。
(1)闹钟设置电路图如下:
电路中用1HZ信号对闹钟时间进行快速校时校分,“nclr”“setm”“seth”分别为清零开关以及校分、校时开关。
(2)闹钟比较电路图如下:
闹钟时和分的比较电路都有8位,故可用4片7485组成分个位、分时位、时时位、时个位的比较电路,最后在外部将输出信号与正常及时信号相与接到蜂鸣器即可完成设计。
(3)切换显示电路:
加入闹钟以后,需要切换闹钟与正常计时是的显示切换。
3.7星期功能电路设计
星期功能与计时功能类似,只需设计一个模7计数器,显示时置于最前端即可,设计电路图如下:
星期仿真结果如下:
4、调试与仿真
(1)保存:
将上述工程保存至相应文件夹。
(2)编译调试:
在主菜单中选择processing项,选择Startcomplication键,开始编译。
在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;
若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。
(3)波形仿真:
在菜单栏中点击File\New,然后选择VectorWaveformfile,新建生成波形文件。
右键单击,在弹出的菜单中选EnterNodesFromeSNF,在弹出的对话框中选择要观测的节点。
选Option\GridSize和File\EndTime,设置相应选项,并给输入引脚加上适当的信号。
然后,选File\Save保存。
选择主菜单QuartusⅡ中的Simulator项,点击Start开始波形仿真。
(4)观察仿真波形并对结果进行分析,根据结果调整电路直至得到预期效果。
5、编程下载
(1)在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8
(2)在主菜单中选择“Assignments—>
Pins”进行管脚分配,具体分配表可参照《EDA设计实验指导书》附表2;
(3)选择“file->
save”保存分配并再次编译;
(4)在主菜单中点击“programmmer”,之后在弹出的对话框中选择“start”即可完成下载。
(5)调试仿真编译下载的具体流程见下图
6、设计中遇到的困难
(1)在下载之后,出现秒的十位乱码的情况,且情况有规律性,如该出现“1”是有时出现“3”,出现“2”时有时出现“4”,即定时出现N+2.后来经过大量时间的盘查才发现在译码器的部分有一个秒十位的标号写成了秒个位的标号,以前的实验中也出现过类似的简单问题却时常查不出来,与自己的粗心大意相关,要改正。
实验最怕的就是粗心大意,以后的实验自己一定会更加认真仔细。
(2)硬件功能的检测,在本次实验的译码部分,曾经一度出现有一个译码管不亮的问题,起初以为是电路设计的问题,后来经几次验证发现电路没有问题,经过老师的指点我们发现是装置自身的问题,这也提醒我们学会硬件检测的重要性,否则很可能因此而浪费不必要的时间。
(3)在计数器的环节花了很多的时间,因为之间要考虑到清零,保持,进位等关系,出现了很多错误,但都得到了解决。
(4)最终的闹钟部分没有很好的完成,因为其中的校分校时部分失效了,电路很简单但就是查不出原因。
即只能当把闹钟设在零点,当始终走到零点的时候能听到“啪”的声音而没有闹钟声音。
实验结束后看了一下其他同学的电路,但是原因还是没有查出来,也许这就是一点遗憾吧。
(5)不知道什么原因自己试着做清零的时候,可以实现清零功能,但是当给老师检查的时候却总是时十位没有彻底清除掉,我回来后仔细查了电路,完全没有问题,我想可能计时器也会紧张吧当自己被检查的时候,也许是缓冲或者哪里出了问题。
最终感觉自己的实验做得还算是挺成功的。
因为在一个星期内自己可以通过自己的学习,请教老师,同学做出一个这样的计时器,感觉自己还是挺厉害的,也对得起自己熬了两个通宵。
7、实验收获与感受
这次实验与以前的实验相比,更加需要大量的知识储备,首先就是对实验软件的熟悉,只有对软件熟悉之后才会快速无误的把实验电路连接起来,本次试验是我第一次接触到QuartusII软件,刚开始时对其非常的陌生,对操作页面和操作技巧都非常的不熟悉,但是经过了老师的讲解加上自己差不多一天的摸索,对这个软件有了一定的了解和熟悉,逐渐地学会了使用这个软件。
之前需要复习上学期所学的计数器,译码器等知识。
期间遇到了很多的问题,毕竟我们动手自己设计的机会不算多,原本以为自己会的东西一遇到实践就乱了手脚。
经常因为一点错误而不知所措,进度有些慢了。
很多课堂上的知识只有通过亲手的实践才能真正的为己所用。
本次实验给我深印象的就是“分模块设计”,原本十分复杂的电路设计,在进行了整体拆分、逐个分析之后感觉任务轻松了很多,同时逐个分析也可以精简电路的复杂度,减少最后的连线数目,大大降低了我的工作量。
虽然单个模块在设计过程中同样遇到了许多困难,但是总算是功夫不负有心人,总体的电路还是顺利地完成了。
当做到提高部分的时候心态就好多了,先做了比较简单的星期,然后做了闹钟,虽然闹钟的校时校分没有实现,但也自己动了脑筋设计了电路,也得到了锻炼,这一点总是好的。
希望有更多这样的机会。
最后还是衷心地感谢老师以及所有指导帮助过我们完成实验的大神和同学们。
当看到最后自己设计的电路可以报时,听到那滴滴的报时声,心中的欢乐是无法用用语言表达的。
8、参考文献
(1)《数字逻辑电路与系统设计》蒋立平主编电子工业出版社
(2)《EDA设计实验指导书》南京理工大学电子技术中心
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 数字 设计