- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vhdl课程设计10kv新建小区电能计量及远程数据系统工程初步设计 毕业设计
VHDL 课程设计
题 目 多功能万年历的数字钟设计
专业名称
学生姓名
指导教师
完成时间
一: 课程设计的任务
设计一个多功能的数字时钟,具有以下功能:
1. 正常的显示功能:显示AM、PM、时、分、秒(24进制或者12进制)。
2. 手动校时功能:按动方式键,将电路置于校时状态,则计时电路可用手动方式校准,每按一下校时键,时计数器加1;按动方式键,将电路置于校分状态,以同样方式手动校分。按动按键有滴滴声,并且数码管显示的数字会闪动。
3. 万年历功能:显示年、月、日、星期、是否闰年。
4. 手动校正日历功能。按动方式键,将电路置于校年状态,则计时电路可用手动方式校准,每按一下校年键,时计数器加1;按动方式键,将电路置于校月状态,以同样方式手动校月。按动按键有滴滴声,并且数码管显示的数字会闪动。
5. 闹钟功能:按动方式键进入闹钟设定模块,设定闹钟时间。闹铃信号到达播放音乐《两只蝴蝶》,按动停止键则立即停止播放音乐,若不按动停止键则自动播放音乐1分钟后停止。
6. 整点播报功能,从59分50秒开始发出播报,每隔2秒发出一声(信号名叫持续时间1秒,间隙1秒)连续发出5次,到达整点时停止播报。
7. 秒表功能:按动开始键开始计时,按动停止键数字保持不变,按动复位键从新计时
二:系统设计
根据以上对于多功能数字钟的功能的描述,可以将整个的电路设计分为以下几个模块:
分频模块:由于实验电路板上所能提供的只有1Khz和6Mhz的信号,而本设计过
程的即时以及跑表模块需要1hz、100hz和4hz的时钟信号。
控制模块:为达到多动能数字钟在计时、校时、显示日历、跑表等不同的模块之间
切换,需要控制模块产生时序要不相冲突的控制信号,保证各个模块的功能有序的执行。
计时模块:在输入的1hz时钟信号,产生显示的AM、PM、时、分、秒信号,由
于要涉及到后面的校时模块,这里采用带有置数的计时模块,在load信号控制下将校时模块设定的时间转载至初始值,在初始值的基础上正常计时。
校时模块:当功能切换至校时模块时,本程序采用在外部按键的上升沿即:每按动
一次校时键对应显示相应加1。
万年历模块:在计时模块的进位输出信号(每次跳动代表一年),产生显示的年、月、
日、星期、是否闰年信号,同样类似于计时模块考虑到后面的校正日历模块,这里同样采用带有置数的计时模块,在load信号控制下将校正日历模块设定的日历转载至初始值,在初始值的基础上正常计时。
6. 校正日历模块:切换至该模块时,采用外部按键的上升沿:每按动一次校正键对应的显示相应的加1。
闹钟模块:这里采用和校时模块同样的电路设定闹钟的时间,一旦触发信号为高电
平,触发音乐播放模块,播放歌曲《两只蝴蝶》,不按停止键播放一分钟自动停止。
跑表模块:采用显示毫秒、秒、分的显示格式,并设有stop按钮和reset按钮。
9. 显示模块:采用从控制模块中出来的mode 信号为变量,跟随该信号的变化,选着不同的模块的输出信号,通过两个译码器输出数据连接到数码管显示。
以上简单的介绍了构成电路的几大模块,下面给出本设计电路的总的模块化示意图:
图 一 系统总模块化示意图
三:模块实现
根据以上的介绍可知闹钟的设计的组成模块:分频模块、控制模块、计时模块、校时模块、万年历模块、校正日历模块、闹钟模块(包块音乐模块)、跑表模块、显示模块。以下将就着上面的模块电路的各个模块加以详细的说明。对以上模块的实现进行具体的VHDL的设计。注:(在前面定义的子模块,后面不再定义而是直接的例化使用)
一:分频模块
由于开发板系统提供的时钟只有1Khz和6Mhz(专用于音乐模块),而本实验的计时模块、音乐模块、跑表模块等需要1hz、100hz的时钟信号,故需要加以分频实现所需信号。分频电路的模块化示意图如下:
图 二 分频电路模块图
下面给出分频模块的RTL级的描述:
1)10分频模块:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity fenpin10 is
port (clk_in:in std_logic;- - 输入时钟信号
clk_out:buffer std_logic);- -输出时钟信号
end fenpin10
您可能关注的文档
- c6140普通车床主传动系统设计混合双公比【5.5kw 42.5 1320 1.261.58 12级】 毕业论文.doc
- c6140的数控化改造 毕业论文.doc
- c6140普通车床主轴变速箱设计【4kw 1.26 150 1900 12级】 毕业论文.doc
- ca6140普通车床经济型数控改造 毕业论文.doc
- ca6140主轴箱的设计【5.5kw 1.41 12级】 毕业论文.doc
- ca6140型车床主传动系统设计【400mm 7.5kw 1.41 18级】 毕业论文.doc
- cm6132车床主传动设计【公比1.26 转速31.5 1000 16级】 毕业论文.doc
- dk1型电空制动机常见故障的处理方法铁道机车车辆 毕业论文.doc
- dsp精准营销(大数据营销)项目大学生电子商务创业孵化园入园申报商业计划书 毕业论文.doc
- ds1302涓流充电时钟芯片 外文文献翻译 毕业论文.doc
文档评论(0)