【毕业论文】基于vhdl的多功能数字钟的设计.doc

【毕业论文】基于vhdl的多功能数字钟的设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 摘要 本文介绍了利用VHDL硬件描述语言设计的多功能数字钟的思路和技巧。本设计是一个多功能数字钟,具有计时、校时、清零等简单功能,在QuartusII开发环境中编译和仿真了所设计的程序,并在可编程逻辑器件(ALTEA EPM7064SLI44-7)上下载验证。 关键字:QuartusII,数字钟, ALTEA EPM7064SLI44-7,VHDL 2 引言 随着电子设计自动化(EDA)的高速发展,电子系统的设计技术和工具发生了深刻的变化。EDA的关键技术之一是要求用形式化方式来描述数字系统的硬件电路,即要用所谓硬件描述语言来描述硬件电路。本文即介绍如何利用VHDL硬件描述语言设计一个具有时、分、秒计时显示、调整时间功能的数字钟,并且利用QuartusII开发环境进行编译、仿真,最终下载到可编程逻辑器件FPGA上进行验证。 3 实验要求 设计制作一个多功能计时器,设计要求如下: 1.计时功能:数字钟以24个小时为一个周期,必须显示时、分、秒。 2.清零功能:在板上设置一个手动清零开关,通过它可以对电路实现实时的手动清零。 3.校时功能:可随时对电路进行校时功能,并设置两个开关(a/b)控制。按下a开关时(手不松开),数字时钟的秒钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。按下b开关时(手不松开),数字时钟的分钟数迅速增加(4HZ的时钟频率来驱动),并按60循环,计满60后再回00。 4 系统原理框图 数字时钟实际上是一个对标准1Hz进行计时的计数电路,秒计数器满60后向分计数器进位,分计数器满60后向时计数器进位,时计数器按24翻1规律计数,计数输出经译码器送LED显示器,由于计数的起始时间不可能与标准时间一致,故需要在电路上加上一个校时电路。 5 各功能实现原理 整个数字钟的设计包括七个模块,分别为分频、清零、计时、校时、BCD编码、扫描、译码,各模块的设计解决方案具体如下。 5.1 分频功能实现 因为我们需要1HZ的频率来用来驱动秒计时器,而硬件提供的时钟频率是4HZ,所以我们要进行分频。分频的程序如下: 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

文档评论(0)

精品资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档