电工电子技术课程设计数字电子钟汇编.docx
- 文档编号:10342999
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:19
- 大小:666.50KB
电工电子技术课程设计数字电子钟汇编.docx
《电工电子技术课程设计数字电子钟汇编.docx》由会员分享,可在线阅读,更多相关《电工电子技术课程设计数字电子钟汇编.docx(19页珍藏版)》请在冰豆网上搜索。
电工电子技术课程设计数字电子钟汇编
课程设计报告
课程名称:
电工电子技术课程设计
学院:
专业:
班级:
学号:
姓名:
成绩:
2014年1月15日
前言
数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
它从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。
本次的课程设计是基于VerilogHDL的多功能数字钟,完成时、分、秒的显示功能。
设计利用VerilogHDL语言自顶向下的设计理念,突出其作为硬件描述语言的良好的可读性、可移植性以及易于理解等优点。
通过QuartusII5.0和ModelSimSE6.1f软件完成仿真、综合。
程序下载到FPGA芯片后,可用于实际的数字钟显示中。
本次课程设计要求设计一个数字钟,基本要求为数字钟的时间周期为24小时,数字钟显示时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。
供扩展的方面涉及到校时校分、闹钟、整点报时、跑表等。
因此,研究数字电子钟及扩大其应用,有着非常现实的意义。
一、实训任务
1、基本任务
⑴小时计数器为24进制;分和秒计数器为60进制计数器;
⑵扩展功能:
①校〝时〞和校〝分〞;②整点报时;③闹钟;④跑表。
2、设备要求
使用硬件描述语言(VerilogHDL语言)方法在QuartusII软件系统平台上建立数字电子钟电路的各分模块文件并完成编译和仿真;在QuartusII软件系统平台上完成顶层文件的编译和下载,并通过开发板演示最终结果,观察现象。
二、设计方案
1、层次化设计
本次设计课题目标完成是基于VerilogHDL语言的多功能数字钟的设计,通过数码管实时显示时、分、秒并添加了校时,闹钟,整点报时和跑表的功能,通过按键,指示灯和蜂鸣器实现。
设计遵循VerilogHDL语言的设计理念,代码具有良好的可读性和易理解性。
系统主要分六个模块实现,分别是计数模块(时分秒)、校时模块、闹钟模块、整点报时模块、跑表模块、控制模块。
在顶层文件中采用了画原理图的方法,对各个模块进行调用,综合。
2、系统示意图
输入变量:
秒时钟CPS,校时、校分变量分别为SWH、SWM;
输出变量:
小时计时H[7..4]、H[3..0]输出,其时钟为CPH;
分钟计时M[7..4]、M[3..0]输出,其时钟为CPM;
秒计时S[7..4]、S[3..0]输出,其时钟为CPS。
报时bshi和闹钟控制变量ling等。
三、设计过程
1、小时计时模块
(1)建立项目,打开QuartusII,单击FILE,NewprojectWizard。
(2)建立工程文件,单击
,选择DesignFiles/VerilogHDLFILe,打开编程界面。
使用VerilogHDL语言编写小时计时的程序(如下图所示),完成后单击
。
(3)编译,如图1所示操作。
编译无误后,可做功能仿真。
图1
(4)仿真,单击
,选择vectorwaveformfile。
打开波形编辑器,如图2,在波形编辑器窗口的name列空白处双击,打开图3。
单击nodefinder,打开图4。
在图4里设置Filter为pins:
all,单击list,
,添加端口到波形编辑器。
图2
图3图4
连续点击两次OK,得图5
图5
分组,按Ctrl键选中需要分为一组的端口,在阴影处右击,选择Grouping/Group,分为一组,并在弹出的命名框中,命名为Hl,用同样的方法设置小时的高四位,并命名为Hh然后设定仿真结束的时间,单击Edict中的endtime进行设置。
点击OK并保存,注意波形名改为指定的文件名。
首先单击CPH即选定CPH,如图6:
图6
单击
,打开图7,并设置参数,点击OK。
图7
CPH的波形如下图8:
图8
然后设置RD,选择RD,单击
,将RD一部分设为高电平,一部分设为低电平。
图9
单击SimulatorSettings,选择仿真类型为功能仿真,即设置Simulatormode为Functional,点击OK。
然后,生成功能仿真网表文件,选择Processing/GenerateFunctionalSimulationNetlist
最后,进行仿真,点击
,生成仿真结果,如图10
图10
由仿真波形可知:
①Hl作个位计数,Hh作十位计数;②当小时的高四位为0、1时,小时的低四位为9时,在下一个时钟的上升沿来之后,高四位加一;③当小时的高四位为2,同时低四位为3时,小时的高低四位都清零。
实现了从00到23的循环计数,其结论是符合时计时规律,逻辑电路设计正确。
④当RD为0时,计时停止,实现了复位的功能。
(5)经仿真确认无误后,将当前设计打包,按图11操作,打包后生成24进制计数器的符号,如图12。
图11
图12
2、分钟计时模块
(1)〝分〞计时功能电路Verilog语言描述
60进制计数器的设计方法类似24进制计数器,不同的地方在于,60进制的设计思想是当计数到59时,置数清零,产生进位输出;而24进制的高低4位的清零和进位需要考虑个位计数到9和整个计满到23。
设置波形激励,首先选定CPM,单击
,打开时钟设置工具,然后设置RD,单击
,将RD一部分设为高电平,一部分设为低电平,如图13。
图13
其他操纵与24进制计数器的类似。
(2)仿真波形如图14:
图14
由仿真波形可知:
①Ml作个位计数,Mh作十位计数;②当分钟的高四位为0、1、2、3、4时,分钟的低四位为9时,在下一个时钟的上升沿来了之后,高四位加一;③当分钟的高四位为5,同时低四位为9时,分钟的高低四位都清零。
实现了从00到59的循环计时,其结论是符合分计时规律,逻辑电路设计正确。
(3)分计时模块打包:
图15
3、秒计时模块
(1)〝秒〞计时功能电路Verilog语言描述
(2)仿真波形如下:
图16
由仿真波形可知:
①Sl作个位计数,Sh作十位计数;②当秒钟的高四位为0、1、2、3、4时,秒钟的低四位为9时,在下一个时钟的上升沿来了之后,高四位加一;③当秒钟的高四位为5,同时低四位为9时,秒钟的高低四位都清零。
实现了从00到59的循环计时,其结论是符合秒计时规律,逻辑电路设计正确。
(3)秒计时模块打包:
图17
4、校时校分模块
(1)校时校分功能电路Verilog语言描述
(2)仿真波形如下:
图17
由仿真图分析可知:
当SWM为0时,用秒时钟CPS对分钟CPM进行校对;当SWH为0时用秒时钟CPS对小时CPH进行校对。
当SWM、SWH都不为0时,分钟,小时正常计数。
其结论是符合校时校分规律,逻辑电路设计正确。
(3)校时校分模块打包
图18
4、整点报时模块
(1)整点报时功能电路Verilog语言描述
(2)仿真波形如下:
图19
由仿真波形图看出,当为59分59秒时,(bshi被赋值为gy的值)即以高音报时。
验证了本模块的逻辑功能正确。
(3)整点报时模块打包
图20
5、闹钟控制模块
(1)闹钟功能电路Verilog语言描述
(2)仿真波形如下:
图21
由仿真波形图看出在设定好的时间位置,ling被设为高电平,即此时灯亮,验证了本模块逻辑功能的正确性。
(3)闹钟模块打包
图22图23(可通过参数模块对闹钟进行设定)
6、控制模块
(1)控制模块电路Verilog语言描述
(2)仿真波形如下:
图24
由仿真波形图看出当mode为1时,CLK1无输入信号,即跑表不运行,时钟的计时模块有输入信号cps;当蓦地为0时,CLK1有输入信号,即跑表运行,但计时模块并不停止,只是不显示,所以cps仍同clk一样,实现了跑表与数字钟的控制功能,验证了本模块逻辑功能的正确性。
(4)控制模块打包
图25
7、跑表模块
(1)跑表模块电路Verilog语言描述
(2)跑表模块的仿真模型
由仿真图形验证了跑表的功能,逢百进位。
(3)跑表模块打包(如图26)
图26
8.秒、分、小时计时单元功能电路模块
(1)接线图(如图27)
图27
(2)仿真波形图(如图28)
图28
9.秒、分、小时计时、校正、整点报时、闹钟单元功能电路模块
(1)接线图(如图29):
图29
(2)仿真波形(如图30):
图30
10.秒、分、小时计时、校正、整点报时、闹钟、跑表单元功能电路模块
(1)接线图:
(如图31)(该模块并没有完全实现,正在进一步学习中)
图31
四、联机操作
1、分配引脚:
2、编译
单击
,编译。
编译无误后,便可下载。
3、下载
将开发板与PC机接好,装好驱动,打开电源,单击
,打开下载窗口。
点击,选择,
然后单击,开始下载,当下载进度到100%,下载成功,就可以根据设计情况,在开发板上验证功能。
五.收获和体会
这次实训过程虽然短暂,但却学到了很多东西。
刚开始觉着这次实训可能就是编一些简单的程序,仿真验证就行了,但是随着实训的深入,我发现这不仅仅是编程序那么简单,它还考验了我们的耐心,细心和逻辑能力。
这次编写的是多功能数字电子钟,刚开始感觉无从下手,然后就去网上查找一些资料,看了很多资料后,渐渐自己也摸到了一些门道,也慢慢地对这个看似枯燥的东西产生了兴趣,随着设计的深入,我发现我的兴趣越来越大,希望电子钟实现的功能越来越多,在编写过程中,总会遇到一些这样那样的问题,在解决问题的过程中,不仅提高了自信,而且锻炼了我的耐性。
虽然报告写到了这里,但是还感觉意犹未尽,总想编写下去,实现更多的功能,最后的跑表功能也未能得到完整的验证,因为自己在知识方面还是欠缺很多的,我相信我会一直学习下去,毕竟对我来说,这是一门很有趣的课程。
另外在这次实训中,我也要格外感谢老师,在我们的程序进行仿真出问题的时候,老师很有耐心的帮着我们解决了进行时序仿真所出现的毛刺问题,也让我对整个程序有了更深入的理解。
六.参考文献
1.EDA技术实用教程——VerilogHDL版(第四版)潘松、黄继业、潘明编著。
2.FPGA设计基础——王传新主编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电工 电子技术 课程设计 数字 电子钟 汇编