根据QuartusII软件的数字时钟设计
- 格式:doc
- 大小:464.65 KB
- 文档页数:14
full:out std_logic);
end component;
component scan6----------------------------------------------------------------元器件4
Port(clr,clk:in std_logic;
one :buffer std_logic_vector(3 downto 0);
ten :buffer std_logic_vector(3 downto 0);
full:out std_logic;
dout:buffer std_logic_vector(7 downto 0));
3.2.2 count60组件
由此提供分(秒)计数值,当分计数器计数到59再来一个脉冲信号秒计数器清零从新开始计数,而进位则作为小时计数器的计数脉冲,使小时计数器计数加1,同时分计数器在分设置时钟信号的响应下设置分计数器的数值。在count60组件中,个位(one)和十位(ten)分别计数,都设为二进制四位矢量形式,当个位从0计到9时,在下一个clk上升沿来临后,十位进1,个位变0,十位从0到5计数,在十位为5,个位9的时候,下一个上升沿来临后,十位个位都变0,进位full加1。因此在程序设计中需要两个进程process来分别完成计数,秒计数以1Hz的输入为触发信号,分计数以秒的full信号为触发信号。具体的count60的组件代码如下:
component div40M------------------------------------------------------------------元器件1
Port( clk: in std_logic;
f1hz : out std_logic);
end component;
component count60-----------------------------------------------------------------元器件2
end component;
component bin2led---------------------------------------------------------------元器件5
port (bin : in std_logic_vect_logic_vector (7 downto 0) );
end component;
component count24-----------------------------------------------------------------元器件3
Port(clr,clk:in std_logic;
one :buffer std_logic_vector(3 downto 0);
f1hz : out std_logic);-- 1Hz output signal
end component;
component alarm_set------------------------------------------------------------------元器件7
Port(rst,hz1: in std_logic;--system clock 1Hz
3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。
4)蜂鸣器在整点时有报时信号产生,产生“滴答.滴答”的报警声音。
5)根据进位情况,LED灯在时钟显示时有花样显示信号产生。
3.系统方框图
三、设计原理和过程
3.1硬件设计
本设计使用VHDL硬件开发板,可编程逻辑器件EMP1270T144C5系列。设计过程中用到的外围电路的设计有电源部分,可编程器件EMP1270T144C5,CPLD–JTAG接口,晶振和蜂鸣器,LED数码管显示,DIP开关与按键输入(具体电路见附录)
end component;
component sh1k ----------------------------------------------------------------------元器件6
Port( clk: in std_logic;--from system clock(40MHz)
3.2软件设计
3.2..1程序包my_pkg的设计说明
为了简化程序设计增加可读性,系统采用模块化的设计方法,重复使用的组件以元件(component)的形式存在,以便相关块的调用。下面列出my_pkg组件包的代码。
library ieee;
use ieee.std_logic_1164.all;
package my_pkg is
2)完成可以计时的数字时钟时钟计数显示时有LED灯的花样显示。
3)具有调节小时、分钟及清零的功能。
4)具有整点报时功能。
2.性能指标及功能设计
1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分
60进制计数,时钟—24进制计数,并且在数码管上显示数值。
2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间。可以通过实验板上的键7和键4进行任意的调整,因为时钟信号均是1HZ的,所以LED灯每变化一次就来一个脉冲,即计数一次。
port (clr,clk : in STD_LOGIC;
h_ten,h_one,m_ten,m_one,s_ten,s_one: in STD_LOGIC_vector(3 downto 0);
cs: out STD_LOGIC_vector(5 downto 0);
mux_out: out STD_LOGIC_vector(3 downto 0));
alarm,ok: in std_logic;--keep pushing to declare alarm set
sec_tune: in std_logic;
sec_one,sec_ten:out std_logic_vector(3 downto 0));
end component;
end my_pkg;
实验名称:数字时钟设计
姓名:杨 龙 成班级:电子与通信工程学号:3120302012成绩:
一、实验目的
1.掌握各类计数器及它们相连的设计方法;
2.掌握多个数码管显示的原理与方法;
3.掌握模块化设计方式;
4.掌握用VHDL语言的设计思想以及整个数字系统的设计。
二、实验内容
1.设计要求
1)具有时、分、秒计数显示功能,在数码管显示00:00:00~23:59:59,以24小时循环计时。