1.任务描述
所谓多功能数字电子钟,是指利用电子电路构成的计时器,在显示小时、分、秒的同时能对该钟进行调整。在此基础上,还能够借助按键实现时间调整、闹铃设置、关蜂鸣器等功能。相对机械钟而言,数字钟能准确计时。本项目的任务是设计一个多功能数字钟,具体要求如下:
(1)时制式为24小时制。
(2)采用8位LED数码管显示时、分,秒。时间显示格式为时(十位、个位)、分(十位、个位)、秒(十位、个位),用“-”分开,即HH-MM-SS。
(3)能借助按键实现闹铃设置、定点报时功能设置、时间可调功能等。
(4)要求上电后显示00-00-00。
2.任务分析
按照要求完成多功能数字电子钟的设计任务,需要解决以下几个问题:①单片机的选型;②单片机与LED数码管动态显示接口的构建;③单片机与按键接口的构建;④单片机与按键接口电路软件设计方法。⑤系统标准定时时间的实现方法。
多功能数字电子钟设计是单片机键盘和显示器最常用的一个非常典型的综合应用案例,它综合了定时中断系统设计基础和人机界面接口设计基础。
单片机的选型同前面项目。本项目需要8位LED数码管,显示电路位数较多,采用动态显示接口电路。在数码管位数较多场合,动态显示因其硬件成本较低,功耗少,适合长时间显示,因而得到广泛的应用。
在单片机与按键接口电路的构建中,由于本项目至少需要0~9、时间调整、闹铃设置、关蜂鸣器等按键,故电路中按键较多,应采用行列矩阵按键技术连接。
系统的标准定时时钟,即定时时间计时器,同电子秒表项目。用软件实现,即用单片机内部的可编程定时/计数器来实现,有一定的误差,其主要用在对时间精度要求不高的场合。本项目也可用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有DS1302、DS12887、X1203等,都可以满足高精度的要求。
3.任务实施
(1)总体设计。根据任务分析,多功能数字电子钟的设计可采用AT89S51单片机控制,需要8个I/O口控制数码管的段码,8个I/O口控制数码管的位码。在设计中需要引入4×4行列矩阵按键电路,需要8个I/O口。系统结构图如图9-7所示。
图9-7 多功能数字电子钟的系统结构图
图9-8 多功能数字电子钟的4×4行列矩阵按键控制面板
整个系统工作时,秒信号由定时器产生50ms定时,定时中断20次实现标准秒信号,每累计60s,分加1;每累计60min,时加1;采用24进制,可实现对一天24小时的累计。显示电路通过8个七段LED显示器将“时”“分”“秒”的值以HH-MM-SS形式显示出来,4×4行列矩阵按键控制面板说明如图9-8所示。
(2)硬件设计。
本任务采用的是共阳极的8个LED数码管,要点亮某个数码管的某笔画,则相应的数码管阴极接低电平,相应笔画的阳极端加+5V电源。本方案8个数码管的阴极是相连的,所以阳极必须轮流有效,只要时间合理,在人的视觉误差范围内就会看到同时亮的结果。
实现该任务的硬件电路中包含的主要元器件为:AT89S51 1片、74LS245 1片、LED共阳极数码管8个、共阴极数码管1个、按键16个、LED发光二极管2个、电阻和电容等若干。多功能数字电子钟的原理图如图9-9所示。(www.xing528.com)
(3)软件设计。
①软件流程设计。
多功能数字电子钟的软件流程图如图9-10所示。软件采用模块化设计方法,模块说明如下:变量缓冲区定义模块、主程序模块、4×4行列矩阵按键扫描模块、任务处理模块、缓冲区设置模块、动态扫描显示模块、定时中断计时模块、软件延时模块、LED共阴极及共阳极数码管0~F显示字形常数表。
图9-9 多功能数字电子钟的硬件电路原理图
图9-10 多功能数字电子钟的软件流程图
②源程序如下:
(4)虚拟仿真。
多功能数字电子钟Proteus仿真硬件电路图如图9-11所示。正常的运行结果是:按下启动键K9,电子钟开始工作,8位共阳极数码管将从00-00-00开始显示时间,时制为24小时制,时间显示格式为时(十位、个位)、分(十位、个位)、秒(十位、个位),即HH-MM-SS。在电子钟工作过程中,按下K4键,显示值可被清“0”。按下K8键,计时暂停。K1~K3、K5~K7可用于调整时间,其中K1~K3分别用于递增调整秒、分、时的值,K5~K7分别用于递减调整秒、分、时的值。在调整过程中,时钟以新的时间为起点继续刷新显示。当时间到达预设闹钟时间时开始报时,在此用LED灯点亮模拟闹钟起闹。1位共阴极数码管则可用于实时显示所按4×4键盘的键号。
图9-11 多功能数字电子钟的仿真电路原理图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。