《基于51单片机的电子万年历与温度检测报警系统》由会员分享,可在线阅读,更多相关《基于51单片机的电子万年历与温度检测报警系统(47页珍藏版)》请在金锄头文库上搜索。
1、精品毕业设计目录摘要 1一、 设计要求与方案论证11设计要求 212系统方案选择和论证 213电路最终方案确定 4二、电子万年历与温度采集报警硬件设计和实现21系统设计 421.1系统设计框图 421.2系统硬件需求介绍 422系统硬件各模块作用 522.1单片机核心控制模块 522.2实时时钟电路模块 622.3数字温度传感器模块 1322.4液晶显示电路模块 1722.5蜂鸣器电路模块(2个)2222.6 USB和外部电源供电模块 2323系统电路图设计2323.1系统电路原理框图和原理图23三、软件设计与分析31系统软件流程图2531.1DS12C87程序流程图2531.2DS18B20
2、程序流程图2631.3键盘扫描程序流程图2731.4主程序流程图28四、系统测试41测试工具2942软件测试2943硬件测试30五、设计总结和心得41设计总结与心得31参考文献32附录一:程序清单33附录三:实物图片48基于单片机的万年历与温度检测报警系统摘要随着社会发展需求的改变,电子万年历是一个应用非常广泛的实用日常计时工具,带有显示世纪,年,月,日,星期,时,分,秒和按键可调时间及其按键设置闹钟的功能,同时具有月末自动更新,闰年补偿功能等多种功能。温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同
3、的报警上下限。此系统是基于STC89C52单片机设计的,包含液晶显示模块,DS12C887实时时钟模块,DS18B20温度采集模块,键盘扫描模块,报警模块。STC89C52作为控制核心,具有功耗低,功能强等特点,电压可选3到5V电源供电。显示模块采用1602液晶动态显示,相对数码管而言经济实用,占用空间小,对于显示数字、字母最为合适,而且与单片机连线简单,占用IO口相对较少。实时时钟芯片DS12C887是一款与DS12C885实时时钟兼容的替代产品,该器件提供RTC/日历、定时闹钟等功能,如果检测到主电源故障,该器件可自动切换到备用电源供电,DS12C887将石英晶体与电池集成在一起,在断电后
4、仍可精确走10年。温度检测报警模块采用数字式温度传感器DS18B20,该芯片具有精度高,测量范围广等优点,易与单片机连接,模块电路组成简单并同时具有温度报警功能。关键词:STC89C52,DS12C887,DS18B20,1602液晶显示,电子万年历,采集周围设备温度、温度报警一、设计要求与方案论证11.1设计要求设计一个能够实现世纪,年,月,日,星期,小时,分,秒显示附带温度检测显示的实时时钟电子万年历,同时具有时间调节和闹钟设置功能,以及时间预设报警、温度报警、报警解除等功能。该产品共设有四个按键,每个按键具有多种功能,充分利用各个按键。在温度报警的同时还有发光二极管做相应的指示。并且通过
5、编程还可以控制继电器的开闭,从而控制外部设备的运行,通过对闹钟和温度报警的设置可进行定时对设备进行自动化控制,也体现了产品的智能化。11.3系统方案选择和论证STC89C52单片机作为核心控制体,该单片机具有高可靠,超低价,低功耗,无法解密等优点。该单片机属于双列直插式封装的PDI40口管脚。具有4个输入输出端口,分别为PORT0,PROT1,PROT2,PROT3,其中P0口是一组8位漏极开路型双向IO口,校验时,要求接上拉电阻。其他三个内部有30K的电阻,所以不用再外接电阻。此单片机具有6个中断,其中包括三个定时器中断,二个外部中断,一个串口中断,为全双工通信口。内部有静态非易失EEPRO
6、M和看门狗。片内含8Kbbytes的可反复檫写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),功能强大,适合许多较为复杂的控制应用场合。相比较其他芯片来说比较适合学生试验所用,故采用此单片机作为核心控制芯片。DS12C887为实时时钟芯片,功能丰富,可以用来直接代替IBMPC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加世纪寄存器,从而利用硬件电路解决子“千年”问题:DS12C887中自带有锂电池,外部掉电时,其内部信息还能够保持10
7、年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间表示方法也有两种,一种用二进制数表示,一种用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来储存时间信息,4字节RAM用来储存DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可以对DS12C887进行编程以实现多种方波输出,并对其内部的三路中断进行屏蔽。芯片内部石英晶体与充电电池,具有三个可单独屏蔽中断标志位的中断输出,闰年补偿至2100年。+5V或+3.3V工作电源,工业级温度范围,自动电源故障检测和切换电路,
8、故此芯片适合应用于工业生产和家庭应用中。DS18B20是数字式温度传感器,采用单总线通信协议。DS18B20具有体积小,硬件开销低,抗干扰能力强,精度高附加功能强,封装形式多样等特点。适合各种狭小空间内设备的数字测温和控制。同时单线可挂接多个元件,因为每个元件都有唯一的一个64位光刻ROM编码,家族码为28H,可以多个也可单个操作。电压测量范围是3.0V到5.5V。内部含有EEPROM,其报警上、下限温度值和设定的分辨率倍数在芯片掉电的情况不丢失。并且内部带有AD转换电路,技术较为成熟,所以采用此芯片最为合适。1602液晶应用非常广泛,操作简单,功能强大,采用1602液晶显示各种数字信息最为合
9、适,通过对单片机的编程来控制DS12C887和DS18B20芯片的读写操作来获取相应的信息,再通过对液晶的编程控制将获取到的信息通过一系列转换从而显示到1602液晶上。最后达到有电子万年历和温度采集报警等功能。系统论证时通过在单片机学习板上的试验操作,能够达到预期的效果!12最终方案确定核心控制体:STC89C52单片机实时时钟芯片:DS12C887数字式温度传感器:DS18B20总共设有四个按键,为节约资源考虑,每个按键都有多种功能。每个按键分别标号为A,B,C,D.第一次按下B,C,D都没有反应,首先按下A键可选择指针位置,B,C键为加减键,D键为闹钟设置键。B同时又是闹钟报警消除键。操作
10、简单,按键灵活。两个报警模块,分为温度报警和闹钟报警两种。二、电子万年历与温度采集报警硬件设计和实现主控模块时钟模块温度检测模块1602显示模块键盘扫描模块报警模块2.。1系统设计框图 图1 系统组成框图21.2系统硬件需求介绍STC89C52单片机一片,DS12C887实时时钟芯片一个,DS18B20数字式温度传感器一个,+5V无源蜂鸣器二个,12MHZ晶振一个,多个按键和开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个,USB母口一个。22系统硬件各模块作用22.1单片机核心控制模块核心控制器件选用STC89C52单片机。STC89C52单片机为40管脚双列直插芯片,它是一种
11、高性能,低功耗的8位CMOS微处理器芯片,市场应用最多。而且价格便宜,控制方便,便于应用有4个I/O口分别为P1,P2,P3,P4。其中每一个管脚都能做独立的输入输出管脚,它的第9脚位复位管脚,接上电容和上拉电阻再带个开关构成复位电路。18,19管脚接外部晶振和两个微调电容构成外部晶振电路。单片机,复位电路,晶振,5V电源构成单片机最小系统。其中与AT89S52单片机管脚容。图2 单片机最小电路图2为单片机最小电路,其中晶振频率可以根据自己需要进行选择,范围在0-24MHZ,常用12MHZ。复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。还有其P0内部无上拉电阻
12、,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。P0口有两个作用,一个接上DS12C887的AD0-AD7(双向地址/数据复用总线),控制着DS12C887的8位并行数据的地址和数据的传输,另接上液晶的DB0-DB7(数据总线)控制着向液晶发送8位并行数据。P17接上DS18B20的单数据线,发送并接受数据,地址的操作。P30到P33作为独立按键口。P24口为液晶的数据/命令选择端,1为数据,二为命令,P25口控制液晶读/写选择端,1为读命令,0为写操作,P26口控制液晶使能信号。对DS12C887:P20口控制DS12C887的片选信号的输入(CS),P21口控制地址选通输入(AS),P22口为读写输入(R/W),P23控制着数据选通或读输入(DS)。P32(外部中断0)接reset管脚,当闹钟时间到时便由此触发外部中断0,进入到外部中断0程序中。P10和P11口分别控制着蜂鸣器的报警,当温度、时间到达限定值时会发出高低电平脉冲,以至发出报警声音。22.2实时时钟电路模块时钟模块选用DS12C887