兰聪花
摘 要:系统采用AT89C51单片机作为主控核心,由DS1302时钟芯片提供时钟、LCD1602液晶显示数据、DS18B20采集温度,通过串行口将温度数据发送给上位机,文章设计了一款集温度采集、音乐播放、定时、报警等功能于一体的电子万年历,并在Proteus软件上实现了仿真。
关键词:电子万年历;时钟芯片;液晶显示;温度传感器;上位机
1 系统概述
本设计是基于51单片机制作一种带实时温度显示、具有定时功能的电子万年历。此万年历能够显示年、月、日、时、分、秒、温度等信息,并且具备调整时间和日期、温度采集、定时和单片机与上位机的串口通信等功能。软件方面主要包括日历程序、时间调整程序、显示程序和上位机程序等。整个过程包括在VSPD虚拟串口软件中添加虚拟串口,在Keilc软件中进行编程,在Proteus软件中进行仿真。
按照系统设计的要求,系统由时序与复位模块、时钟模块、显示模块、按键模块、温度采集模块、蜂鸣器模块和上位机串口通信模块共7个模块组成,电路系统构成框图如图1所示。
2 系统主要模块设计2.1 DS1302模块设计
DS1302的接口电路模块中,VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2两者中较大者供电。其中DS1302的I/O端口与单片机的P1.0口连接,SCLK与P1.1口连接,RST与P1.2口连接。
2.2 DS18B20模块设计
该系统中采用数字式温度传感器DS18B20,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,用P1.5与DS18B20的DQ口连接,VCC接电源,GND接地。此外还需要接一个阻值为4.7k欧姆的上拉电阻,DS18B20的上拉电阻的阻值是一个需要注意的参数,如果 DS18B20放置的位置离电路板较远,需要用较长的电缆连接时,上拉电阻要相应减小,以弥补线路损耗,而且连接电缆要选用优质的三芯带屏蔽层的电缆,否则不能正常读写数据。
2.3 LCD1602模块设计
LCD1602的D0~D7分别接单片机的P0口;P2.0~P2.2分别接LCD的RS,RW,E三个控制管脚。
2.4 按键模块设计
本系统采用中断控制扫描的方式来实现CPU对按键的处理。中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,CPU执行正常工作程序。当有按键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。它是将各个按键都连接到一个与门上。当有任何一个按键按下时,都会使与门输出为低电平,从而引起单片机的中断,它的好处是不用在主程序中持续不断地循环查询,如果有键按下,单片机再去做相应的处理。
2.5 串口通信模块设计
该系统完成了利用PC机与AT89C51单片机之间的通信程序设计实现温度检测与显示。由DS18B20采集温度,将采集到的温度信号通过单片机处理,通过串行口传送给上位机显示,上位机采用VB6.0编写程序,单片机程序用C语言编写,最后用Proteus软件进行仿真实现温度显示。Proteus中的COMPIM就是标准的RS232端口,本系统利用COMPIM通过虚拟串口与上位机进行通信。
3 系统测试与结果
仿真开始时,显示如图2所示。按键共设置了6种工作模式,与系统功能一一对应。
其中,通过K1键选择,调整到温度采集模式[W],如图3所示。温度检测系统中串口设置为COM2,DS18B20中显示当前温度为14℃。通过按K2键,温度监测系统及液晶屏幕上便可显示该温度。当温度高于或低于某个阈值时,温度检测系统上对应的形状控件便显示为红色,同时蜂鸣器发出报警信息。
4 结语
本文设计的万年历具有显示直观、功能多样等特点,通过DS18B20采集当前室内温度,送入单片机进行实时温度处理并通过LCD1602显示,最后通过串口将温度数据送入上位机以便显示、报警,也供后续进一步处理作准备。
[参考文献]
[1]王静霞.单片机应用技术(C语言版)[M].北京:电子工业出版社,2011.
[2]张毅刚.单片机原理及应用-C51编程+Proteus仿真[M].北京:高等教育出版社,2012.
[3]彭伟.单片机C语言程序设计实训100例-基于8051+Proteus仿真[M].北京:电子工业出版社,2013.
[4]张毅坤,梁莉,陈善久.单片微机计算机原理及应用[M].2版.西安:西安电子科技大学出版社,2013.
[5]瓮嘉民.单片机典型系统设计与制作实例分析[M].北京:电子工业出版社,2014.
Design of Multi function Digital Calendar Based on MCU
Lan Conghua
(School of Electronic Information Engineering, Lanzhou Institute of Technology, Lanzhou 730050, China)
Abstract: The system uses AT89C51 microcontroller as the main control core, provided by the DS1302 clock chip clock, LCD1602 liquid crystal display data, DS18B20 collection temperature,the temperature data is sent to the host computer through the serial port design a set of temperature acquisition, music play, timing, alarm and other functions in one of the electronic calendar, and the simulation was realized in the Proteus Software.
Key words: electronic calendar; DS1302; LCD1602; temperature sensor; host computerendprint