1、 - 0 - 课程课程设计设计报告报告 设计类别: EDAEDA- -VHDLVHDL 专业名称: 通信工程 班级学号: 学生姓名: 基本题 : 数字时钟设计 综合题 : 数码管学号滚动显示 同小组成员: 学号: 姓名: - 1 - 一、数字时钟 1实验目的 (1)掌握 VHDL 语言的语法规范,掌握时序电路描述方法 (2)掌握多个数码管动态扫描显示的原理及设计方法 2实验任务要求 要求学生设计一个时钟,并输出到数码管显示时,分,秒。 3设计思路及 VHDL 代码 首先要设置一个时钟信号,根据时钟信号的变化来进行时钟的变化,从秒的变化到时的 变化条件是不同的。将时分秒各分为为十位和各位即六位数
2、字显示时间来分析。 原理图如下: 模模 10 计数器计数器 模模 6 计数器计数器 模模 10 计计数器数器 模模 6 计数器计数器 模模 10 计数器计数器 模模 3 计数器计数器 数码管数码管 译码器译码器 数码管数码管 译码器译码器 数码管数码管 译码器译码器 数码管数码管 译码器译码器 数码管数码管 译码器译码器 数码管数码管 译码器译码器 进 位 进 位 进 位 进 位 进 位 秒针个位信号 秒针十位信号 分针个位信号 分针十位信号 时针个位信号 时针十位信号 清 零 清 零 清 零 清 零 清 零 - 2 - VHDL 源程序如下: library ieee; use ieee.s
3、td_logic_1164.all; use ieee.std_logic_unsigned.all; entity shizhong is port( clk:in std_logic; led1:out std_logic_vector(6 downto 0); led2:out std_logic_vector(6 downto 0); led3:out std_logic_vector(6 downto 0); led4:out std_logic_vector(6 downto 0); led5:out std_logic_vector(6 downto 0); led6:out s
4、td_logic_vector(6 downto 0); end shizhong; architecture main of shizhong is signal hou1:std_logic_vector(3 downto 0); signal hou2:std_logic_vector(3 downto 0); signal min1:std_logic_vector(3 downto 0); signal min2:std_logic_vector(3 downto 0); signal sec1:std_logic_vector(3 downto 0); signal sec2:std_logic_vector(3 downto 0); begin - h110:process(clk,