网站大量收购闲置独家精品文档,联系QQ:2885784924

基于VHDL的功能数字钟的设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL的功能数字钟的设计

电子钟设计 1.摘要 本实验是设计一个多功能数字钟,具有计时、校时、清零等简单功能,在计算机上运用 Quartus II软件进行仿真调试,并下载到下载板上(ALTEA EPM7064SLI44-7)实现,通过开关来控制其主要的功能。 关键字:Quartus II,电子钟, ALTEA EPM7064SLI44-7。 2.实验设计要求与目的 设计制作一个0秒0分—59秒59分的多功能计时器,设计要求如下: 1.计时功能:完成0秒0分—59秒59分的计时功能。 2.清零功能:在板上设置一个手动清零开关,通过它可以对电路实现实时的手动清零。 3.校时功能:可随时对电路进行校时功能,并设置两个开关(a/b)控制。按下a开关时(手不松开),数字时钟的秒钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。按下b开关时(手不松开),数字时钟的分钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。 目的: 3.实验环境 1.软件环境:QuartusII .2 2.硬件环境:process(clk4hz ) ----clk4hz为硬件提供的时钟频率4hz begin if clk4hzevent and clk4hz=1then if count=3 then count:=0;clk1hz=1;point=clk1hz; ---clk4hz分频后1hz else count:=count+1;clk1hz=0;point=clk1hz;-----时钟频率“clk4hz”跳变四次,clk1hz时钟频率跳一次,实现分频。 end if; end if; end process; 5.2 清零功能实现 硬件上一共有四个开关,设置硬件上的一个开关为清零开关。当按下该开关时,时钟的显示全部为零。清零的程序如下: process (rst) begin if rst=0 then----这里我们设置了一个清零键“rst”当清零键为0状态时(即按下该清零键时),小时和分钟全部清零 sec1=0;----秒清零 min1=0;----分钟清零 5.3 计时功能实现 计时功能可分为两部分来实现,依次设计分位、秒位的计数单元。计时程序如下: process (clk1hz, clear,sec,min) begin if clk1hzevent and clk1hz=1 then--分频后的时钟频率来驱动 if clear=1 then------当清零键状态为“1”时(即不按清零键),计时开始。 if sec=59 then sec=0; -----当数字时钟的秒钟为59时,即刻置为零 if min=59 then min=0;-----当数字时钟的分钟为59时,即刻置为零 else min=min+1; -----当数字时钟的分钟没到59时,加1 end if; else miao1=miao1+1; 当数字时钟的秒钟没到59时,加1 end if; end if; end if; 5.4 校时功能实现 对电路进行校时功能,设置两个开关(a/b)控制。按下a开关时(手不松开),数字时钟的秒钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。按下b开关时(手不松开),数字时钟的分钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。校时程序如下: if a=0 then-----设置调秒钟的开关a if sec=59 then sec=0; else sec=sec+1; end if; end if; if b=0 then -----设置调分钟的开关b if min=59 then min =0; else min = min +1; end if; 这里要说明下,调时间是用4HZ的时钟频率来驱动,目的是为了调得更快些,但也不会因为过快而调不准。 5.5 BCD编码功能实现 这里我们将十进制转化为二进制,因为时钟计的数是十进制,所以我们要将十进制转成二进制。编码功能程序如下: process(min)-----分钟的BCD编码 begin case min is when 0|10|20|30|40|50=qml=0000;----当分钟的低位为0时,编码为“0000” when 1|11|21|31|41|51= qml =0001;---当分钟的低位为1时,编码为“0001” when 2|12|22|32|42|52= qml =0010;---当分钟的低位为2时,编码为“0010” when 3|13|23|33|43|53= qml =0011;

文档评论(0)

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

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

1亿VIP精品文档

相关文档