数字电子钟EDA课程设计.docx
- 文档编号:29005316
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:14
- 大小:123.33KB
数字电子钟EDA课程设计.docx
《数字电子钟EDA课程设计.docx》由会员分享,可在线阅读,更多相关《数字电子钟EDA课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
数字电子钟EDA课程设计
EDA课程设计报告书
课题名称
数字电子钟
姓名
熊静平
学号
0812201-41
院系
物理与电信工程系
专业
电子信息工程
指导教师
周来秀
2011年6月8日
设计任务及要求:
1.数字显示当前的小时、分钟;
2.可以预置为12小时计时显示和24小时计时显示;
3.一个调节键,用于调节目标数位的数字。
对调节的内容敏感,如调节分钟或秒时,保持按下时自动计数,否则以脉冲计数;
4.一个功能键,用于切换不同状态:
计时、调时、调分、调秒、调小时制式。
指导教师签名:
年月日
二、指导教师评语:
指导教师签名:
年月日
三、成绩
验收盖章
年月日
多功能数字钟设计
(湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300)
1设计目的
1、学习复杂数字电路系统的设计。
2、设计一个多功能数字钟。
2设计的主要内容和要求
1.数字显示当前的小时、分钟;
2.可以预置为12小时计时显示和24小时计时显示;
3.一个调节键,用于调节目标数位的数字。
对调节的内容敏感,如调节分钟或秒时,保持按下时自动计数,否则以脉冲计数;
4.一个功能键,用于切换不同状态:
计时、调时、调分、调秒、调小时制式。
3整体设计方案
基本设计方案[1]:
秒显示电路
分显示电路
译码器
译码器
译码器
分钟计数器
秒钟计数器
时钟计数器
控制电路
CLK
CLK
CLK
图3-1总体方案框图
多功能数字钟电路的设计总体方案框图(如图3-1所示),由控制电路、两个60进制计数器、一个24进制计数器、译码器、显示器组成。
计数器对秒、分、小时进行计时,当计时到23时59分59秒时,来一个计数脉冲,则计数器清零,重新开始计时。
译码器将计数器输出的BCD码计时结果转换成十进制送到显示器。
显示器显示时、分、秒计时结果。
4软件电路的设计
4.1秒计时电路设计[2]
秒计时的程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
USEIEEE.STD_LOGIC_ARITH.ALL;
entitysecondIS
port(clk1,rst1:
instd_logic;
cout1:
outstd_logic;
cq0:
outstd_logic_vector(3downto0);
cq1:
outstd_logic_vector(3downto0));
ENDsecond;
ARCHITECTUREbehaveofsecondis
SIGNALd:
std_logic_vector(3downto0);
SIGNALg:
std_logic_vector(3downto0);
BEGIN
process(clk1,rst1,d,g)
BEGIN
if(rst1='1')then
d<="0000";
g<="0000";
elsif(clk1'EVENTandclk1='1')then
if(d=9andg=5)then
cout1<='1';
else
cout1<='0';
endif;
if(d=9)then
d<="0000";
if(g=5)then
g<="0000";
else
g<=g+1;
endif;
else
d<=d+1;
endif;
endif;
endprocess;
cq0<=d;cq1<=g;
endbehave;
clk1是时钟信号,rst1是复位信号,cout1作为下一模块分钟设计的时钟信号,cq0,cq1输出信号最后接在动态译管码芯片上。
得出实验要求的秒计时器,如图4-1所示:
图4-1秒计时器
4.2分计时电路设计
和秒计时电路程序相比较,都是60进制的计数器,所以只需要吧秒计时电路程序的实体名改成分机是电路的实体名即可。
上一级秒计时电路产生的cout1作为此分时钟设计电路clk1时钟信号,rst1是复位信号,cout1作为下一模块时钟设计的时钟信号,cq0,cq1输出信号最后接在动态译管码芯片上。
得出实验要求的分计时器,如图4-2所示:
图4-2秒计时器
4.3系统要求实现12小时,24小时切换计时,采用一个12,24模可变计数器,程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
USEIEEE.STD_LOGIC_ARITH.ALL;
entityhourIS
port(clk3,rst3,m:
instd_logic;
cq4:
outstd_logic_vector(3downto0);
cq5:
outstd_logic_vector(3downto0));
ENDhour;
ARCHITECTUREbehaveofhouris
SIGNALd:
std_logic_vector(3downto0);
SIGNALg:
std_logic_vector(3downto0);
BEGIN
process(clk3,rst3,m,d,g)
BEGIN
if(rst3='1')then
d<="0000";
g<="0000";
elsif(clk3'EVENTandclk3='1')then
if(m='0')then
if(d=9or(d=1andg=1))then
d<="0000";
if(g=1)then
g<="0000";
else
g<=g+1;
endif;
else
d<=d+1;
endif;
else
if(d=9or(d=3andg=2))then
d<="0000";
if(g=2)then
g<="0000";
else
g<=g+1;
endif;
else
d<=d+1;
endif;
endif;
endif;
endprocess;
cq4<=d;cq5<=g;
endbehave;
当m=0时,实现模12计数,当m=1时实现模24计数,cout2作为clk3时钟信号,rst3是复位信号,cq4,cq5输出信号最后接在动态译管码芯片上。
得出实验要求的小时计时器,如图4-3所示:
图4-3时钟电路
4.4数码管的动态扫描需要一个将八位的输入转化为四位的输出,还有
三位的输出,用来作为动态数码管选择器的输入[3]。
程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
ENTITYyimaIS
PORT(CLK:
INSTD_LOGIC;
RESET:
INSTD_LOGIC;
SEC1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
SEC2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
MIN1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
MIN2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
HOUR1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
HOUR2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DAOUT:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
SEL:
OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDyima;
ARCHITECTUREARTOFyimaIS
SIGNALCOUNT:
STD_LOGIC_VECTOR(2DOWNTO0);
BEGIN
PROCESS(CLK,RESET)
BEGIN
IF(RESET='1')THEN
COUNT<="000";
ELSIF(CLK'EVENTANDCLK='1')THEN
IF(COUNT>="101")THEN
COUNT<="000";
ELSE
COUNT<=COUNT+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK,RESET)
BEGIN
IF(RESET='1')THEN
DAOUT<="0000";
SEL<="111";
ELSIF(CLK'EVENTANDCLK='1')THEN
CASECOUNTIS
WHEN"000"=>DAOUT<=SEC1(3DOWNTO0);
SEL<="000";
WHEN"001"=>DAOUT<=SEC2(3DOWNTO0);
SEL<="001";
WHEN"010"=>DAOUT<=MIN1(3DOWNTO0);
SEL<="010";
WHEN"011"=>DAOUT<=MIN2(3DOWNTO0);
SEL<="011";
WHEN"100"=>DAOUT<=HOUR1(3DOWNTO0);
SEL<="100";
WHEN"101"=>DAOUT<=HOUR2(3DOWNTO0);
SEL<="101";
WHENOTHERS=>DAOUT<="0000";
SEL<="111";
ENDCASE;
ENDIF;
ENDPROCESS;
ENDART;
得出元件如图,如图4-4所示:
图4-4译码电路
5硬件设计
5.1通过下图的两个60进制的计数器,一个24进制的计数器,6选1扫描器,7段数码显示器,设计如图所示的顶层。
规定每一模块的功能和各模块之间的接口[4]。
(1)second(秒) 60进制计数
(2)minute(分) 60进制计数
(3)hour(时)24进制计数
(5)段数码选择和数码管扫描输出
同时整个计数器有清零。
设计思想,利用脉冲时钟产生一个信号来实现一秒钟的控制,然后信号进入控制秒的计数器,当第60个脉冲时钟到来时,产生一个进位信号,送到控制分的计数器,同理,当第60个脉冲时钟到来时,产生一个进位信号,送到控制小时的计数器。
当小时计数器计数到24时,完成一个周期,跳转到零。
输出是由7段数码显示器和4位段选显示完成的,动态扫描,完成数码管显示。
图5-1总体设计电路
6系统仿真
图6-1仿真波形
图6-1中,sel0代表从右起第一号管,依次sel5代表第六号管,daout则对应每号管显示的数值。
Daout在clk1高电平是有效,只在在CLK的上升沿产生变化。
每一个CLK的时钟脉冲,会使SEL产生一个段选码,而Daout则显示。
图6-2是硬件电路的引脚锁定。
图6-2引脚锁定图
7使用说明
CLK为时钟脉冲,clk1为秒钟计数器的脉冲信号,m为12小时和24小时的切换按键,RESET为复位电路,rst1、rst2、rst3分别为秒钟、分钟、时钟电路的复位按键,tiaomiao、tiaofen、tiaoshi3个引脚可以分别调秒钟、分钟和时钟的显示。
8设计总结
1、学会复杂数字电路系统的设计:
对一般复杂的电路系统可以分模块设计,
这样可以使设计简单明了
2、通过本次试验,学会了动态数码管扫描电路的程序设计;
3、懂得了动态数码管的工作原理;
4、懂得了60进制和24进制的计时器设计;
5、懂得了8位数据输入4位数据输出译码器的程序设计。
参考文献
[1]江国强.《EDA技术与应用》[M].电子工业出版社,2010年.
[2]胡立涛.《EWB电子仿真实验指导书》[M].南海出版公司,2006年.
[3]朱运利.《EDA技术应用》[M].电子工业出版社,2004年.
[4]郭勇.《EDA技术》[M].高等教育出版社,2004年.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子钟 EDA 课程设计