第8篇 数字时钟设计.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多功能数字电子钟 1. 多功能数字电子钟功能 正常计时:秒(60)、分(60)、小时(24)计数;秒计时的频率为1Hz,数码管用动态扫描实时显示计时的小时、分、秒。 整点报时:逢整点蜂鸣器在“59”分钟的第51、53、55、57秒发频率为512Hz的低音,在“59”分钟的第59秒发频率为1024Hz的高音。 校时: 1)校小时, 显示小时数码管以4Hz的频率递增计数; 2)校分, 显示分数码管以4Hz的频率递增计数; 3)校秒, 秒清0。 模块说明 时钟的设计共化分为6个模块:秒计数器(count60),分计数器(count601),小时计数器(count24),报警电路(bs),扫描电路(set),译码电路(led7)。下面具体分析各个模块的原理、内容和功能。 1.秒计数器(count60) 能够实现60进制循环计数,带有复位端reset、手动调分功能端setmin和向分进位端c ,受时钟上升沿信号控制,其文本语言(文件名:count60.vhd)为底层文本,图1为秒计数器的仿真波形图。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT60 IS PORT(CLK,RESET,SETMIN:IN STD_LOGIC; SEC0,SEC1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC); END COUNT60; ARCHITECTURE ONE OF COUNT60 IS SIGNAL SEC0_T,SEC1_T:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL E_1,E_2: STD_LOGIC; BEGIN SEC0=SEC0_T; SEC1=SEC1_T; E_2=(SETMIN and CLK); C=(E_1 or E_2); PROCESS(CLK,RESET,SETMIN) BEGIN IF RESET=0THEN SEC0_T=0000;SEC1_T=0000; ELSIF CLKEVENT AND CLK=1 THEN IF SEC0_T=1001 THEN SEC0_T=0000; SEC1_T=SEC1_T+1; ELSE SEC0_T=SEC0_T+1; END IF; IF SEC0_T=1001 AND SEC1_T=0101 THEN SEC0_T=0000;SEC1_T=0000; E_1=1; ELSE E_1=0; END IF; END IF; END PROCESS; END ONE; 图1. 六十进制秒计数器的仿真波形 2.分计数器(COUNT601) 能够实现60进制循环计数,带有带有复位端reset、手动调小时功能端sethour和向时进位端CO ,受时钟上升沿信号控制。其文本语言(文件名:COUNT601.vhd)为底层文本,图2为分计数器的仿真波形图 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT601 IS PORT(CLK,RESET,CLK1,SETHOUR:IN STD_LOGIC; MIN0,MIN1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC); END COUNT601; ARCHITECTURE ONE OF COUNT601 IS SIGNAL MIN0_T,MIN1_T:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL ENHOUR_1,ENHOUR_2:STD_LOGIC; BEGIN MIN0=MIN0_T; MIN1=MIN1_T; ENHOUR_2=(SETHOUR and CLK1); CO=(ENHOUR_1 or ENHOUR_2); PROCESS(CLK,RESET,SETHOUR

文档评论(0)

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

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

1亿VIP精品文档

相关文档