数字钟设计EDA.docx
- 文档编号:1059774
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:19
- 大小:75.97KB
数字钟设计EDA.docx
《数字钟设计EDA.docx》由会员分享,可在线阅读,更多相关《数字钟设计EDA.docx(19页珍藏版)》请在冰豆网上搜索。
数字钟设计EDA
课程设计报告
课程名称数字系统与逻辑设计
课题名称数字钟的设计
专业通信工程
班级通信工程1001班
学号201003040126
姓名唐群
指导教师乔汇东胡瑛
2012年7月2日
湖南工程学院
课程设计任务书
课程名称数字系统与逻辑设计
课题数字钟的设计
专业班级通信工程1001班
学生姓名唐群
学号201003040126
指导老师乔汇东胡瑛
审批乔汇东
任务书下达日期2012年6月23日
任务完成日期2012年7月2日
《数字系统与逻辑设计》课程设计任务书
一、设计目的
全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求
1、设计正确,方案合理。
2、程序精炼,结构清晰。
3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
4、上机演示。
5、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排
第二十周星期一:
课题讲解,查阅资料
星期二:
总体设计,详细设计
星期三:
编程,上机调试、修改程序
星期四:
上机调试、完善程序
星期五:
答辩
星期六-星期天:
撰写课程设计报告
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
1、数字钟系统的设计2
1.1数字钟系统的设计2
1.2基本设计思想2
2、数字钟系统的实现2
2.1数字钟的基本组成2
2.2系统的总体框图3
2.3系统各功能模块的实现3
2.3.1计数模块3
2.3.2、整点报时模块的实现4
2.3.3显示模块5
3系统的调试与仿真7
4心得与总结8
5源程序8
5评分表15
一、数字钟系统的设计
1.1数字钟系统的设计
在QuartusII平台上设计一个多功能数字钟,设计基本要求:
显示时-分-秒、整点报时、小时和分钟可调等基本功能。
首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从0~23时。
1.2基本设计思想
本次课设任务是设计一个多功能数字钟,包括多个模块,设计基本思路:
首先,设计显示格式为小时-分钟-秒钟的模块,整点报时,报时时间为5秒,即从整点前5秒钟开始进行报时提示,LED开始闪烁,过整点后,停止闪烁。
其次,调整时间的的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调整分钟,每按下一次,分钟增加一分钟。
另外用S8按键作为系统时钟复位,复位后全部显示00-00-00。
2、数字钟系统的实现
2.1数字钟的基本组成
本数字钟的实现可分为以下几个模块:
(1)秒计数模块:
秒计数,在频率为1Hz的时钟下以60次为循环计数,并产生进位信号影响分计数;
(2)分计数模块:
分计数,在秒进位信号为高电平时,计数一次,同样以60次为一个循环计数,同时产生分进位信号影响时计数;
(3) 时计数模块:
时计数,在分进位信号为高电平时,计数一次,以24/12次为一个循环计数;
(4) 时间显示模块:
数码管通过动态显示,同时进行一定频率的扫描显示时,分,秒。
(5) 时间设置模块:
设置调试使能端,可以调时,分,秒。
基本功能是在使能端为高电平时,可以使时和、分和秒循环计数;
(6) 整点报时模块:
在秒计数到55秒时,同时分计数到59分开始,持续5秒。
2.2系统的总体框图
校时电路
秒计数器
分计数器
分译码器
秒译码器
分显示器
秒显示器
时译码器
时计数器
时显示器
报时
1HZ
振荡器
分频器
图1数字钟的系统框图
2.3系统各功能模块的实现
2.3.1计数模块
计数部分由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。
其VHDL源程序相差不大由于篇幅有限,这里我们以分计数的实现为例。
程序如下:
-----------------------------------------------分钟十位
m110:
process(clk,min2,sec1,sec2,md1,md2)
begin
ifclk'eventandclk='1'then
if(min1="0101"andmin2="1001")and(sec1="0101"andsec2="1001")then
min1<="0000";
elsifmin1="0101"andmin2="1001"and(md1='0'andmd2="00")then
min1<="0000";
elsif(min2="1001"and(sec1="0101"andsec2="1001"))or(min2="1001"andmd1='0'andmd2="00")then
min1<=min1+1;
endif;
endif;--endif;
endprocessm110;
----------------------------------------------分钟个位
m220:
process(clk,sec1,sec2,md1,md2)
begin
ifclk'eventandclk='1'then
ifmin2="1001"and(sec1="0101"andsec2="1001")then
min2<="0000";
elsifmin2="1001"and(md1='0'andmd2="00")then
min2<="0000";
elseif(sec1="0101"andsec2="1001")or(md1='0'andmd2="00")then
min2<=min2+1;
endif;
endif;endif;
endprocessm220;
2.3.2、整点报时模块的实现
整点报时持续5秒,进入整点前从55秒开始一直到到59秒报点。
程序如下:
e:
process(second1,second2,minute1,minute2)
begin
ifsecond1=9andsecond2=5andminute1=9andminute2=5then
alarm<='1';
elsealarm<='0';
endif;
endprocesse;
2.3.3显示模块
计时显示电路的作用是将计时值在LED数码管上显示出来。
计时电路产生的值经过BCD七段译码后,驱动LED数码管。
计时显示电路的实现方案采用扫描显示。
disp:
process(sel,md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)
begin
ifsel="000"then
selout<="000";
caseh1is
when"0000"=>dout<="0111111";
when"0001"=>dout<="0000110";
when"0010"=>dout<="1011011";
whenothers=>dout<="1000000";
endcase;
elsifsel="001"then
selout<="001";
caseh2is
when"0000"=>dout<="0111111";
when"0001"=>dout<="0000110";
when"0010"=>dout<="1011011";
when"0011"=>dout<="1001111";
when"0100"=>dout<="1100110";
when"0101"=>dout<="1101101";
when"0110"=>dout<="1111101";
when"0111"=>dout<="0000111";
when"1000"=>dout<="1111111";
when"1001"=>dout<="1101111";
whenothers=>dout<="1000000";
endcase;
elsifsel="010"then
selout<="010";
casem1is
when"0000"=>dout<="0111111";
when"0001"=>dout<="0000110";
when"0010"=>dout<="1011011";
when"0011"=>dout<="1001111";
when"0100"=>dout<="1100110";
when"0101"=>dout<="1101101";
whenothers=>dout<="1000000";
endcase;
elsifsel="011"then
selout<="011";
casem2is
when"0000"=>dout<="0111111";
when"0001"=>dout<="0000110";
when"0010"=>dout<="1011011";
when"0011"=>dout<="1001111";
when"0100"=>dout<="1100110";
when"0101"=>dout<="1101101";
when"0110"=>dout<="1111101";
when"0111"=>dout<="0000111";
when"1000"=>dout<="1111111";
when"1001"=>dout<="1101111";
whenothers=>dout<="1000000";
endcase;
elsifsel="100"then
selout<="100";
cases1is
when"0000"=>dout<="0111111";
when"0001"=>dout<="0000110";
when"0010"=>dout<="1011011";
when"0011"=>dout<="1001111";
when"0100"=>dout<="1100110";
when"0101"=>dout<="1101101";
whenothers=>dout<="1000000";
endcase;
elsifsel="101"then
selout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 设计 EDA