基于单片机的日历时钟设计

2012-08-07 09:42胥开芳蔡志涛
常州信息职业技术学院学报 2012年5期
关键词:液晶显示流程图字节

胥开芳 蔡志涛

(盐城生物工程高等职业技术学校 江苏盐城 224051)

单片微型计算机自问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速。目前,单片机以其体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性价比、开发较为容易等特点,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,从洗衣机、微波炉到音响、汽车,到处可见单片机的踪影。

利用AT89系列单片微机制成数字日历时钟电路,采用软硬件结合的方法,控制LCD液晶模块输出,分别用来显示年、月、日、时、分、秒,其硬件电路简单,安装方便易于实现,软件设计独特、可靠。它降低了制造成本,其软硬件与MCS-51系列单片机完全兼容,可很快被广大使用者接受。本文设计了硬件电路,完成系统程序的编写和调试。

1 数字日历时钟硬件电路设计框图

数字日历时钟设计的系统框图如图1所示,由单片机主控制模块电路、显示部分、键盘输入、晶振复位电路、温度调整电路等部分组成。

图1 数字日历时钟设计的系统框图

1)时钟电路模块设计。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三7线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5 V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行充电的能力。有主电源和备用电源双引脚,而且备用电源可由大容量电容(>1 F)来替代。需要强调的是,DS1302需要使用32.768 KHz的晶振。通过单片机可以很方便地控制时钟芯片的工作,时钟芯片DS1302与系统的连接图如图2所示。

图2 时钟芯片DS1302与系统的连接图

2)LCD1602显示模块电路。本数字日历时钟是在LCD1602液晶显示所有要求的信息,数字日历时钟设计的基本的信息:年、月、日、时、分、秒、温度。显示模块与单片机连接的电路图如图3所示。

图3 LCD显示模块电路连接图

3)温度采集模块设计。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高、电路连接简单等特点,此类传感器仅需要一条数据线进行数据传输,使用P3.3与DS18B20的I/O口连接加一个上拉电阻,VCC接电源,GND接地。温度传感器DS18B20在本设计中原理连接图如图4所示。

2 软件设计

1)主程序设计。系统主程序首先对系统进行初始化,包括设置定时器、LCD1602、DS18B20、DS1302及端口的初始化。由于单片机没有命令指令,所以设计系统程序不断循环执行液晶时间显示程序。如果单片机接受命令指令,就执行相应的程序。流程图如图5所示。

图4 温度采集电路连接图

图5 主程序流程图

2)液晶显示驱动程序。LCD1602的程序主要是对内部控制器进行操作,如液晶初始化,读,写,判忙,制定位置等,这些操作驱动程序有子函数构成。

3)DS1302时钟处理程序。DS1302数据处理要始终对内部的数据进行处理获得液晶显示需要的字符。主要包括DS1302的初始化,读一个字节,写一个字节,读写,数据处理等函数组成。对DS1302读写数据命令、DS1302RAM读写命令和寄存器标志内容的了解,实现闹钟,调时程序很容易。在程序中尽量使用位移、位或、位与来实现乘除法,这样可以节约单片机的处理时间。最后将时分秒年月日分解为字符送给液晶显示。部分流程图如图6所示。

图6 DS1302读写流程图

2.4 DS18B20温度处理程序

DS18B20数据处理对芯片内部数据处理获得液晶的显示字符。主要包括DS1820的初始化,读写一个字节,读取DS18B20中的数据和对数据的转换液晶显示的字符。对DS18B20的精度进行不同的定义可得到不同的精度。部分流程图如图7所示。

图7 DS18B20读取温度流程图

5)液晶显示程序。液晶显示程序是对单片机内数据可视化,让用户更直观方便观察结果和对功能的设置。在程序中加入闪烁,使显示更加直观。

6)程序中的注意点。①按键处理防抖应加延时函数。②程序中调用的函数,最好在头文件里先申明,主函数在最后。③ 为了使程序更加容易写,分模块来完成程序。

3 结束语

本设计利用AT89系列单片微机制成数字日历时钟电路,其最大特点是:电路简单,安装方便易于实现。设计紧紧抓住目前单片机体积小、重量轻、抗干扰能力强、对环境要求不高、高可靠性、高性能价格比、开发较为容易的特点进行开发,设计降低了制造成本,可以很快被广大爱好者接受,并且后期扩展较为广泛。

[1] 李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003:24-28.

[2] 田富洋,李晋阳,等.DS12C887在单片机系统中的应用[J].电测与仪表,2005(3):61-63.

[3] 沈庆阳.8051单片机实践与应用[M].北京:清华大学出版社,2003:81-86.

[4] 张康,郭育华,等.基于DS12887的功率补偿控制器设计[J].电子设计工程,2007(11):58-61.

[5] 姜书政,王桂海.基于AT89S52单片机的电机控制系统设计[J].现代电子技术,2010(7):138-140.

[6] 余凤翔,詹彤,蔡智圣.基于AT89C52网络监控系统的设计与实现[J].现代电子技术,2009(1):135-138.

[7] 杜刚.电路设计与制版Protel应用教程[M].北京:清华大学出版社,2006:135-139.

猜你喜欢
液晶显示流程图字节
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于TRIZ理论液晶显示模块开发板的创新设计
简谈MC7字节码
专利申请审批流程图
专利申请审批流程图
122×32 点阵液晶显示汉字原理实验
宁海县村级权力清单36条
《天津医药》稿件处理流程图
人类进入“泽它时代”