自制一款个性化电子台历

2015-05-22 07:58胡洪钧童向亚冯荣华谢立敏
赤峰学院学报·自然科学版 2015年7期
关键词:台历闹铃温度传感器

胡洪钧,童向亚,冯荣华,谢立敏

(福建农林大学 机电工程学院,福建 福州 350002)

在以老式机械钟表为代表的第一次革命和以石英电子钟表为代表的第二次革命结束之后,随着电子行业的快速发展,尤其是单片机技术的发展,以电子台历为代表的第三次革命已全面爆发[1].电子台历的诞生不但满足了精准的计时需求,还增添了许多原先钟表没有的功能,给人们的生活带来了诸多方便.本文选用STC89C52单片机为主控模块、DS12C887时钟芯片为记时模块、DS18B20温度传感器为温度采集模块和LCD12864液晶屏为显示模块,进行了电子台历的设计.

1 整体方案的设计

综合考虑到作品的实用性、可靠性及经济性等问题,系统选用STC公司生产的STC89C52单片机为控制核心,配有时钟单元、测温单元、闹铃单元、调时单元、显示单元和供电单元共同完成电子台历的设计,整体设计方案如图1所示.

图1 系统设计方案框图

时钟单元负责获取年、月、日、星期、时、分、秒等时间信息;测温单元负责实时采集环境温度数据;显示单元负责把获得的时间、温度等信息显现出来;闹铃单元充当提醒功能;调时单元负责设定日期、时间及定闹时间;供电单元负责给系统各单元供电.

2 硬件设计

2.1 元器件选型

在满足系统性能参数的情况下,应尽量选用低功耗、普遍性及高性价比的电子元器件.下面重点对单片机、时钟芯片、温度传感器等主要元器件进行选型分析,其余元器件型号如表1所示.

(1)目前市场上单片机的种类非常多,考虑到单片机的成本及通用性等因素,采用STC公司生产的STC89C52单片机.该单片机使用经典的MCS-51内核,具有8K字节Flash和512字节RAM,性能稳定可靠;同时拥有32位I/O口,能很好的满足系统多I/O口的设计需求,并且接口操作简单.

(2)为了获得更精确的时间信息,系统采用专业的时钟芯片DS12C887.它将晶体振荡、振荡电路、充电电路和可充电锂电池等一起封装在芯片中,相对DS1302时钟芯片,在外部掉电时,不加纽扣电池仍可以长时间的保持内部时间信息,同时它还具有闰年补偿功能,采用串行数据传输,使用寿命长[2].

(3)在温度采集模块的选型上,选用较为常见的DS18B20温度传感器.由于它具有价格便宜、体积小、耐磨耐碰等优点而被广泛应用于日常生活中.作为数字式传感器,它不需要A/D转换,简化了电路的设计,而且它仅需要一条数据线就可进行数据传输,与单片机连接方便[3].

(4)由于使用数码管显示,在电路调试时往往会出现很多问题,并且不够直观,LCD1602显示容量太小,不能满足设计要求,所以系统选用LCD12864显示屏,它可以显示大量文字、符号及图形,并且清晰可见.

表1 系统中所有元器件清单

2.2 电路设计

根据系统设计目标要求,本着简单、实用、可靠的原则,从分析电子电路整体内部各组成元件的关系以及电子电路整体与外部环境之间的关系入手进行系统电路设计[4].所要求设计的电路可划分为9个相对独立的功能单元,如图2所示.

图2 系统电路原理图

由图2可以看出,DS12C887时钟芯片共有24个引脚,其中[5]:MOT—总线模式选择引脚接地,选用的是INTEL总线时序;AD0-AD7—双向数据/地址复用总线引脚与单片机P0口连接,分时完成数据与地址信息的交换;SQW—方波输出引脚无连接,当供电电压VCC大于4.25V时,SQW可输出方波;IRQ—中断请求输入引脚与单片机P3.2口连接,当中断状态位和对应的中断允许位有效时,IRQ的输出保持为低;RES—复位信号引脚直接连接VCC,可以保证DS12C887 在掉电时,其内部控制寄存器不受影响;DS/RD—数据选择或读输入引脚接到单片机的P2.3口,在INTEL总线模式时,DS作为RD,当它有效时表示DS12C887正在往总线输出数据;R/W—读/写输入端引脚接到单片机P2.2口,工作在INTEL模式时,该脚作为写允许输入端;AS—地址选通输入引脚接到单片机P2.1口,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息;CS—片选输入引脚接到单片机P2.0口,低电平有效;GND、VCC—直流电源,VCC接+5V输入,GND接地.

在测温单元中,DS18B20温度传感器供电范围为3.0~5.5V,DQ—数据I/O引脚与单片机P3.6口连接,仅通过它即可完成信息的发送或接收.在调时单元中,三个独立按键分别接到单片机P1.4、P1.5和P1.6口,KEY1—“模式”键,选定待调整的数字;KEY2—“+”键,每被按下一次,数字加1;KEY2—“-”键,每被按下一次,数字减1.

3 软件设计

采用模块化编程方法[6]进行系统程序设计,整个程序设计可分为时钟模块、测温模块、显示模块、闹铃模块、调时模块和公农历转换模块进行,然后通过各功能模块之间的输入、输出接口把它们组装成所需要的程序.系统程序流程图如图3所示,时间调整程序流程图如图4所示.

时钟模快需要完成DS12C887芯片的初始化、写入初始时间和闹钟时间及从芯片中读取时间等任务;测温模块需要完成DS18B20温度传感器的初始化及读取环境温度等任务;显示模块负责显示读取的时间、温度等信息;闹铃模块需要对外部中断进行初始化,当达到闹铃设定时间,外部中断被触发,蜂鸣器开始工作;在调时模块中,通过“模式”键、“+”键和“-”键共同完成系统日期、时间和定闹时间的调整;在公农历转换模块中,输入公历日期(年、月、日)便得到农历日期(年、月、日).

图3 主程序流程图

图4 调时程序流程图

软件设计完毕后,经过不断的调试,最终达到了设计目的,实现了预期功能,如图5所示.

图5 作品实物图

4 结束语

本文所设计的电子台历具有以下特点:

(1)采用“STC89C52单片机+DS12C887时钟芯片+DS18B20温度传感器+LCD128显示屏”四大核心器件共同完成制作;

(2)加入温度传感器,实时采集环境温度;

(3)具有设定闹铃的功能;

(4)可任意调整日期、时间及定闹时间;

(5)同时显示年、月、日、星期、时、分、秒、温度及闹铃;

(6)公、农历日期可同时显示;

(7)系统断电后可自动更新日期和时间.

〔1〕淡海英.基于AT89C51 控制的电子万年历系统设计 [J].陕西国防工业职业技术学院学报,2014,24(01):38-40.

〔2〕林国清,李见为,王崇文.一种新型的时钟日历芯 片DS12C887[J].国 外 电 子 元 器 件,2002(03):61-63.

〔3〕张军.智能温度传感器DS18B20 及其应用[J].仪表技术,2010(04):68-70.

〔4〕吴杨,孙蔚.电子电路设计的原则、方法和步骤[J].电子制作,2014(11):231-232.

〔5〕杨伟强,张振东,张朋,等.新型时钟日历芯片DS12C887 的应用设计[J].电子元器件应用,2010,12(12):21-23.

〔6〕华玉明.51 单片机C 语言模块化多文件编程方法探讨[J].吉林广播电视大学学报,2014(10):11-12.

猜你喜欢
台历闹铃温度传感器
气象用温度传感器检定结果的测量不确定度评定与应用
日出
温度传感器DS18B20在温度计设计中的应用
新年台历我来做
一种高性能CMOS温度传感器
开闹钟的老人
开闹钟的老人
XTR105电流变送器在温度传感器中的应用
幽默台历
黄道吉日也山寨