- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字时钟显示实验报告
实验名称:数字时钟设计
实验仪器及软件:计算机,QUARTAS。
实验目的:
1全面了解如何应用该硬件描述语言进行高速集成电路设计;
2.通过对数字时钟软件设计环节与仿真环节熟悉Quartus II设计与仿真环境;
3. 通过对数字时钟的设计,掌握硬件系统设计方法(自底向上或自顶向下),熟悉VHDL语言三种设计风格,熟悉其芯片硬件实现的过程。
4 体会硬件设计语言在工程中的重要性。全面掌握设计方法和过程。
实验要求:设计一个数字时钟,并输出到数码管显示时,分,秒。
实验原理:
A 整体系统实行自顶下的原则,通过顶层实体分别串接各个设计部件,各个部件接口通过端口映射的方式进行串接,从而达到设计目的。
B 整个程序中涉及的部件有:(1)分频器,对输入时钟40Mhz进频,得到1Hz信号,作为计数器的计数时钟;对输入时钟40Mhz进行400000分频,得到100Hz信号,作为数码显示管位扫描信号(2)计数器,用24进制计数器作为小时位的计数,用60进制计数器作为分位,秒位的计数。(3)位选程序,实现六个数码显示管动态扫描显示,(4)LED显示程序:用于显示信号在数码管。(5)顶层模块实体部分,指明了输入输出端口,各部分的联系和链接,以及通过端口映射连接各部分,实现整个程序功能。
C 关于动态显示,扫描频率设置为100HZ,这个频率大于要求的50HZ,利用人眼的视觉暂留效果,则看不到闪烁现象,可以实现动态显示功能。
D 在计数器的时钟选择上,选择的是1HZ频率,满足了每秒一次的要求。
设计思路及VHDL代码
E两个模60的计数器来代表时钟的秒针,分针,再用一个模23的计数器来代替时针。外部基础时钟信号作为秒针计数器的时钟信号,秒针计数器的近进位信号作为分针计数器的时钟信号,分针计数器的进位信号有作为时针计数器的时钟信号,最后在统一输出。需要注意的是到23时59分59秒后下次跳动清零,从头开始。基础时钟信号选择1HZ最为简单。我们做了以40MHZ为基础时钟信号的时钟,主要要点在将40MHZ分频到1HZ。
下面通过原理结构图描述系统
一,顶层实体模块源代码
数字钟的顶层模块程序 clock.vhd
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity clock is
port(clk :in std_logic;
set :in std_logic;
qin_s_1 : in std_logic_vector(3 downto 0); --秒钟的低位调整输入端
qin_s_2 : in std_logic_vector(3 downto 0); --秒钟的高位调整输入端
qin_m_1 : in std_logic_vector(3 downto 0); --分钟的低位调整输入端
qin_m_2 : in std_logic_vector(3 downto 0); --分钟的高位调整输入端
qin_h_1 : in std_logic_vector(3 downto 0); --时钟的低位调整输入端
qin_h_2 : in std_logic_vector(3 downto 0); --时钟的高位调整输入端
qout : out std_logic_vector(6 downto 0); --7段码输出
sel : out std_logic_vector(5 downto 0) --位选输出端
);
end clock;
architecture behave of clock is
component cnt24 is
port(clk : in std_logic;
set : in std_logic;
din1 : in std_logic_vector(3 downto 0);
din2 : in std_logic_vector(3 downto 0);
qout1 : out std_logic_vector(3 downto 0);
qout2 : out std_logic_vector(3 downto 0));
end component cnt24;
component cn
您可能关注的文档
最近下载
- 高中英语_Unit 5 The Monarch's Journey教学设计学情分析教材分析课后反思.doc VIP
- 2023年教案设计Unit 5 Into the wild The monarch’s journey课后反思.docx VIP
- Unit 5 Understanding ideas The monarch's journey学案-高中英语外研版(2019)必修第一册.docx VIP
- 中英文形式发票-PI-(空白).xls VIP
- 河南省名校联盟2024_2025学年高一化学下学期期末联考试题.doc VIP
- 腰椎间盘突出的阶梯治疗.pptx VIP
- 检验检疫法律法规.pptx VIP
- 管理学基础理论版本.ppt
- RGA残余气体分析介绍及数据分析.pptx VIP
- RGA残余气体分析介绍及数据分析.pptx VIP
文档评论(0)