欢迎来到天天文库
浏览记录
ID:77785949
大小:48.37 KB
页数:24页
时间:2022-01-28
《vhdl课程设计电子钟+闹铃)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字钟的设计一、系统功能概述(一)、系统实现的功能:1、具有“时”、“分”、“秒”的十进制数字显示(小时从00~23)。2、具有手动校时、校分、校秒的功能。3、有定时和闹钟功能,能够在设定的时间发出闹铃声。4、能进行整点报时。从59分50秒起,每隔2秒发一次低音“嘟”的信号,连续5次,最后一次为高音“嘀”的信号。(二)、各项设计指标:1、显示部分采用的6个LED显示器,从高位至低位分别显示时、分、秒。2、有一个设置调闹钟定时时间、正常时间的按钮,选择调的对象。3、有三个按钮分别调时、分、秒的时间。4、有一个按钮用作开启/关闭闹铃。5、另外需要两个时钟
2、信号来给系统提供脉冲信号,使时钟和闹钟正常工作,分别为1Hz、1kHz的脉冲。二、系统组成以及系统各部分的设计1、系统结构描述//要求:系统(或顶层文件)结构描述,各个模块(或子程序)的功能描述;(一)系统的顶层文件:1、顶层文件图:(见下页)2、各模块的解释:(1)、7个输入量clk_1khz、clk_1hz、key_slt、key_alarm、sec_set、min_set、hour_set:其中clk_1khz为闹铃模块提供时钟,处理后能产生“嘟”、“嘀”和变化的闹铃声音;clk_1hz为计时模块提供时钟信号,每秒计数一次;key_slt选择设
3、置对象:定时或正常时间;key_alarm能够开启和关闭闹铃;sec_set、min_set、hour_set用于设置时间或定时,与key_slt相关联。各按键输出为脉冲信号。⑵、CNT60_A_SE蟆块:这个模块式将clk_1hz这个时钟信号进行60进制计数,并产生一个分钟的触发信号。该模块能将当前计数值实时按BC网的格式输出。将该输出接到两位LED数码后能时时显示秒的状态。通过alarm_clk可以选择设置对象为时间还是定时值。在设置时间模式上,key上的一个输入脉冲可以将clk的输入信号加一。在设置定时模式上,key上的脉冲只修改定时值,不影响
4、时间脉冲clk的状态。同时该模块具有两个输出口out_do、out_di来触发整点报时的“嘟”、“嘀”声音。(3)、CNT60_A_MINII块:这个模块式将CNT60_A_SE的输出信号进行60进制计数,并产生一个时位的触发信号。该模块能将当前计数值实时按BC网的格式输出。将该输出接到两位LED数码后能时时显示分的状态。通过alarm_clk可以选择设置对象为时间还是定时值。在设置时间模式上,key上的一个输入脉冲可以将clk的输入信号加一。在设置定时模式上,key上的脉冲只修改定时值,不影响时间脉冲clk的状态。同时该模块具有三个输出口out_d
5、o、out_di、out_alarm来触发整点报时、“嘀”、闹铃声音。(4)、CNT24_A_HOUR块:这个模块式将CNT60_A_MIN勺输出彳B号做24进制计数。该模块能将当前计数值实时按BC酗的格式输出。将该输出接到两位LED数码后能时时显示时的状态。通过alarm_clk可以选择设置对象为时间还是定时值。在设置时间模式上,key上的一个输入脉冲可以将clk的输入信号加一。在设置定时模式上,key上的脉冲只修改定时值,不影响时间脉冲clk的状态。同时该模块具有一个输出口out_alarm来触发整点报时的闹铃声音。⑸、pwm_oUT块:该模块为
6、PWM"生模块,通过EN可开启和关闭PWM俞出。模块根据CLK信号二分频产生的高低音,并组合,能输出三种声音状态——“嘟”、“嘀”、闹铃。而该三种声音要被秒、分、时的输出触发才能输出PWM。(二)系统各个模块的VHDLS序:(1)、CNT60_A_SE蟆块:程序源代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt60_a_secisport(clk,clr,enb:instd_logic;--clk:时钟输入信号,clr:清零端,en
7、b:使能端key:instd_logic;--输入按键脉冲,调整闹铃定时或时间--设置模式选择:闹铃调节模式、显示输出秒的低位显示输出秒的高位alarm_clk:instd_logic;--1:alarm0:clk时间调节模式qout_sl:outstd_logic_vector(3downto0);--qout_sh:outstd_logic_vector(3downto0);--co:outstd_logic;--进位输出,触发分计数模块out_do:outstd_logic;--在整点报时中输出“嘟”触发信号out_di:outstd_logi
8、c--在整点报时中输出“嘀”触发信号);end;architectureaofcnt60_a_secissi
此文档下载收益归作者所有