文档介绍:数字钟
姓名:王胤鑫
班级:08
学号:08210224
学院:信息与通信工程学院
数字电路与逻辑设计实验报告
一、实验目的
;
;
二、实验任务
基本任务:
设计制作一个能显示时、分、秒的时钟
,能分别进行时和分的校正;
(有上、下午显示)、24小时计时制可选;
提高要求:
;
,当计时到预定时间时,蜂鸣器发出闹铃信号,闹铃时间为5秒,可提前终止闹铃;
。
三、实验器材
;
2. 直流稳压电源;
3. EDA开发板及相应元器件。
四、设计思路
首先用分频模块得到各模块的时钟信号;用分计数器,秒计数器和小时计数器模块在非闹铃设置状态下计数,用SETMIN和SETHOUR输入信号作为分钟和小时的校正信号;用闹铃分计数器和闹铃小时计数器模块在闹铃设置状态下计数,时钟信号分别由SETM和SETH信号输入提供;用报时模块在闹铃状态下或者整点状态下报时,用ALARMEN信号控制;用12/24小时转换模块进行12/24小时的转换,由CHANGE信号来控制;用位选模块控制数码管的点亮;用段选模块完成数码管的正确显示。
在整个实验中我们用了14个进程:
进程1,11,12,13,14:
时钟信号分频。将50MHZ时钟信号CLK一步步分频至1HZ,LK,分频过程中将得到的200HZ信号作为数码管显示的时钟信号,10KHZ的信号作为蜂鸣器有效时的信号。
进程2:秒计数器
用SL和SH分别表示秒的低位和高位。将进程1生成的时钟信号作为秒计数器的时钟,每一个时钟加1. 当秒的个位加为9时,判断秒是否为59,若是则分调节信号MINCLK赋1,同时秒置0;若不是,则秒的十位进1,个位置0,分调节信号赋0。当此时判断调整分按键SETMIN按下时,给分调节信号MINCLK赋一个时钟脉冲。
进程3:分计数器
用ML和MH分别表示分的低位和高位。将进程2生成的时钟信号作为分计数器的时钟,每一个时钟加1. 当分的个位加为9时,判断分是否为59,若是则分调节信号HOURCLK赋1,同时分置0;若不是,则分的十位进1,个位置0,小时调节信号赋0。当此时判断调整分按键SETHOUR按下时,给小时调节信号HOURCLK赋一个时钟脉冲。
进程4:24小时计数器
用HLT和HHT分别表示小时的低位和高位。将进程3生成的时钟信号作为小时计数器的时钟,每一个时钟加1. 判断是否为23,若是则置0;若不是,当小时的个位加为9时,则分的十位进1,个位置0。
进程50:闹铃的分钟设置
原理与分钟计数器相同,只是用ALML和ALMH存储闹铃的分钟信息,时钟信号是由外部逻辑信号SETM提供。
进程51:闹铃的小时设置
原理与小时计数器相同,只是用ALHL和ALHH存储闹铃的小时信息,时钟信号是由外部逻辑信号SETH提供。
进程6:报时
蜂鸣器响有两种情况,
1: 当闹铃允许信号ALARMEN为1时,当HLT,HHT,ML,MH分别与ALHL,ALHH,ALML,ALMH相等时,即与闹铃设置时相同时,将SPEAK赋值为10KHZ信号送给蜂鸣器,蜂鸣器呜响。
2: 当分钟为59时,在秒钟为51,53,55,57,59,会将SPEAK赋值为10KHZ信号送给蜂鸣器,蜂鸣器呜响,即整点报时。
进程7:12/24小时转换
用穷举的方法将小时位进行转换。用HLT2和HHT2来存储12小时制小时信号信息,如果CHANGE信号为1,则将HLT2和HHT2赋给HL和HH,并判断是上午还是下午,用LIGHTAM和LIGHTPM存储信息。若CHANGE为0则将HLT和HHT赋给HL和HH,HL和HH之后送至数码管显示。
进程8:数码管位选
将200HZ信号作为时钟信号,用CAT来存储位选信息,当SETALARM为1时,将设置闹铃所得的时钟信息送至数码管,否则将正常计时所得的时钟信息送至数码管。
进程9:数码管显段选
通过数码管正确显示进程8送至的信息。
3、总体流程框图
12/24小时转换
报时器
闹铃分钟设置
闹铃小时
设置
分频至1hz
时计数器
分计数器
调时信号
调分信号
秒计数器
50Mhz时钟
数码管位选段选显示
RESET SETHOUR SETMIN CHANGE
时钟
分频器
控制器
计数器
译码显示器
SETALAR