基于STC89C52单片机的温度报警系统Word下载.docx
- 文档编号:18774621
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:25
- 大小:498.68KB
基于STC89C52单片机的温度报警系统Word下载.docx
《基于STC89C52单片机的温度报警系统Word下载.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的温度报警系统Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
因此,在生产和生活中要对温度进行严格的控制,使温度在规定的范围内变化。
通过本系统提高学生对于温度控制的认识。
在学习实践中提高对理论的认知能力和动手解决实际问题的能力,达到教学实践相结合的目的。
及采用先进的科学技术,加以丰富的保安实际经验和知识,向社会提供各种超值安全设备服务,给用户带来安全和放心。
第2章系统的硬件结构的组成
本系统集成了温度报警及开机计时功能,必要时,也可以将计时功能改为临时时钟的功能,这大大方便了我们的需要。
本系统结构框架:
2.1所需主要元件及芯片
●AT89C52单片机一片。
●1302时钟芯片一片。
●18b20温度传感器一只。
2.2设计思想
●温度方面:
18b20实时采集温度数据,并将采集到的数据传送到单片机加以计算并处理,单片机将处理好的数据通过LCD液晶显示屏显示出来,以便我们能够直观的测量数据。
●时钟方面:
采用1302芯片通过简单的串行接口与单片机进行通信以实现对时间的调整,当需要复位时只需按下复位按钮,系统又可回到计时状态,当需要时钟是也可以通过按键将计时改为钟表。
●输出显示:
采用1602C液晶显示器通过单片机P0口将所测温度,以及时间显示出来。
●报警处理:
通过所测温度与预先设定的上下限的温度进行比较,如果大于或小于是就开始报警。
报警显示通过LED发光二极管显示并通过扬声器发出警告。
2.3所需主要元件介绍
2.3.1Stc89c52单片机
STC89C52低电压,高性能CMOS8位单片机,片内含4K的可以反复擦写的只读程序存储器PEROM和128B的随机数据存储器RAM器件采用ATMAl公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器CPU和FLASH存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能
●与MCS-51单片机产品兼容。
●8K字节在系统可编程Flash存储器。
●1000次擦写周期。
●全静态操作:
0Hz~33Hz。
●三级加密程序存储器。
●32个可编程I/O口线。
●三个16位定时器/计数器。
●八个中断源。
●全双工UART串行通道。
●低功耗空闲和掉电模式。
●掉电后中断可唤醒。
●看门狗定时器。
●双数据指针。
●掉电标识符。
图2-1STC89C52引脚图
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,
P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验
时,需要外部上拉电阻。
1P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个
TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2
的触发输入(P1.1/T2EX).在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
2P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)
时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用
8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
3P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
P3口亦作为AT89S52特殊功能(第二功能)使用.在flash编程和校验时,P3口也接收一些控制信号。
引脚号第二功能
P3.0------RXD(串行输入)
P3.1-------TXD(串行输出)
P3.2-------INT0(外部中断0)
P3.3-------INT0(外部中断0)
P3.4-------T0(定时器0外部输入)
P3.5-------T1(定时器1外部输入)
P3.6-------WR(外部数据存储器写选通)
P3.7-------RD(外部数据存储器写选通
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端
存储器结构
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以
64K寻址。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开
始,接着从外部寻址,寻址地址为:
2000H~FFFFH
。
数据存储器:
AT89S52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特
殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元
MOV0A0H,#data
使用间接寻址方式访问高128字节RAM。
例如,下面的间接寻址方式中,R0内容为
0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。
MOV@R0,#data
堆栈操作也是简介寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
中断
AT89S52有6个中断源:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、
2)和一个串行中断。
符号位地址功能
EAIE.7中断总允许控制位。
EA=0,中断总禁止;
EA=1,各中断由各自的控制位设定
IE.6预留
ET2IE.5定时器2中断允许控制位
ESIE.4串行口中断允许控制位
ET1IE.3定时器1中断允许控制位
EX1IE.2外部中断1允许控制位
ET0IE.1定时器0中断允许控制位
EX0IE.0外部中断1允许控制位
晶振特性
AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。
石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。
从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部
时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要
符合要求的。
2.3.21302时钟芯片
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW
DS1302是由DS1202改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等
产品领域下面将主要的性能指标作一综合
实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力
318位暂存数据存储RAM
串行I/O口方式使得管脚数量最少
宽范围工作电压2.05.5V
工作电流2.0V时,小于300nA
读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式8脚DIP封装或可选的8脚SOIC封装根据表面装配
简单3线接口
与TTL兼容Vcc=5V
可选工业级温度范围-40+85
与DS1202兼容
在DS1202基础上增加的特性
对Vcc1有可选的涓流充电能力
双电源管用于主电源和备份电源供应
备份电源管脚可由电池或大容量电容输入
附加的7字节暂存存储器
1DS1302的基本组成和工作原理
DS1302的管脚排列及描述如下图所示
管脚描述
X1X2-------32.768KHz晶振管脚
GND-------地
RST-------复位脚
I/O--------数据输入/输出引脚
SCLK-------串行时钟
Vcc1,Vcc2-------电源供电管脚
2.DS1302内部寄存器
CH:
时钟停止位寄存器2的第7位12/24小时标志
CH=0振荡器工作允许bit7=1,12小时模式
CH=1振荡器停止bit7=0,24小时模式
WP:
写保护位寄存器2的第5位:
AM/PM定义
WP=0寄存器数据能够写入AP=1下午模式
WP=1寄存器数据不能写入AP=0上午模式
TCS:
涓流充电选择DS:
二极管选择位
TCS=1010使能涓流充电DS=01选择一个二极管
TCS=其它禁止涓流充电DS=10选择两个二极管
DS=00或11,即使TCS=1010,充电功能也被禁止
图2-2DS1302时钟芯片引脚示意图
2.3.318b20介绍
特性
•独特的单线接口仅需一个端口引脚进行通讯
•简单的多点分布应用
•无需外部器件
•可通过数据线供电
•零待机功耗
•测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+2570F,以0.90F递增
•温度以9位数字量读出
•温度数字量转换时间200ms(典型值)
•用户可定义的非易失性温度报警设置
•报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
•应用包括温度控制、工业系统、消费品、温度计或任何热感测系统
说
图2-3DS18B20引脚示意图
2.3.4DS1602
特点1602字符型LCD模块的应用非常广泛,而各种液晶厂家均有提供几乎都是同样规格的1602模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同;
1602字符型LCD模块最初采用的LCD控制器采用的是HD44780,在各厂家生产的1602模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的;
当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。
通常所见到的1602模块的规格基本如表2-1所示
显示容量:
16*2个字符
芯片工作电压:
4.5-5.5V
工作电流:
2.0mA(5.0)
模块最佳工作电压:
5.0V
字符尺寸:
2.95*4.35(W*H)mm
表2-1DS1602主要技术参数
DS1602引脚如表2-2所示
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/o
2
VDD
电源正极
10
D3
DateI/o
3
VL
液晶显示偏压信号
11
D4
4
RS
数据/命令选择断
12
D5
5
R/W
读写选择端
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
表2-2DS1602接口信号说明
第3章系统的硬件结构模块设计
本系统的设计结构由单片机,LCD液晶显示器,1302时钟芯片,18B20温度传感器,以及报警装置构成。
其工作过程为:
18B20实时采集环境温度,将处理好的二进制信号经串口线送至单片机加以处理运算,单片机将处理后的结果通过LCD屏幕显示出来,单片机在处理的同时,通过将测得的温度,与系统设定的上下限温度加以比较,如果超过设定温度,则通过LED显示灯语蜂鸣器发出超温警告,并停止高温环境下工作这的设备,起到保护设备的作用。
本系统同时加入了1302时钟芯片,可以起到开机计时的作用,这可以很好的显示系统的工作时间
3.1系统的工作方框图
系统的总体工作方框图如下
图3-1系统总体方框图
3.2系统硬件设计结构图:
系统实际物品由万能电路板焊接组成。
本系统的实际物品如下图所示。
图3-2系统实物图
3.3系统设计线路图:
本系统线路图采用Proteus方针软件所设计,可以随心所欲的的对电路进行改动,
3-3系统仿真图
3.4硬件模块分析与介绍:
总的来说本系统可分为1处理模块2显示模块,3温度处理模块4报警模块5时钟模块五大部分,下面分别介绍各个模块的工作情况。
3.4.1处理模块
图3-4处理模块
本系统处理模块采用STC89C52单片机,STC89C52单片机具有P0,P1,P2,P3,四个I/O,可根据不同需要使用其端口进行数据的输入与输出,关于STC89C52单片机的详细说明前面以经介绍,此处略。
本系统采用P0口为数据的显示接口,通过8跟数据线,与LCD液晶屏幕相连接
来显示数据。
采用P2口来连接外部的报警装置,通过P2.5,P2.6,P2.7与LED相接,P2.4与扬声器相接来完成报警功能。
通过P2.4作为传感器采集信号的输入断,将输入的信号进行处理后输出。
以P1.0---P1.3作为时钟芯片输入信号与输出信号,时钟信号短,以完成系统的时钟功能。
3.4.2显示模块:
显示部分采用DS1602液晶显示器,具有工作电压范围宽,工作电流小,低功耗,工作稳定,无需软件动态扫描的优点,大大节省了程序运行时间,提高了工作效率,被各个行业广泛应用。
图3-5DS1602实物图
图3-6DS1602仿真图
本系统中单片机P0接口所输出的数据由D0———D7信号线输入LCD屏幕
最终显示所需的数据,以P2.0作为数据/命令选择端口,以P2.1作为读写选择端口,以P2.2作为使能信号输入端。
3.4.3温度处理模块:
本系统的温度处理模块采用18B20温度传感器为工作核心,因其具有只需一个独立的通讯端口进行数据传输,无需外部通电,无需外部器件,测温范围大,工作效率高的优点而应用。
环境温度被18B20传感器以二进制数据的形式采集,然后交付单片机处理,然后通过显示器将被测温度以十进制数的形式显示出来。
本系统中以单片机的P2.3端口作为温度数据输入端与传感器的DQ数据输出线相连,从而实现温度信号的传输功能,
图3-7温度测量模块仿真图
3.4.4报警模块,
本系统采用LED发光二极管,与蜂鸣器为报警装置,当所测温度超过设定温度时,LED将发光,同时蜂鸣器将发出报警声音。
本模块中以P2.5,P2.6,P2.7作为报警信号的控制端口接LED等的阴极,
LED阳极通过串接330欧姆电阻接5V电源(因为LED灯可以发光的电流范围为5——20毫安,故串入330欧姆电阻,),因为蜂鸣器可发声工作的电流范围
为约100毫安,但单片机引脚最大输出电流为5毫安,所以不能直接驱动,再此需加三极管放大电路来提高驱动能力。
下图为此模块的仿真电路,由于用proteus仿真时无需驱动,故此电路未加三极管驱动电路。
蜂鸣器的控制接口为P2.4接口,当P2.4为低电平的时候,蜂鸣器开始工作
图3-8蜂鸣器报警仿真图
3.4.5时钟模块
由于本系统集成了时钟系统,所以就需要有一个时钟处理模块。
由于1302时钟芯片具有一年不差一秒的很好的工作稳定性,本系统的时钟模块以1302为工作核心,并配以键盘来对时钟进行调整,
图3-9时钟模块仿真图
图3-10按键仿真图
本模块中以P1.0作为数据的输入端口,以P1.1作为时钟信号的入端口。
P3.3
P3.4,P3.5作为按键控制端来对时钟进行操作。
第4章系统的软件程序设计
本系统程序采用单片机C语言编写,单片机C语言与汇编语言相比,具有很大的优点。
1.语言简洁、紧凑,使用方便、灵活
2.运算符丰富
3.数据结构丰富。
具有现代化语言的各种数据结构。
4.可进行结构化程序设计。
5.可以直接对计算机硬件进行操作。
6.生成的目标代码质量高,程序执行效率高。
7.可移植性好。
4.1总体模块介绍
本系统程序部分由温度处理模块,键盘扫描模块,显示模块,报警模块组成,由于C语言编写的程序最大优点是可以模块化,所以在此将各个模块进行一一介绍。
程序总模块:
执行顺序
◆开始
◆中断初始化
◆液晶初始化
◆1302初始化
◆读取温度
◆判断温度
◆显示温度
◆读取时间
◆显示时间
◆重新开始
注:
本程序使用while死循环,即程序循环体重复执行,也就实现了重复读取数据,重复显示数据的目的。
程序过程如下:
Main()
While
(1)
{
读取温度,同时定时中断;
显示温度;
读取时间;
显示时间;
}
主程序模块流程图如图所示:
图4-1
4.2各个模块分别介绍
4.2.1温度处理模块简介:
温度处理模块的工作过程为传感器先给单片机传输数据,然后单片机判断温度标志位,如果标志位为1,说明传感器采集的为负温度,主函数则调用负温度处理函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 单片机 温度 报警 系统