1 / 4
文档名称:

数字钟实验报告.doc

格式:doc   大小:37KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字钟实验报告.doc

上传人:mh900965 2018/4/20 文件大小:37 KB

下载得到文件列表

数字钟实验报告.doc

相关文档

文档介绍

文档介绍:数字钟实验报告
65090625 刘静
设计要求:
设计一个数字时钟,要求:
A 具有时分秒时显示功能,以二十四小时制循环计时。
B 校时功能:可调节小时、分钟。
C 整点报时的功能。
设计方案:
计时:把时钟进行分频,使其周期为一秒,然后用它做为时钟进行计数,秒的个位进十位,秒的十位进分钟的个位,分钟的个位进分钟的十位,分钟的十位在变成0的时候(即进位的时候做为一个时钟)再进行计数,做一个24进制的计数器,来计小时,从而达到循环的目的。
调时:用两个按键来控制分和时的调整。分和时分别进行调整,分的十位和个位一起调整,时的个位和十位一起调整,从而实现调时。
闹钟:当分钟显示为0时蜂鸣器就响,实现整点报时。
程序
library ieee;
use ;
use ;
use ;
entity abc is
port (clk,clr1,clr2:in std_logic;
m:in std_logic_vector(2 downto 0); ---调时间的十位
n:in std_logic_vector(3 downto 0); ――调时间的个位
o:out std_logic_vector(5 downto 0); ――位码
p:out std_logic_vector(6 downto 0); ―――段码
u:out std_logic); ――蜂鸣器
end abc;
architecture behave of abc is
signal q:std_logic_vector(15 downto 0);
signal clko,b1,b2,b3,b4:std_logic;
signal a,b,c,e,d,f,g:std_logic_vector(3 downto 0);
signal x:std_logic_vector(2 downto 0);
signal k,k1,k2,w:std_logic_vector(7 downto 0);
begin
process(clk)
begin
if (clk'event and clk='1') then
q<=q+'1'; ――分频计数
if (x<5) then
x<=x+'1'; ――控制位码
else x<="000";
end if;
end if;
end process;
clko<=q(15); 计秒的时钟
process(clko)
begin
if (clko'event and clko='1') then
if (a<9) then
a<=a+'1';
else a<="0000"; ―――秒的个位
end if;
end if;
end process;
b1<='1' when (a="0000") else '0'; 秒的个位的进位
process(b1)
begin
if (b1'event and b1='1') then
if (b<5) then
b<=b+'1';
else b<="0000