基于51单片机的电子万年历与温度检测报警系统 下载本文

内容发布更新时间 : 2024/6/3 22:14:29星期一 下面是文章的全部内容请认真阅读。

作品名称:基于单片机的万年历与温度检测报警系统

目录

摘要〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1

一、 设计要求与方案论证

1.1设计要求〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 2 1.2系统方案选择和论证〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 2 1.3电路最终方案确定〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 4

二、电子万年历与温度采集报警硬件设计和实现

2.1系统设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 4

2.1.1系统设计框图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 4 2.1.2系统硬件需求介绍〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 4 2.2系统硬件各模块作用〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 5

2.2.1单片机核心控制模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 5 2.2.2实时时钟电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 6 2.2.3数字温度传感器模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 13 2.2.4液晶显示电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 17 2.2.5蜂鸣器电路模块(2个)〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃22 2.2.6 USB和外部电源供电模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 23 2.3系统电路图设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃23

2.3.1系统电路原理框图和原理图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃23

三、软件设计与分析

3.1系统软件流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃25

3.1.1DS12C87程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃25 3.1.2DS18B20程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃26 3.1.3键盘扫描程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃27 3.1.4主程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃28

四、系统测试

4.1测试工具〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29 4.2软件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29 4.3硬件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃30

五、设计总结和心得

4.1设计总结与心得〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃31 参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃32 附录一:程序清单〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃33 附录三:实物图片〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃48

基于单片机的万年历与温度检测报警系统

摘要

随着社会发展需求的改变,电子万年历是一个应用非常广泛的实用日常计时工具,带有显示世纪,年,月,日,星期,时,分,秒和按键可调时间及其按键设臵闹钟的功能,同时具有月末自动更新,闰年补偿功能等多种功能。温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。

此系统是基于STC89C52单片机设计的,包含液晶显示模块,DS12C887实时时钟模块,DS18B20温度采集模块,键盘扫描模块,报警模块。STC89C52作为控制核心,具有功耗低,功能强等特点,电压可选3到5V电源供电。显示模块采用1602液晶动态显示,相对数码管而言经济实用,占用空间小,对于显示数字、字母最为合适,而且与单片机连线简单,占用IO口相对较少。实时时钟芯片DS12C887是一款与DS12C885实时时钟兼容的替代产品,该器件提供RTC/日历、定时闹钟等功能,如果检测到主电源故障,该器件可自动切换到备用电源供电,DS12C887将石英晶体与电池集成在一起,在断电后仍可精确走10年。温度检测报警模块采用数字式温度传感器DS18B20,该芯片具有精度高,测量范围广等优点,易与单片机连接,模块电路组成简单并同时具有温度报警功能。

关键词:STC89C52,DS12C887,DS18B20,1602液晶显示,电子万年历,采集周围设备温度、温度报警

一、设计要求与方案论证

1.1.1设计要求

设计一个能够实现世纪,年,月,日,星期,小时,分,秒显示附带温度检测显示的实时时钟电子万年历,同时具有时间调节和闹钟设臵功能,以及时间预设报警、温度报警、报警解除等功能。

该产品共设有四个按键,每个按键具有多种功能,充分利用各个按键。在温度报警的同时还有发光二极管做相应的指示。并且通过编程还可以控制继电器的开闭,从而控制外部设备的运行,通过对闹钟和温度报警的设臵可进行定时对设备进行自动化控制,也体现了产品的智能化。

1.1.3系统方案选择和论证

STC89C52单片机作为核心控制体,该单片机具有高可靠,超低价,低功耗,无法解密等优点。该单片机属于双列直插式封装的PDI40口管脚。具有4个输入输出端口,分别为PORT0,PROT1,PROT2,PROT3,其中P0口是一组8位漏极开路型双向IO口,校验时,要求接上拉电阻。其他三个内部有30K的电阻,所以不用再外接电阻。此单片机具有6个中断,其中包括三个定时器中断,二个外部中断,一个串口中断,为全双工通信口。内部有静态非易失EEPROM和看门狗。片内含8Kbbytes的可反复檫写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),功能强大,适合许多较为复杂的控制应用场合。相比较其他芯片来说比较适合学生试验所用,故采用此单片机作为核心控制芯片。

DS12C887为实时时钟芯片,功能丰富,可以用来直接代替IBMPC上的时

钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加世纪寄存器,从而利用硬件电路解决子“千年”问题:DS12C887中自带有锂电池,外部掉电时,其内部信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间表示方法也有两种,一种用二进制数表示,一种用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来储存时间信息,4字节RAM用来储存DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可以对DS12C887进行编程以实现多种方波输出,并对其内部的三路中断进行屏蔽。芯片内部石英晶体与充电电池,具有三个可单独屏蔽中断标志位的中断输出,闰年补偿至2100年。+5V或+3.3V工作电源,工业级温度范围,自动电源故障检测和切换电路,故此芯片适合应用于工业生产和家庭应用中。

DS18B20是数字式温度传感器,采用单总线通信协议。DS18B20具有体积小,硬件开销低,抗干扰能力强,精度高附加功能强,封装形式多样等特点。适合各种狭小空间内设备的数字测温和控制。同时单线可挂接多个元件,因为每个元件都有唯一的一个64位光刻ROM编码,家族码为28H,可以多个也可单个操作。电压测量范围是3.0V到5.5V。内部含有EEPROM,其报警上、下限温度值和设定的分辨率倍数在芯片掉电的情况不丢失。并且内部带有AD转换电路,技术较为成熟,所以采用此芯片最为合适。1602液晶应用非常广泛,操作简单,功能强大,

采用1602液晶显示各种数字信息最为合适,通过对单片机的编程来控制