VHDL数字钟设计.doc

VHDL数字钟设计.doc

ID:48386223

大小:90.00 KB

页数:12页

时间:2019-08-04

VHDL数字钟设计.doc_第1页
VHDL数字钟设计.doc_第2页
VHDL数字钟设计.doc_第3页
VHDL数字钟设计.doc_第4页
VHDL数字钟设计.doc_第5页
资源描述:

《VHDL数字钟设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VHDL数字钟设计报告一、系统功能概述:1.进行一个具有‘时’、‘分’、‘秒’的十进制数计时功能,‘时’、‘分’、‘秒’各用两个数码管分别显示(小时从00~23,分、秒从00~59);2.可以进行手动校时,校分,校时完毕之后从校正点开始从新计时;3.具有定时功能,可以预设闹钟,并在预定的时间发出闹铃声;4.具有整点报时功能,即从59分50秒起,每隔2秒钟发出一次低音“嘟”的信号,连续5次,最后一次发出高音“嘀”的信号,此信号结束即达到整点。二、系统组成以及系统各部分的设计:1..⑴系统结构描述:输入输出端

2、口设置port(reset:instd_logic;----上升沿有效,用于改变工作状态sign:instd_logic;---高电平有效,用来控制校时,定时功能;clk:instd_logic;----计时脉冲;clk2:instd_logic;-----闹铃脉冲;hourmusic1:outstd_logic;hourmusic2:outstd_logic;music:outstd_logic;------闹铃端口;q5:outstd_logic_vector(3downto0);-------小时高

3、位出口;q4:outstd_logic_vector(3downto0);-------小时低位出口;q3:outstd_logic_vector(3downto0);-------分钟高位出口;q2:outstd_logic_vector(3downto0);-------分钟低位出口;q1:outstd_logic_vector(3downto0);-------秒钟高位出口;q0:outstd_logic_vector(3downto0)---------秒钟低位出口;);endclock;中间变量

4、设置signalqq5,qq4,qq3,qq2,qq1,qq0:std_logic_vector(3downto0);——用于计时,校时时‘时’、‘分’、‘秒’的对应中间变量;signalqqhh,qqhl,qqmh,qqml:std_logic_vector(3downto0);——用于定时时‘时’、‘分’、‘秒’的对应中间变量;signalqqq5,qqq4,qqq3,qqq2,qqq1,qqq0:std_logic_vector(3downto0);——用于显示时‘时’、‘分’、‘秒’的对应中间变量

5、;signalflag:std_logic_vector(2downto0);——用来标记计时,定时,校时的状态;signalmusica:std_logic;——闹铃的中间变量;signalhourmusic11,hourmusic22:std_logic;——整点报时的中间变量;signalk:std_logic;——用来控制整点报时;①计时电路:process(reset)-------------通过reset上升沿触发调整工作状态;beginif(reset'eventandreset='1')

6、thenifflag="100"then-----------若flag等于4,则清零,否则加1;flag<="000";elseflag<=flag+1;endif;endif;endprocess;process(clk,flag,sign)-------------用于计时,校时,定时;beginif(clk'eventandclk='1')thenk<=notk;-----------产生二分频,用来控制后面整点报时;ifflag="000"then------计时环节ifqq0="1001"th

7、enqq0<="0000";ifqq1="0101"thenqq1<="0000";ifqq2="1001"thenqq2<="0000";ifqq3="0101"thenqq3<="0000";ifqq4="1001"thenqq4<="0000";qq5<=qq5+1;elsifqq5="0010"andqq4="0011"thenqq4<="0000";qq5<="0000";elseqq4<=qq4+1;endif;elseqq3<=qq3+1;endif;elseqq2<=qq2+1;endif

8、;elseqq1<=qq1+1;endif;elseqq0<=qq0+1;endif;②校时电路:elsif(flag="001"andsign='1')then------校时ifqq4="1001"thenqq4<="0000";qq5<=qq5+1;elsifqq5="0010"andqq4="0011"thenqq4<="0000";qq5<="0000";elseqq4<=qq4+1;endif;elsif(flag

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

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

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