数字钟的设计实验报告.docx
- 文档编号:2953713
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:43.87KB
数字钟的设计实验报告.docx
《数字钟的设计实验报告.docx》由会员分享,可在线阅读,更多相关《数字钟的设计实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
数字钟的设计实验报告
数字钟的设计实验报告
通信11301区欣杰
实验目的
1)学习掌握数字钟的设计方法
2)学习较复杂的数字系统设计方法
3)了解数字钟的组成及工作原理
2、设计指标
1)时间以24小时为一个周期
2)显示时、分、秒
3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间
计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时
实验原理
时标信号的频率由振荡器产生,由于及时最小单位是0.1s,所以时标信号经分频器后输出频率为10Hz的秒脉冲clk。
在无校准信号作用时,整个电路处于正常的计数状态。
时,分,秒计数器采用同步计数方式,其时钟脉冲端均接由分频器输出地时钟信号clk。
en为计数使能端,高电平有效。
秒计数的端en始终为高电平,所以每来一个秒脉冲clk,秒计数器计一个数,当秒计数器到六十时,其进位输出端co输出高电平产生进位,使分计数器的使能端en有效,每来一个分脉冲clk,分计数器计一个数,这就意味着满60s进1min;当秒计数器和分计数器到60,其相应的秒计数器的进位co和分计数器的进位co同时输出高电平使小时计数器的使能端en有效时,每来一个计数脉冲,小时计数器计一个数。
实验内容
实现数字钟的一些基本功能。
能进行正常的时、分、秒计时功能,当计时达到59分52秒时开始报时,在59分52秒,59分54秒,59分56秒,59分58秒时鸣叫,鸣叫声频为500Hz,在到达59分60秒时为最后一声整点报时,频率为1KHz。
总体设计框图如图包含control、sec、main、hour、sst五大模块。
其中sec和main模块均为六十进制计数器,计时输出分别为妙和分的数值;hour模块为二十四进制计数器,计时输出为小时的数值。
设计总图:
(1)端口说明
s【5··0】信号对应6个控制键,分别对应秒个位,秒十位,分个位,分十位,小时个位,小时十位。
rst信号为复位信号,在系统初始化时使用,clk为系统时钟,clr信号为清零信号。
sound信号连接扬声器,产生鸣叫。
sec1【3··0】表示秒十位
sec0【3··0】表示秒个位
min1【3··0】表示分十位
min0【3··0】表示分个位
hour1【3··0】表示小时十位
hour0【3··0】表示小时个位。
(2)control控制模块:
实现修改时间功能,其子模块con1功能为采集修改数值。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcontrolIS
PORT(s:
INSTD_LOGIC_VECTOR(5DOWNTO0);
rst0,clk:
INSTD_LOGIC;
min1,min0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
sec1,sec0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
hour1,hour0:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
END;
ARCHITECTUREoneOFcontrolIS
SIGNALmin11,min00,sec11,sec00,hour11,hour00:
STD_LOGIC_VECTOR(3DOWNTO0);
COMPONENTcon1IS
PORT(s,rst:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDCOMPONENTcon1;
BEGIN
u0:
con1PORTMAP(s=>s(0),rst=>rst0,q=>sec00);
u1:
con1PORTMAP(s=>s
(1),rst=>rst0,q=>sec11);
u2:
con1PORTMAP(s=>s
(2),rst=>rst0,q=>min00);
u3:
con1PORTMAP(s=>s(3),rst=>rst0,q=>min11);
u4:
con1PORTMAP(s=>s(4),rst=>rst0,q=>hour00);
u5:
con1PORTMAP(s=>s(5),rst=>rst0,q=>hour11);
PROCESS(clk)
BEGIN
IFclk'EVENTANDclk='1'THEN
sec1<=sec11;sec0<=sec00;
min1<=min11;min0<=min00;
hour1<=hour11;hour0<=hour00;
ENDIF;
ENDPROCESS;
END;
(3)con1实现对按键数的统计,按键一次1,如果大于9时,自动回零。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcon1IS
PORT(s,rst:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
END;
ARCHITECTUREoneOFcon1IS
SIGNALq1:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(s,rst)
BEGIN
IFrst='1'THENq1<="0000";
ELSIFs'EVENTANDs='1'THEN
IFq1<"1001"THEN
q1<=q1+1;
ELSE
q1<="0000";
ENDIF;
ENDIF;
ENDprocess;
q<=q1;
END;
(4)sst模块:
为整点报时提供控制信号,当58min,妙为52,54,56,58时,q500输出“1”;妙为00时,q1K输出“1”。
这两个信号经过逻辑门实现报时功能。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYsstIS
PORT(clk:
INSTD_LOGIC;
m1,m0,s1,s0:
INSTD_LOGIC_VECTOR(3DOWNTO0);
q500,q1k:
OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFsstIS
BEGIN
PROCESS(clk)
BEGIN
IFclk'EVENTANDclk='1'THEN
IFm1="0101"ANDm0="1001"ANDs1="0101"THEN
IFs0="0001"ors0="0011"ors0="0101"ors0="0111"THEN
q500<='1';
ELSE
q500<='0';
ENDIF;
ENDIF
IFm1="0101"ANDm0="1001"ANDs1="0101"ANDs0="1001"THEN
q1k<='1';
ELSE
q1k<='0';
ENDIF;
ENDIF;
ENDPROCESS;
END;
(5)ccc模块:
对系统时钟clk输入的4MHz频率信号进行分频,产生频率分别为1000Hz、500Hz和1Hz的时钟信号。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcccIS
PORT(clk:
INSTD_LOGIC;
q500,q1k,q1sec:
OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFcccIS
SIGNALx,y,z:
STD_LOGIC;
BEGIN
PROCESS(CLK)
VARIABLEcnt:
INTEGERRANGE0TO1999;
BEGIN
IFclk'EVENTANDclk='1'THEN
IFcnt<1999THEN
cnt:
=cnt+1;
ELSE
cnt:
=0;
x<=notx;
ENDIF;
ENDIF;
ENDPROCESS;
q1k<=x;
PROCESS(x)
begin
IFx'EVENTANDx='1'THEN
y<=noty;
ENDIF;
ENDPROCESS;
q500<=y;
PROCESS(y)
VARIABLEcnt:
INTEGERRANGE0TO499;
BEGIN
IFY'EVENTANDY='1'THEN
IFcnt<499THEN
cnt:
=cnt+1;
ELSE
cnt:
=0;
z<=notz;
ENDIF;
ENDIF;
ENDPROCESS;
q1sec<=z;
END;
hour模块儿为一个二十四进制计数器。
其外部接口功能如下:
(6)hour模块:
小时计数电路是由IC5和IC6组成的24进制计数电路
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYhourIS
PORT(clk,clr,rst:
INSTD_LOGIC;
hour0,hour1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
hour11,hour00:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
co:
OUTSTD_LOGIC);
ENDhour;
ARCHITECTUREbehavOFhourIS
SIGNALclk1:
STD_LOGIC;
SIGNALq:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALp:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
A:
PROCESS(clk,clr,rst)
BEGIN
IFrst='1'THENq<="0000";
ELSIF(clk'EVENTANDclk='1')andclr='1'THEN
IFhour0="0000"THEN
IFq="1001"THEN
q<="0000";
clk1<='1';
ELSE
q<=q+1;
clk1<='0';
ENDIF;
ELSE
q<=hour0;
ENDIF;
ENDIF;
ENDPROCESSA;
B:
PROCESS(RST,CLR,CLK1)
BEGIN
IFrst='1'THENp<="0000";
ELSIF(clk1'EVENTANDclk1='1')andclr='1'THEN
IFhour1="0000"THEN
IFp="0010"THEN
p<="0000";
ELSE
p<=p+1;
ENDIF;
ELSE
p<=hour1;
ENDIF;
ENDIF;
ENDPROCESSB;
C:
PROCES
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 设计 实验 报告