本篇是出自山西大学商务学院的张婷同志。
1 电子钟基本模块分析
电子钟由单片机基本电路按键电路和显示电路组成。系统的结构框图如图1所示。图中单片机模块是整个控制系统的核心, 通过它可以控制LCD显示电路, 并实现整点提示功能。可以通过按键电路调节时分秒及时间清零的功能。
2 电子钟硬件设计
2.1 单片机最小系统
本设计采用AT89C52为核心控制器件。单片机想要工作, 需要有时钟电路、供电电路及复位电路配合。AT89C52为常用的时钟电路采用内部时钟电路, 配合外部12M晶振和电容与XTAL1和XTAL2连接组成, 为单片机提供基本的机器周期脉冲。单片机复位电路为手动复位电路, 当单片机发生异常工作时可通过复位按钮让单片机复位。
AT89C52是一个低电压, 高性能CMOSX8位单片机, 兼容标准MCS-51指令系统, 所以编程简单。AT89C52单片机由于其控制结构简单, 标准编程, 价格低廉在电子行业中有着广泛的应用。AT89C52有40个引脚, 32个外部双向输入/输出 (I/O) 端口, AT89C52可以按照常规方法进行编程, 也可以在线编程。其将通用的微处理器和Flash存储器结合在一起, 特别是可反复擦写的Flash存储器可有效地降低开发成本。单片机最小系统如图2所示。
2.2 按键电路
一般的时钟都有按键电路, 当系统刚接通电源或者长时间运行出现误差时, 需要对电路进行校准调时。调时电路如图3所示。当开机后系统开始计时并进行LCD显示当前时间。当开关置于“清零”位置时, 电子时钟复位, LCD显示00:00:00。当开关置于“移位”时可以在时分秒之间切换, 和“加”“减”分别可对时分秒进行调节。
2.3 整点报时电路
该设计的整点报时电路当分为59且秒为51, 53, 55, 57时蜂鸣器发出500 Hz的声音, 在59分59秒时发出1 k Hz的声音并且点亮灯光。报时电路如图4所示。
2.4 LCD显示电路
显示电路如图5所示。本设计采用了最常见的LCD1602显示器, 由于LCD显示面板较为脆弱, 厂家已将LCD控制器、驱动器、RAM、ROM和液晶显示器用PCB连接到了一起, 成为液晶显示模块, 单片机只需向LCD显示模块写入相应的命令和数据就可显示所需内容[2]。它是一种工业字符型液晶, 能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性, 通过电压对其显示区域进行控制, 有电就有显示, 这样既可以显示数字又可以显示出图形字符。LCD1602有16条引脚, 背光电源A (15脚) 和地线K (16脚) 显示电路与AT89C52单片机的P0口连接, 并连接上拉电阻。
3 电子钟软件设计
该设计的程序流程图如图6所示。电子钟上电后从00:00:00开始计时。在计时期间会判定是否有按键按下, 如果没有则继续计时并且显示。如果有键按下, 清零键按下则将时间清零并显示[3]。如果加和减按键按下则可配合移位按键调节时分秒。
时钟计时时, 定时器从0开始, 如果装满1秒则秒自动加一并显示。如果秒满60次则分加一并显示, 如果分满60次则时加1并显示, 如果时满24次则清零, 重新开始计时。到每个整点时会触发音频电路报时。
4 Proteus仿真
Proteus软件是一种混合电路仿真软件, 包括模电、数电和单片机及其外围电路的仿真等[4]。根据该系统设计的电路在Proteus中画出仿真电路图如图7所示。
仿真电路中通过按键可以分别调节时分秒及清零。计时到整点时蜂鸣器发出声音进行整点报时。验证了电路设计的正确性。
5 结论
本文通过单片机编程及控制外围电路设计了可以进行整点报时并时间可调的电子时钟。该设计的电子钟结构简单, 成本低具有一定的实用性。并用Proteus软件验证该设计的可行性。
张婷硕士设计的这款基于单片机的电子时钟利用了proteus软件对设计的电子时钟进行了基本功能仿真,验证了涉及可行性,极大地缩短了研发周期,并且可以为后期更灵活的改进设计服务。为我们学习设计电子钟提供了宝贵的经验和知识。