摘要
本设计以传感器和单片机作为烟雾报警器设计的核心器件,配合其它器件即可实现烟雾浓度显示、报警值设置、声光报警等功能。设计中单片机选用STC89C52作为控制器件,传感器选用MQ-2型气体传感器实现对烟雾的检测。烟雾报警器主要由烟雾信号采集及模数转换电路、单片机控制电路、显示电路、声光报警电路和电源电路构成。设计合理、简单易懂、价格低廉,使单片机在烟雾报警系统的控制中得到充分应用,具有一定的实用价值。
关键词:烟雾报警器;STC89C52;传感器
目录
1 系统总体设计
1.1 系统概述
整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着单片机最小系统展开。烟雾采集传感器选用MQ-2,由于该传感器输出的是模拟信号,因此需要模数转换芯片ADC0832,把模拟信号转为数字信号再传给单片机;显示设备使用1602液晶,可以在屏幕上显示实时浓度、报警浓度等信息;本设计还有2个按键作为操作输入设备,可以用来调节报警浓度的大小;报警模块则采用蜂鸣器和红色的LED灯,提供声光报警功能;最后是供电采用常用的USB接口5V进行供电。
1.2 系统框图
图1-1 系统框图
2 各部分电路简介
2.1 最小系统电路
STC89C52的最小系统如下图所示,整个最小系统由三个部分组成,晶振电路部分、复位电路部分、电源电路等三个部分组成。
晶振电路包括2个30pF的电容C2和C3,以及12M的晶振X1。电容的作用在这里是起振作用,帮助晶振更容易的起振,取值范围是15-33pF。晶振的取值也可以是24M,晶振的取值越高,单片机的执行速度越快。在进行电路设计的时候,晶振部分越靠近单片机越好。
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。复位电路由10uF的极性电容C1和10K的电阻R4构成。利用电容电压不能突变的性质,可以知道,当系统一上电,RESET脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RESET脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠的复位。
最后一个是电源部分,采用5V的USB直接供电,可采用手机充电器、电脑USB口、移动电源等设备进行供电。
此外,除了单片机最小系统的3个部分之外,这里还多了一些外部电路。由于STC89C52的P0口是漏极开路输出,因此在P0口接了一个10K的排阻R1,使得P0口可以作为普通的I/O口使用,本设计用P0口来做液晶的数据口。
图2-1 单片机最小系统模块图
2.2 液晶显示模块
液晶模块的电路的连接如下图所示,第1脚和第2脚分别接到了电路的GND和VCC,这2个脚是液晶工作的电源输入脚。第3脚通过一个10K的电位器连接到地端,可通过调节该电位器来调节液晶的对比度。第4脚是液晶的寄存器控制脚,接到了单片机的P27脚上。第5脚是液晶的读写控制脚,接到了单片机的P26脚上。第6脚是液晶的使能脚,接到了单片机的P25脚上。第7脚到第14脚是液晶的数据/地址8位总线,接到了单片机的P0口上。最后第15脚和第16脚是液晶的背光电源脚,直接连接系统VCC和GND。
图2-2 液晶显示模块图
2.3 烟雾检测模块
烟雾检测模块的电路如下图所示,由于MQ-2输出的是模拟量,因此需要把检测结果通过芯片ADC0832转换为数字量,再传给单片机进行处理。ADC0832是NS(National Semiconductor)公司生产的串行接口8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式的智能仪器仪表中使用。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
图2-3 烟雾检测模块图
2.4 按键输入模块
键盘是人与单片机打交道的主要设备。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态。
图2-4 按键输入模块
2.5 报警模块
本设计不但具有烟雾浓度检测功能,还具有报警功能。可以给本系统设定一个报警值,当测量到的结果大于报警值时,蜂鸣器鸣叫,LED灯亮起,达到声光报警的功能。
2.6 蜂鸣器报警电路
蜂鸣器电路如下图所示。由于蜂鸣器工作时,需要的电流比较大,单片机的IO口输出的电流又比较小,所以这里利用三极管的开关管功能来控制蜂鸣器发音,本设计选用的三极管型号是PNP三极管S8550,而且本设计选用的蜂鸣器属于有源蜂鸣器,即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序的设计。由于选用的是PNP型而单片机上电IO口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。
图2-5 蜂鸣器模块图
附录
附录1 元件清单
STC89C52 | 1片 |
单片机座子 | 1个 |
12M晶振 | 1个 |
30pF独石电容 | 2个 |
电解电容10uF | 1个 |
电阻1K | 3个 |
电阻10K | 1个 |
排阻10K | 1片 |
轻触开关 | 2个 |
1602液晶 | 1个 |
1602液晶座子 | 1个 |
10K电位器 | 1个 |
ADC0832 | 1个 |
ADC0832座子 | 1个 |
MQ-2 | 1个 |
MQ-2座子 | 1个 |
红led | 1个 |
有源蜂鸣器 | 1个 |
S8550(PNP)三极管 | 1个 |
电源开关 | 1个 |
电源座 | 1个 |
9*15洞洞板 | 1张 |
导线 | 若干 |
电源线 | 1根 |