数字时钟显示实验报告.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档