器,鸣器电路开始工作,从而产生闹钟响铃。
闹钟模块和整点报时的原理相同。可以把整点报时模块看做一个已经设置好时间的闹钟。闹钟模块由闹钟设置和闹钟比较两部分组成,整点报时是只有时间的比较部分。
闹钟的设置部分的输入端为key,即模式选择,当key为高电平时,设置功能开启,按键调节闹钟设置模块。Move为位选,add为数值的增加。输出位为小时的十位和个位,分钟的十位和个位。输出端连接显示模块和闹钟比较部分。闹钟比较部分为时钟模块中小时的十位和个位,分钟的十位和个位,闹钟设置部分的小时的十位和个位,分钟的十位和个位。将以上对应的数据相互比较,如果都相等,则输出一定频率的脉冲到蜂鸣器。
整点报时和半点报时的输入端为系统时钟信号和时钟模块中小时的十位和个位,分钟的十位和个位,将输入的信号与要求的时间作比较,如果都相等,则输出一定频率的脉冲到蜂鸣器。
使蜂鸣器发声需要输出一定频率的脉冲,用到的原理与分频器相同,因为要输出的方波的占空比为50%,输出1KHz是将50MHz的时钟信号均分为100000份,设立一个整数型的中间变量k,范围为0至99999,检测系统时钟信号的上升沿,当为上升沿时,k自加1,当k加至99999时,将输出信号取反,并将中间变量置零。循环往复,分频器可以输出一个1KHz,占空比为50%的时钟信号。输出50Hz的信号原理也相同,只要修改相应的中间变量范围就可以实现。最后通过一个或门输出至蜂鸣器。
11
3.5显示模块
图7是显示模块的顶层图。输入是时、分、秒二进制码,通过对数码管进行动态扫描可以在数码管上进行显示。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。
12
4设计验证
4.1蜂鸣器仿真波形
4.2分频器功能仿真
4.3.秒表功能仿真
13
4.4按键模块输入输出波形仿真
4.5 Led数码管显示部分:
14
5设计总结 5.1系统实现的功能
整个系统实现了以下功能:
1.计时功能—正常的星期、时、分、秒计时,并由7只8段数码管分别显示; 2.校时功能---任意设置时钟的星期、时、分、秒;
3.整点报时功能----当计时达到59分53秒时开始报时,蜂鸣器频率为2Hz,当到达59分59秒时,蜂鸣器频率为1kHz。
半点报时----当计时达到30分00秒时,蜂鸣器频率2Hz。 4.闹钟功能----设置任意时间,时钟到达时,闹钟功能开启;
5.秒表功能----通过功能键切换进入秒表功能时,按start键后,开始以ms为单位进行计时,并在数码管显示;
6. 不显示高位无效零。
5.2展望
通过此次的电子钟课程设计,学会了很多东西,最主要的是自顶向下的设计方法,先从全局入手,将整个电路分为若干个相互独立的子模块,再在子模块中分的更细,直到可以通过简单的电路就能实现的功能。这样的设计方法化繁为简,层层深入,有助于构建设计方案,自己心中也有清晰的思路,最主要的是:从全局入手无论什么时候都能考虑到全局而不会顾此失彼。
这次的课程设计中,还是有很多不尽人意的地方,比如说消抖程序,做的不是很好,以至于在秒表计时模块出现问题,如果一直按秒表功能键,数码管就会一直闪烁。这就是由于消抖没有做好。
此次电子课程设计,是检验我们的一个机会。通过此次的数字电子钟的设计,我找到了自己的不足之处。让我明白了作为一个工科学生,应该多动手、多思考。因为只有这样,我们才能学好我们的专业知识。
15