文档介绍:数字时钟、正弦波和方波实验报告
一:实验要求。
设计一个时钟,能设置两个时间,到这两个时间能够控制白动响铃30秒。 时间调整和定时的设置使用两个按钮实现。
二:试验程序及说明。
LIBRARY IEEE;
USE ;
USE ;
ENTITY CLOCK IS
PORT(clk,k:IN ;
clk5,clk2: in std」ogic;
pbl,pb2: IN STD_LOGIC;
ptl ,pt2,ptml,ptmh,pthl,pthh: OUT std_logic_vector(3 downto 0);
ring: OUT STD_LOGIC);
END CLOCK;
ARCHITECTURE ONE OF CLOCK IS
signal q 1 ,q2,q3,q4,q5,q6:integer range 0 to 9;
signal dq 1 ,dq2,dq3,dq4,dq5,dq6:std_logic_vector(3 downto 0);
signal dpa 1 ,dpa2,dpa3,dpa4,dpb 1 ,dpb2,dpb3,dpb4:std_logic_vector(3 downto 0);
signal cl,c2,c3,c4: STD_LOGIC;
signal clkls,clklm,clklh: STD_LOGIC;
sign al hour: integer range 0 to 23;
signal rhoura,rhourb:integer range 0 to 23;
signal rminha,rminhb,rminla,rminlb: integer range 0 to 9;
signal rhourha,rhourhb,rhourla,rhourlb: integer range 0 to 9;
signal rhac,rhbc,rmac,rmbc: STD_LOGIC;
signal sta: integer range 0 to 6;
signal ringa,ringb:STD_LOGIC;
signal fig:integer range 0 to 1;
说明:elk:时钟基准信号,做正常走时的秒时钟信号。
clk2:用于在调整(校准)时间和设置闹铃时间时,,相应的时钟位能闪烁。
clk5:用于使蜂鸣器响所需的lKHz的时钟。
pbl:用于调整时间的按钮。每按一下,相应的时钟位时钟加一。
pb2:用于调蕖时钟的状态。正常走时状态0,设置时钟小时1,设置时钟分钟2,设 置定时"小时时3,设置定时a分钟4,设置定时b小时5,设置定时b小时6,然后 冋到0。状态的变化根据pbl的信号变化。pb2用来改变设置值。
ptl:输出的秒时钟信号。
pt2:输出的10秒位信号。
ptml:输出的分钟信号的低位。
ptmh:输出的分钟信号的高位。
pthl:输出的小时信号的低位。
pthh:输出的小时信号的高位。
ring:输出的打铃信号,它和时钟信号clk5相与的结果作为蜂鸣器的输入信号。 k:打铃开关信号,当为高电平时,打铃时间设置有效,到打铃时间,蜂鸣器会响; 当为低电平时,到打铃时间,蜂鸣器不响。
下血的signal信号均为屮间量,并不作为最终的输岀信号。
q 1 ,q2,q3,q4,q5,q6:秒的高低位输岀信号,分钟的高低位输出信号,小时的高低位输出 信号。
dql,dq2,dq3,dq4,dq5,dq6:正常走时的时钟信号输出,相应的译码输出,分别对应:秒 的高低位,分钟的高低位,小时的高低位。
dpa 1 ,dpa2,dpa3,dpa4,dpb 1 ,dpb2,dpb3,dpb4:设置的打铃时间的小时和分钟的译码输出信 号,分为a和bodpal,dpa2:a打铃时间的分钟的低高位,dpa3,dpa4:小时的低高位;dpbl,dpb2: b打铃时间的低高位,dpb3,dpb4:小时的低高位。
cl,c2,c3,c4: cl:秒低位的进位信号,c2:秒高位的进位信号,c3:分钟的低位进位信 号,c4:分钟的高位进位信号。
clkls,clklm,clklh:秒、分、时的时钟信号。
hour:正常走时的小时输出信号。
rhoura,rhourb:设置的打铃时间的输出小时信号。
rminha,rminhb,rminla,rminlb:设置的打铃时间a和b的分钟输出信号。 rhourha,rhourhb,rhourla,rhourl:设置的打铃时间a和b的小时输出信号。