基于STC89C52的室内火气安全检测装置资料Word格式文档下载.docx
《基于STC89C52的室内火气安全检测装置资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于STC89C52的室内火气安全检测装置资料Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
类型
型号
数量
单片机
STC89C52RC(40脚DIP封装)
1
温度传感器
DS18B20(DIP封装)
运算放大器
LM358
烟雾传感器
MQ-2
底座
DIP40
DIP8
数码管
共阳3连体
三极管
8550
8
晶振
12MHZ
电容
30PF
4
22UF
2
电阻
10K、
10
1K
4.7K
470
电位器
103、102
各2个
按键
轻触按键
蜂鸣器
5V蜂鸣器
发光二极管
红,绿色
6
排针
20个
排线
20根
万能板
《基于STC89C52的室内火、气安全检测装置》
系统设计与实践总结报告
一.系统设计目标
1.使用温度传感器和烟雾传感器把环境温度和烟雾的浓度情况检测出来,显示温度。
2.设置温度上下限报警,烟雾报警:
利用发光二极管,蜂鸣器等报警
二.系统总体方案设计
三.系统详细设计
3.1单片机最小系统
89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:
4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。
STC89C52管脚功能图
引脚说明:
·
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。
当对0端口写入1时,可以作为高阻抗输入端使用。
当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。
在这种模式下,P0口具有内部上拉电阻。
在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。
程序校验时需要外接上拉电阻。
P1口:
P1口是一带有内部上拉电阻的8位双向I/O口。
P1口的输出缓冲能接受或输出4个TTL逻辑门电路。
当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。
当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。
P2口:
P2是一带有内部上拉电阻的8位双向的I/O端口。
P2口的输出缓冲能驱动4个TTL逻辑门电路。
当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。
在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。
当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄存器的内容。
当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。
P3口:
P3是一带有内部上拉电阻的8位双向的I/O端口。
P3口的输出缓冲能驱动4个TTL逻辑门电路。
当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
P3口同时具有AT89C51的多种特殊功能,具体如下表1所示:
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0)
P3.5
T1(定时器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器都选通)
表1P3口的第二功能
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。
ALE/:
当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。
当在Flash编程时还可以作为编程脉冲输出()。
一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。
但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。
:
程序存储允许时外部程序存储器的读选通信号。
当AT89C52执行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。
/VPP:
外部访问允许。
为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,必须同GND相连接。
需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。
当执行内部编程指令时,应该接到VCC端。
XTAL1:
振荡器反相放大器以及内部时钟电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
在本次设计中,采用89C51作为CPU处理器,充分利用其硬件资源,结合D触发器CD4013,分频器CD4060,模拟转换开关CD4051,计数器74LS90等数字处理芯片,主要控制两大硬件模块,量程切换以及显示模块。
下面还将详细说明。
3.2气体检测模块
气体传感器MQ-2
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。
这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。
MQ-2气敏元件的结构和外形如图3-2-1所示(结构A或B),由微型Al2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。
封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。
基本电路如图3-2-2。
图3-2-1结构和外形
图3-2-2MQ-2基本电路
信号调理及放大整形模块,LM358芯片LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
特性:
内部频率补偿;
直流电压增益高(约100dB);
单位增益频带宽(约1MHz);
电源电压范围宽:
单电源(3—30V);
双电源(±
1.5一±
15V);
低功耗电流,适合于电池供电,低输入偏流,低输入失调电压和失调电流;
共模输入电压范围宽,包括接地;
差模输入电压范围宽,等于电源电压范围;
输出电压摆幅大(0至Vcc-1.5V)。
图3-2-3LM358
3.3温度检测模块
DS18B20工作原理
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3-3-1所示。
图3-3-1DS18B20内部结构图
64位ROM的位结构如图3-3-2所示。
开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
非易失性温度报警器触发器TH和TL,可通过软件写入户报警上下限。
图3-3-264位ROM结构图
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3-3-3所示。
头2个字节包含测得的温度信息,第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。
该字节各位的定义热图3-3-4所示。
低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要改动,R1和R0决定温度转换得精度位数,即用来设置分辨率。
图3-3-3高速暂存RAM结构图
图3-3-4配置寄存器
由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要,系统对DS18B20的各种操作必须按协议进行.操作协议为:
初始化DS18B20→发ROM功能命令→发存储器操作命令→处理数据.
图3-3-5DS18B20测温原理图
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源.另一种是寄生电源供电方式,如图3-3-6所示.单片机端口接单线总线,为为保证有效DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉.
图3-3-6DS18B20采用寄生电源的电路图
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us.采用寄生电源供电方式时Vdd和GND端均接地.由于单线制只有一根线,因此发送接口必须是三态的
3.4数码管驱动模块(电路图,描述)
图3-4数码管驱动模块电路图
3.5按键部分设计
图3-5按键部分电路图
3.6总的电路图
图3-6电路原理图
四.软件设计
4.1主程序流程图
图4.1主程序流程图
4.2按键子程序流程图
图4.2按键子程序流程图
六.参考文献
主要参考文献:
[1]周立功.ARM&
WinCE实践与实验:
基于S3C2410[M]北京:
北京航空航天大学出版社,2007.
[2]李朝青.PC机及单片机数据通信技术[M].北京:
北京航空航天大学出版社,2000
[3]马春华,于莉莉.SMS方式远程监控软件的设计与实现[J].广东通信技术,2003,23(4):
39-41.
[4]肖冬荣,殷传军.鲁棒GMC控制及其工程应用[J]微计算机信息2007,30(3):
21-23
附录:
(1)main.c
#include<
reg52.h>
#include"
DS18B20.h"
keyscan.h"
#defineuintunsignedint
#defineucharunsignedchar
externucharflag;
sbitYanwu=P0^0;
sbitWarn=P1^4;
ucharcode
num[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xc6,0xc7,0x89};
uchardisbuf[3