基于VHDL语言的的电子钟设计.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VHDL语言的的电子钟设计.doc

通信电路EDA课程项目基于VHDL语言的的电子钟设计负责人:xxxxxxxxxxx成 员:xxxxxxxxxxxxx、xxxxxxxxxxxx完成日期:xxxxxxxx目 录1、设计要求与目的2、设计原理3、设计流程4、编程构想及项目程序代码5、项目仿真与分析6、项目说明Part 1设计要求:设计一个电子钟,在输入时钟脉冲的作用下,采用24小时制计时,可以显示时、分、秒,用户也可以自行设置时间设计目的:掌握多位计数器相连的设计方法。掌握十六进制,二十四进制,六十进制计数器的设计方法。掌握程序的层次化设计方法。培养团队合作,分析问题,解决问题的能力。Part 2设计原理:电子时钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时;显示满刻度为23时59分59秒,另外具备校时功能。因此,一个基本的数字钟电路主要由“时”“分”“秒”计数器校时电路组成。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累加60秒发送一个“分脉冲”信号,该信号将被送到“分计数器” 。“分计数器”也采用60进制计数器,每累加60分发送一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计数器,可实现对一天24小时的累计。译码显示电路“时”“分”“秒”计数器的输出状态六段显示译码器译码。通过六位LED七段显示器显示出来。校时电路器是用来对“时”“分”“秒”显示数字进行校时调整的,可以根据当前需要的时间来设置电子时钟的时间,使它从这个时间开始计时。也可以对电子钟复位,重新开始计时。 2、各模块及其功能 电子钟计数采用层次化设计,将设计任务分成若干个模块。规定每一模 块的功能和各模块之间的接口。 1)SECOND模块:用来对秒进行计时,当记到计数器的低四位为1001时,若高三位不是101时,则秒计数器加7,目的是使计数值变为BCD码。若高三位是101时,则有一进位。当计数器的低四位不为1001时,计数器加1。SECOND模块给MINUTE的时钟由SETMINUTE和它本身记到60的进位两部分组成。 2)MINUTE模块:用来对分进行计时,当记到计数器的低四位为1001时,若高三位不是101时,则分计数器加7,目的是使计数值变为BCD码。若高三位是101时,则有一进位。当计数器的低四位不为1001时,计数器加1。MINUTE模块的时钟由SETMIN和SECOND记到60的进位两部分组成。 3)HOUR模块:用来对时进行计数,当记到计数器的低四位为1001时,若高三位小于010时,则时计数器加7,目的是使计数值变为BCD码。当计数器的高三位小于010,低四位小于1001时,计数器加1;若当计数器记到0100100时,则有一进位。HOUR模块的时钟由SETHOUR和MINUTE记到60的进位两部分组成。 4 )顶层CLOCK_TOP模块:用来对元件进行例化,以及对端口进行映射。同时整个计数器有清零,调时,调分功能 Part 3设计流程:设计基本框图:时计数器标准秒信号脉冲秒计数器分计数器时计数器标准秒信号脉冲秒计数器分计数器分脉冲信号号时脉冲信号秒输出分输出时输出六段显示译码器译码LED七段显示器显示“时”“分”“秒”输入: CLK—时钟脉冲(可以任意设置)、RESET—复位信号、SETMIN—分加1信号、SETHOUR—时加1信号。输出: SECOND_DAOUT—秒输出、MINUTE_DAOUT—分输出、HOUR_DAOUT—时输出Part 4:编程构想及项目程序代码:根据对电子钟工作方式与特点的分析,我们采用分模块的方式编写程序代码,由主程序和三个分别为:时,分,秒的子程序构成。下面是我们给出的各个子程序及主程序的代码:second模块library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is ????port(clk,reset,setmin:in std_logic; ??????????enmin:out std_logic; ??????????daout:out std_logic_vector(6 downto 0) ???????? ); end entity second; architecture edawork of second is ??????signal count:std_logic_vector(6 downto 0); ??????signal enmin_1,enmin_2:std_logic; begin ??????daout=count; ??????enm

文档评论(0)

changlipo2019 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档