编辑: qksr 2019-07-02
多功能数字钟设计

一、设计任务:

(一)主体功能 用HDL设计一个多功能数字钟,包含以下主要功能: 1.

计时及校时,时间可以24小时制或12小时制显示 2.日历:显示年月日星期,及设定设定功能 3.跑表:启动/停止/保持显示/清除 4.闹钟:设定闹钟时间,整点提示

(二)输入输出界面 输入:时钟输入,三个按键 输出:8位7段码,2个LED,一个蜂鸣器 三个按键从左到右为:Key

3、key

2、Key1,功能在不同模式下定义不同: Key3:模式键ModeKey, Key2:日历显示/设置选择键SetSelKey/启动与停止键StartPause, Key1:闹钟时间显示/设置键SetKey/显示保持键HoldReset 8位7段码从左到右编号为8-1

8 7

6 5

4 3

2 1 两个LED分别指示闹钟与整点提示的开关状态. 时钟输入后文再详细描述.

(三)仿真实验条件要求 试验板为EDA Pro2K实验开发系统,仿真芯片用Altera FLEX10K系列的EPF10K10LC84-4. 由于实验板有限,大部分仿真在计算机上用maxplus或其它软件完成.当认为运行比较理想时,要按照后文的管脚定义,分配好管脚,编译成可下载的文件,到实验室申请做下载试验.要求能够实现主体功能,实验结果存在的问题,要在报告中分板其原因.

二、详细功能及状态描述: 总体分四种模式,由Key3(ModeKey)切换

(一)时间显示模式: 初始状态为24小时制显示当前时间:小时(8-7)/分(6-5)/秒(4-3),2-1位不显.设置为12小时制时,第1位数码管显示上午/下午,上午显示A(AM),下午显示b(如果自己控制七段码也可以令其显示P) 按Key2显示当前日历:年(8-7)/月(6-5) /日(4-3) /星期(1),第2位不显.释放Key2还原显示;

按Key1显示闹钟所定时间:24小时制下显示:小时(8-7)/分(6-5),4-1位不显.12小时制下第1位数码管显示A/B. 按Key3(ModeKey)进入下一模式:跑表模式

(二)跑表模式 状态机如下图所示: 显示:小时(9-7)分钟(6-5)/秒(4-3)/百分秒(2-1) 按Key3(ModeKey)进入下一模式:校时/校日历

(三)校时模式 按Key2进行调节对像选择 小时 Key2 --->

分Key2 --->

秒清0 Key2 --->

24/12小时切换 Key2 --->

年Key2 --->

月Key2 --->

日Key2 --->

星期 Key2 -- 调分---->

闹钟开关----->

整点提示开关----->

调小时 调节方式同上. 按Key3(ModeKey)回到时间显示模式.

三、参考模块设计: 1.按键接口模块 功能:1)消除按键的抖动,输出平稳的电平 2)跟据不同模块的需要输出不同宽度的电平. 如:输入到跑表的按键电平宽度应与状态机所用时钟的宽度相同.在设定时间和闹钟时,长按Key3需要输出快速调节脉冲. 2.分频模块:由输入的时钟得到需要的各种基准频率,详细讨论见设计提示. 3.模式切换模块:通过按键切换当前模式及设置选择. 输入:ModeKey,SetSelKey 输出:当前显示模式Mode,设置对像选择SetSel 注意一点的是:当Mode变化时,SetSel应自动清0. 4.计时/校时模块 根据Mode、SetSel的不同,对各时间部分进行计数及设置 输入:1Hz脉冲,Mode,SetSel,设置脉冲等 输出:秒、分、小时、日、月、年和星期,并且小时需要24/12小时制两种输出 5.设定闹钟模块: 输入:Mode,SetSel,设置脉冲、当前时间等 输出:所定时间,小时也需要24/12小时制两种输出 6.秒表模块: 输入:Mode,StartPauseKey,HoldResetKey 输出:当前计时,Holding状态所保持的时间 7.闹钟控制及波形产生模块 到了设定时间,输出闹铃波形至蜂鸣器 闹铃:1秒四个节拍:嘀-嘀-----(-表示无声,长度1/8秒)声音频率:1kHz左右 整点提示音:四低一高,低音500Hz左右,高音1kHz左右,59分钟最后十秒声音为:―低―低―低―低―高,(―表示无声,长度1秒) 8.显示控制模块 控制不同模式下显示不同的内容,以及调节时闪烁显示.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题