基于STC12C5A60S2的电子钟硬件设计
2016-07-15简讯
简讯
(武汉贝斯特通信集团股份有限公司,湖北 武汉 430024)
黄金平
(长江大学电子信息学院,湖北 荆州 434023)
基于STC12C5A60S2的电子钟硬件设计
简讯
(武汉贝斯特通信集团股份有限公司,湖北 武汉 430024)
黄金平
(长江大学电子信息学院,湖北 荆州 434023)
[摘要]提出了一种基于单片机的电子钟硬件设计方法。硬件电路以STC12C5A60S2单片机为主控电路,辅之以DS1302时钟电路、DS18b20温度采集电路、LCD12864显示电路、按键设置电路。该电子钟能实时显示星期、时间、日期、温度以及周数、学期、季节、通知和闹铃等信息,且具有时间和日期的校准功能,通过按键设置的闹铃会在指定的时间响起。系统采用LCD12864显示数据,使得操作人性化、显示效果直观化。
[关键词]STC12C5A60S2单片机; LCD12864;Proteus;电子钟;硬件设计
数字集成技术的发展和石英晶体振荡器的应用,使得数字电子钟的精度远远超过普通钟表, 且大大地扩展了普通钟表功能。诸如定时自动报警、准时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,都是以钟表数字化为基础的。因此,数字电子钟设计及功能扩展实践研究有着极高的实际应用前景[1]。下面,笔者提出了一种能实时显示星期、时间、日期、温度以及周数、学期、季节、通知和闹铃等信息,且具有时间和日期的校准功能的电子钟的硬件设计方法。
1电子钟硬件设计框图
电子钟硬件设计以单片机STC12C5A60S2为控制核心,以DS1302作为时钟芯片,通过串口通信进行时间信息的校准,以DS18b20作为温度采集芯片,通过P2口中的一些端口控制LCD12864进行时间和温度等相关信息的显示。通过按键设置闹铃信息,到时蜂鸣器响起,同时通过按键还可进行不同显示界面的相互转换。其重点在于时间显示、温度采集电路、控制电路以及闹铃模块的设计。
时间显示与控制电路主要实现年、月、日、时、分、秒、星期、周数、学期和季节的显示与控制,并具有校准功能。
控制电路部分须考虑具体设计实际,采用多个(至少5个)独立按键。其中一个专用按键来进行不同显示界面的相互转换;一个专用按键来进行不同闹铃信息的选择;一个按键来进行移位选择,并在设计程序时使其移位到需要调节的数据时数据进行闪烁;其余的按键用以实现数据的加减功能等。
温度采集电路可用DS18b20来进行温度采集,单片机读取温度数据,由LCD12864进行显示。
闹铃模块设置时间或日期,到点后蜂鸣器会响起来进行提醒,直至复位。
这4个部分电路须相互配合,构成一个整体,以实现年、月、日、时、分、秒、星期、周数等的显示以及按键调节和报时功能等合为一体的电子钟。其硬件设计基本框图见图1。
2各单元电路设计
2.1STC12C5A60S2单片机最小系统
图1 基于单片机STC12C5A60S2的电子钟硬件设计基本框图
图2 最小系统电路图
图3 LED显示器
图2为STC12C5A60S2单片机的最小系统电路图,包括晶振电路、复位开关和电源部分,单片机脚说明如下:VCC 40电源端,GND 20接地端,工作电压为5V,外接晶体引脚XTAL1 19、 XTAL2 18,复位RST 9。输入输出引脚:①P0口(P0.0~P0.7)为8位双向I/O端口,置1时作高阻输入端;置0时作低阻输出端,驱动8个TTL。此外, 当P0口对内部Flash程序存储器编程时收指令字节,而当校验程序时发指令字节,故外接上拉电阻;当P0口访问外部程序和外部数据存储器时,作分时数据总线,转换低8位地址。②P1口(P1.0~P1.7)为带内部上拉电阻的8位双向I/0端口。输出驱动4个TTL。置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址。③P2口(P2.0~P2.7)为带内部上拉电阻的8位双向I/0端口。输出驱动4个TTL。置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。④P3口(P3.0~P3.7)为带有内部上拉电阻的8位双向I/0端口。输出驱动4个TTL。置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时接控制信息。
2.2LCD显示电路
图4 串口通讯硬件连接电路图
显示器常用于直观地显示数字系统的运行状态和工作数据。单片机应用系统中常用的显示器有发光二极管LED显示器、液晶LCD显示器、CRT显示器等,其中LCD显示器因特别适于使用环境相对固定的场合而成为最常用的显示器。LCD显示电路连接如图3所示。
2.3串口通讯校时电路
串口通信(Serial Communication), 指外设和计算机间通过数据线与控制线按位进行传输数据的通讯方式。该通信方式需用的数据线少、传输质量高、通信成本低,但传输速度比并行传输低。设计是将单片机与计算机之间进行连接,将计算机的时钟信息通过数据线传送到单片机,特别适合选用该方式。图4和图5分别为串口通信硬件连接电路图和串口调试软件的界面图。
2.4按键设置电路
图6是按键硬件连接电路图。共用到了5个按键,其中S1用于不同显示界面的切换,S2用于不同闹钟信息的转换,另外3个S3、S4、S5分别用于闹铃时间、日期及其他设定。
图5 串口调试软件界面
按键电路使用时,通常会出现“抖动”,即当按下某个键或释放该按键时,会出现按键在闭合和断开状态之间的来回跳变[3]。用软件方法可有效地解决抖动问题,解决抖动问题的C语言程序如下:
if(key==0) /*key键按下*/
{delay(); /*按键消抖,延迟一下 */
if(key==0) /* key键确实按下*/
{
while(!key);/*key键释放*/
…
}
}
2.5蜂鸣器响铃电路
开始给蜂鸣器端口给初值为低电平,当到达响铃时刻时,给蜂鸣器端口以高电平,调节其频率,蜂鸣器开始正常工作,其模块电路图见图7。
图6 按键连接电路图
图7 蜂鸣器连接电路图
3仿真测试
完整的电子钟的硬件原理图如图8所示。
图8 电子钟的硬件原理图
图9 程序运行显示结果
根据电子钟的硬件原理图, 用PROTEUS软件,得到仿真连接图如图9所示,KEIL软件调试程序如图10所示。
用PROTEUS进行单片机仿真,不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况[5]。测试结果表明,由该方案设计的系统很好的完成了显示功能、校时功能、响铃功能。通过控制P1.0、P1.1、P1.2来调节当前时间的显示,很好的完成了校时功能。设置闹铃时间后,蜂鸣器也能到时提醒,很好的体现了响铃功能。
4结语
用STC12C5A60S2作为系统的主控模块,将DS1302读来的时钟数据和DS18b20采集的温度数据等进行处理,再把数据传输到LCD12846显示模块,实现温度、日历等的实时显示。通过按键进行不同界面的转换和各种显示要求的选择与切换以及闹铃时间的设置等。
测试的过程中,笔者发现了几个需要思考与改进的问题:一是按键调节的部分,虽然能够实现调节功能,但所须的程序相对繁琐;二是尽管5个独立按键比较简洁,但在调节相应功能时,仍显麻烦;三是对于所选择LCD12864的显示模块,在较强的光线下使用可能会出现亮度不够。这些问题都有待进一步研究。
图10 KEIL软件调试程序
[1]谭浩强.微型计算机原理及应用[M].第3版.北京:清华大学出版社,2008.
[2] 童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2001.
[3] 阎石.数字电路技术基础[M].北京:高等教育出版社,1998.
[4] 王东锋,王会良,董冠强.单片机C语言应用100例[M].北京:电子工业出版社,2009.
[5] 张欣,孙宏昌,尹霞.单片机原理与C51程序设计基础[M].北京:清华大学出版社,2010.
[编辑]张涛
[收稿日期]2016-02-12
[作者简介]简讯(1987-),男,现主要从事通信工程管理方面的研究工作;通信作者:黄金平,1103934907@qq.com。
[中图分类号]TN873;TH714
[文献标志码]A
[文章编号]1673-1409(2016)16-0051-06
[引著格式]基于STC12C5A60S2的电子钟硬件设计[J].长江大学学报(自科版),2016,13(16):51~56.