EDA课程设计--数字电子时钟.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计 课程题目与要求 题目:数字电子时钟 要求:1)能显示周、时、分、秒,精确到0.1s 2)可自行设置调节时间 3)可设置闹铃,并且对闹铃时间长短可控制 设计思路 设计框图 二)设计思路: 根据分频原理设计出十进制、六进制、二十四进制、七进制来组成0.1s,秒,分,时,周。 增加一个时间设置模块,通过输入一次控制信号使分、时、周加一,即给分、时、周一个clk信号,这样可以设置三个控制信号:分、时、周clk信号,按一次给相应信号加一个clk,并用一个或门把前一级的进位信号和时间设置模块产生的clk连起来一起控制计数器。 闹铃可以通过时间匹配时输出高电平给闹铃使其发出声音,闹铃设置也是给出几个控制信号通过输入脉冲形成一个已定时间,在响铃允许下对比当前时间,若匹配则输出高电平,另外加一个闹铃设置使能信号,在设置闹钟时间时闹铃不能对比时间。闹铃长短可通过一个计数器来实现,持续输出高电平直到计数器达到所设秒数。 设计模块简介 秒模块 注释: 第一个Ti10代表0.1s,时用一个十进制计数器实现的,第二个Ti10代表秒的个位,也是一个十进制,逢十进一,向秒的十位进一(Ti6的clk),Ti6代表代表秒的十位,是6进制计数器,这样便组成60进制,精度为0.1s的秒模块。 分模块 注释: Ti10代表分的个位,是一个十进制计数器,逢十进一,向分的十位进一(Ti6的clk),Ti6代表分的十位,是一个六进制计数器,这样便组成了60进制的分模块。 时模块 注释: 这是一个五位字宽的计数器,来一个clk信号,计数器自加一,一直加到23复位为0,因此便组成了一个24进制的时模块。 周模块 注释: 这是一个由七进制构成的周模块,从0-6代表星期一到星期天。 时分位模块 注释: 这是一个把时模块的个位、十位分开的模块,由于设置闹钟时要设置它的时的个位、十位,所以这个模块实现的就是分开时的两位数。 调时模块 注释: 这是一个调节时间的模块,当en为“1”时,按一次M(H或W)就给分(时或周)模块加一分,即M1(H1或W1)输出“1”,这个再给分(时或周)模块一个clk信号。 闹钟设置模块 注释: 这个是闹钟设置模块,当en为“1”时,按一次H(M)即时(分)加一小时(一分钟),enout是闹钟的对比模块的使能信号,当其为“1”时,闹钟的时间匹配模块才开始工作,H1、H2分别是所设闹钟的小时的个位、十位,M1、M2为分的个位、十位,用于与当前时间比较,一致则闹钟起振。 闹钟时间匹配比较模块 注释: 当从闹钟设置模块得到的时间和当前时间一样时Qout输出“1”给扬声器使其发出声音。En为接收闹钟设置模块enout信号来决定其是否工作,mode为闹钟时长设置接收引脚。 闹钟时长选择模块 注释: 当sel引脚输入一个脉冲信号时,pout信号加“1”,一共有四种模式:5、10、15、20可供选择。时长选择可通过程序改变(0-31)。 模块具体程序及仿真图 十进制 1)程序: LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; use ieee.std_logic_unsigned.all; ENTITY ti10 IS port(CLK:IN std_logic; RST:in std_logic; ck: out std_logic; time10:out std_logic_vector(3 downto 0)); END ti10; architecture ONE of ti10 is signal tim10:std_logic_vector(3 downto 0):=0000; begin process(clk) begin if (rst=1) then tim10=0000;else if (clkevent and clk=1) then if(tim10=1001 ) then tim10=0000;ck=1; else tim10=tim10+‘1’;ck=0; end if; end if; end if; end process ; time10=tim10; end ONE; 2)仿真图 说明: ret复位信号,clk时钟信号,ck进位信号 b. time10输出信号 六进制 1)程序: LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; use ieee.std_logic_unsigned.all; ENTITY ti6 IS port(CLK:IN std_logic; RST:in std_logic; ck: o

文档评论(0)

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

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

1亿VIP精品文档

相关文档