EDA技术课程设计
多功能数字钟
学院: 城市学院 专业、班级: 姓名: 指导老师: 2015年12月
目 录
1、设计任务与要求…………………………………………2 2、总体框图…………………………………………………2 3、选择器件…………………………………………………2 4、功能模块…………………………………………………3 (1)时钟记数模块…………………………………………3 (2)整点报时驱动信号产生模块…………………………6 (3)八段共阴扫描数码管的片选驱动信号输出模块……7 (4)驱动八段字形译码输出模块…………………………8 (5)高3位数和低4位数并置输出模块…………………9 5、总体设计电路图…………………………………………10 (1)仿真图…………………………………………………10 (2)电路图…………………………………………………10 6、设计心得体会……………………………………………11
第 1 页 共 12 页
一、设计任务与要求
1、具有时、分、秒记数显示功能,以24小时循环计时。 2、要求数字钟具有清零、调节小时、分钟功能。
3、具有整点报时,整点报时的同时输出喇叭有音乐响起。
二 、总体框图
多功能数字钟总体框图如下图所示。它由时钟记数模块(包括hour、minute、second三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。
系统总体框图
三、 选择器件
网络线若干、 共阴八段数码管4个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、
seltime(驱动4位八段共阴扫描数码管的片选驱动信号输出模块)、deled(驱动八段字形译码输出模块)。
第 2 页 共 12 页
四、功能模块
多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号
输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。 (1) 时钟记数模块:
<1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。
VHDL程序如下:
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hour24 is
port( clk: in std_logic;
reset:instd_logic;
qh:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); ql:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); end hour24;
architecture behav of hour24 is begin
process(reset,clk) begin
if reset='1' then
qh<=\elsif(clk'event and clk='1') then if (qh<2) then
else
if (ql=3) then ql<=\ else ql<=ql+1; end if; end if; end if; end process; end behav;
if (ql=9) then
ql<=\
else ql<=ql+1;
end if;
仿真波形如下:
第 3 页 共 12 页
<1.2>
VHDL程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY min60 IS
PORT(reset:IN STD_LOGIC; load:IN STD_LOGIC; clk1:IN STD_logic; clk:IN STD_LOGIC; co:OUT STD_LOGIC;
qh:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); ql:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); end min60;
ARCHITECTURE behave OF min60 IS BEGIN
PROCESS(clk,reset,load) BEGIN
if(reset='1') then qh<=\
elsif(load='1') then co<=clk1; elsif(clk'EVENT and clk='1') then if(ql=9) then
ql<=\低4位清零
if(qh=5) then qh<=\高4位清零 else qh<=qh+1 ;--计数功能的实现; end if; else ql<=ql+1; end if;
if(qh=5 and ql=9) then co<='1'; else co<='0'; end if; end if; end process; end behave;
--低4位加1
仿真波形如下:
第 4 页 共 12 页
多功能数字钟的课程设计报告



