EDA课程设计 数字时钟.doc

EDA课程设计 数字时钟.doc

ID:61499058

大小:108.50 KB

页数:12页

时间:2021-02-07

EDA课程设计 数字时钟.doc_第1页
EDA课程设计 数字时钟.doc_第2页
EDA课程设计 数字时钟.doc_第3页
EDA课程设计 数字时钟.doc_第4页
EDA课程设计 数字时钟.doc_第5页
资源描述:

《EDA课程设计 数字时钟.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数字时钟的设计一实验目的1)掌握VHDL语言的基本运用2)掌握MAX+plusII的简单操作并会使用EDA实验箱3)掌握一个基本EDA实验的操作二功能设计1)有时、分、秒计数显示功能,小时为24进制,分钟和秒为60进制2)设置复位、清零等功能3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间4)设置调试模式和计时两个模式,分别实现计时和调时功能,通过设置任意时间实现闹铃功能三系统设计方案概述及工作原理根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显

2、示部分五个部分组成。这些模块都放在一个顶层文件中。1)首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。md2[1]可以调整时钟的小时部分,md2[2]可以调整分钟,步进为1。2)由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。3)用6位数码管分别显示“时”、“分”、“秒”,

3、通过DOUT(6DOWNTO0)上的信号来点亮指定的LED七段显示数码管。4)通过对md1按键高低电平的控制可以进入时钟的另一个调时模式,调试模式和计时模式是分开互不影响的。然后再通过对md2[1]和md2[2]对时钟进行时间设定。等到计时到达设置时间时,实现打铃功能。顶层设计分析:对于电子钟的设计,这里将采用自顶向下的设计方法进行设计,因此首先需要进行电子钟的顶层设计。本节将首先介绍电子钟的系统结构和模块划分,然后设计出顶层VHDL设计程序。根据电子钟的设计要求、工作原理和设计方案,整个模块的接口如下:1

4、时钟分频部分1)复位开关信号reset:输入信号2)外部时钟信号clk:输入信号3)内部计时时钟信号clk1:输入信号2计时部分1)复位关信号reset:输入信号3)小时十位信号hou2:输出信号4)小时个位信号hou1:输出信号5)分十位信号min2:输出信号6)分个位信号min1:输出信号7)秒十位信号sec2:输出信号8)秒个位信号sec1:输出信号3按键部分1)复位开关信号reset:输入信号2)时调整按键md2[1]:输入信号3)分调整按键md2[2]:输入信号4)小时十位信号hou2:输出信号5

5、)小时个位信号hou1:输出信号6)分十位信号min2:输出信号7)分个位信号min1:输出信号4显示部分1)外部时钟信号clk:输入信号2)小时十位信号hou2:输入信号3)小时个位信号hou1:输入信号4)分十位信号min2:输入信号5)分个位信号min1:输入信号6)秒十位信号sec2:输入信号7)秒个位信号sec1:输入信号8)LED七段显示数码管的选通信号DOUT:输出信号5调时部分1)调时开关md12)时调整按键md2[1]:输入信号3)分调整按键md2[2]:输入信号四各部分功能分析1)计数部

6、分由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。其VHDL源程序相差不大由于篇幅有限,这里我们以分计数的实现为例。程序如下:-----------------------------------------------分钟十位m110:process(clk,min2,sec1,sec2,md1,md2)beginifclk'eventandclk='1'thenif(min1="0101"andmin2="1001")and(sec1="0101"andsec2="1001")

7、thenmin1<="0000";elsifmin1="0101"andmin2="1001"and(md1='0'andmd2="00")thenmin1<="0000";elsif(min2="1001"and(sec1="0101"andsec2="1001"))or(min2="1001"andmd1='0'andmd2="00")thenmin1<=min1+1;endif;endif;--endif;endprocessm110;---------------------------------

8、-------------分钟个位m220:process(clk,sec1,sec2,md1,md2)beginifclk'eventandclk='1'thenifmin2="1001"and(sec1="0101"andsec2="1001")thenmin2<="0000";elsifmin2="1001"and(md1='0'andmd2="00")thenmin2<="0000";elseif(sec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。