1、数字钟设计EDA课 程 设 计 报 告课程名称 数字系统与逻辑设计 课题名称 数字钟的设计 专 业 通信工程 班 级 通信工程1001班 学 号 201003040126 姓 名 唐 群 指导教师 乔汇东 胡瑛 2012年 7月 2日湖南工程学院课 程 设 计 任 务 书课程名称 数字系统与逻辑设计 课 题 数字钟的设计 专业班级 通信工程1001班 学生姓名 唐 群 学 号 201003040126 指导老师 乔汇东 胡瑛 审 批 乔汇东 任务书下达日期 2012 年 6月 23日任务完成日期 2012 年 7月 2日数字系统与逻辑设计课程设计任务书一 、设计目的全面熟悉、掌握VHDL语言基
2、本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求1、设计正确,方案合理。2、程序精炼,结构清晰。3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。4、上机演示。5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排第二十周 星期一: 课题讲解,查阅资料 星期二: 总体设计,详细设计星期三: 编程,上机调试、修改程序星期四:
3、上机调试、完善程序星期五: 答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。 1、 数字钟系统的设计 21.1 数字钟系统的设计 21.2 基本设计思想 22 、数字钟系统的实现 22.1数字钟的基本组成 22.2 系统的总体框图
4、32.3 系统各功能模块的实现 32.3.1计数模块 32.3.2、整点报时模块的实现 42.3.3显示模块 53系统的调试与仿真 74心得与总结 85源程序 85评分表 15一、 数字钟系统的设计1.1 数字钟系统的设计在Quartus II 平台上设计一个多功能数字钟,设计基本要求:显示时分秒、整点报时、小时和分钟可调等基本功能。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz 信号的作用下进行,这样每来一个时钟信号,秒增加1 秒,当秒从59 秒跳转到00秒时,分钟增加1 分,同时当分钟从59 分跳转到00 分时,小时增加1 小时,但是需要注意的是,小时的范围是从023 时。 1.2
5、 基本设计思想本次课设任务是设计一个多功能数字钟,包括多个模块,设计基本思路:首先,设计显示格式为 小时分钟秒钟的模块,整点报时,报时时间为5 秒,即从整点前5 秒钟开始进行报时提示,LED 开始闪烁,过整点后,停止闪烁。其次,调整时间的的按键用按键模块的S1 和S2,S1 调节小时,每按下一次,小时增加一个小时,S2 调整分钟,每按下一次,分钟增加一分钟。另外用S8 按键作为系统时钟复位,复位后全部显示000000。2 、数字钟系统的实现2.1数字钟的基本组成本数字钟的实现可分为以下几个模块:(1) 秒计数模块:秒计数,在频率为1Hz的时钟下以60次为循环计数,并产生进位信号影响分计数; (
6、2) 分计数模块:分计数,在秒进位信号为高电平时,计数一次,同样以60次为一个循环计数,同时产生分进位信号影响时计数; (3) 时计数模块:时计数,在分进位信号为高电平时,计数一次,以24/12次为一个循环计数;(4) 时间显示模块:数码管通过动态显示,同时进行一定频率的扫描显示时,分,秒。(5) 时间设置模块:设置调试使能端,可以调时,分,秒。基本功能是在使能端为高电平时,可以使时和、分和秒循环计数; (6) 整点报时模块:在秒计数到55秒时,同时分计数到59分开始,持续5秒。2.2 系统的总体框图校时电路秒计数器分计数器分译码器秒译码器分显示器秒显示器时译码器时计数器时显示器报时 1HZ振
7、荡器分频器图1 数字钟的系统框图2.3 系统各功能模块的实现2.3.1计数模块计数部分由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。其VHDL源程序相差不大由于篇幅有限,这里我们以分计数的实现为例。程序如下:-分钟十位m110:process(clk,min2,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then min1=0000;elsif min1=0101and min2=1001and
8、(md1=0 and md2=00)thenmin1=0000;elsif (min2=1001and (sec1=0101 and sec2=1001) or (min2=1001and md1=0 and md2=00)thenmin1=min1+1;end if;end if;-end if;end process m110;-分钟个位m220:process(clk,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif min2=1001and (sec1=0101 and sec2=1001)thenmin2=0000;elsif m
9、in2=1001and (md1=0 and md2=00)thenmin2=0000;else if (sec1=0101 and sec2=1001) or(md1=0 and md2=00)thenmin2=min2+1;end if;end if;end if;end process m220;2.3.2、整点报时模块的实现整点报时持续5秒,进入整点前从55秒开始一直到到59秒报点。程序如下:e:process(second1,second2,minute1,minute2)beginif second1=9 and second2=5 and minute1=9 and minute
10、2=5 then alarm =1 ;else alarm =0;end if;end process e;2.3.3显示模块计时显示电路的作用是将计时值在LED数码管上显示出来。计时电路产生的值经过BCD七段译码后,驱动LED数码管。计时显示电路的实现方案采用扫描显示。 disp:process(sel,md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)beginif sel=000 thenseloutdoutdoutdoutdout=1000000;end case;elsif sel=001 thenseloutdout
11、doutdoutdoutdoutdoutdoutdoutdoutdoutdout=1000000;end case;elsif sel=010 thenseloutdoutdoutdoutdoutdoutdoutdout=1000000;end case;elsif sel=011 thenseloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=1000000;end case;elsif sel=100 thenseloutdoutdoutdoutdoutdoutdoutdout=1000000;end case;elsif sel=101 thenselout
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1