基于stc89c52单片机的煤气检测报警系统设计内容摘要:

2)时 钟电路引脚 XTAL1 和 XTAL2 XTAL2(18 脚 ):接外部晶体和微调电容的一端。 在单片机内部它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。 若需采用外部时针电路时,该引脚输入外时钟脉冲。 要检查 89C52 的振荡电路是否正常工作,可用示波器查看 XTAL2 端是否有脉冲信号输出。 XTAL1(19 脚 ):接外部晶体和微调电容的另一端。 在片内,它是振荡电路反向放大器的输入端。 在采用外部时钟时,该引脚必须接地。 3)控制信号脚 RST ALE PSEN 和 EA。 RST(9 脚 ): RST 是复位信号输入端,高电平有效。 在此输入端保持两个机器周期 (24 个时钟振荡周期 )的高电平时,就可以完成复位操作。 ALE/PROG( 30 引脚):地址锁存允许信号端。 当 STC89C52 上电正常工作后, ALE 引脚不断向外输出正脉冲信号。 此频率为振荡器频率 fosc的 1/6,当 CPU 访问片外存储器时, ALE 输出信号作为锁存低 8位地址的控制信号。 在 CPU 访问片外数据存储时,每取值一次(一个机器周期)会丢失一个脉冲。 平时不访问片外存储时, ALE 端也以 1/6 的振荡频率固定输出正脉冲,因而 ALE 信 号可以用作对外输出时钟或定时信号。 如果你想看一下 STC89C52 芯片的好坏,可用示波器查看 ALE 端是否有脉冲信号输 14 14 出,如有脉冲信号输出,则 STC89C52 基本上是好的。 ALE 的负载驱动能力为 8 个 LS 型 TTL(低功耗高速 TTL)。 PSEN( 29 脚);程序存储允许输出信号引脚,在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。 此引脚接 ERROM的 OE 端。 PSEN 端有效,即允许读出 ERROM/ROM 中的指令码。 CPU 在从外部 ERROM/ROM 取指令期间,每个周期 PSEN 两次有效。 不 过,在访问片外RAM 时,要少产生两次 PSEN 负脉冲信号。 要检查一个 STC89C52 小系统上电后 CPU 能否正常到 ERROM/ROM 中读取指令码,也可用于示波器看 PSEN端有无脉冲输出。 如有,说明基本上工作正常。 EA/VPP( 31 脚):外部程序存储器地址允许输入端 /固化编程电压输入端。 当 EA 引脚接高电平时, CPU 只访问片内 ERROM/ROM 并执行内部程序存储器中的指令。 但在 PC(程序计数器)的值超过 OFFFH(对 8751/8051为 4k)时,将自动转向执行片外存储器的程序。 当出入信号 EA 引脚接低电平(接地)时, CPU 只访问外部 ERROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。 对于无芯片内的 ROM的 8031或 8032,须外扩 ERROM,此时必须将 EA 引脚接地。 如果使用有片内 ROM 的 AT89C52,外扩 ERROM 也是可以的,但也要使 EA 接地。 4)I/O(输入 /输出端口, P0, P1, P2, P3) P0 口: P0 口是一个漏极开路的 8 位准双向 I/O 端口。 P1 口: 8 位准双向 I/O 端口。 P2 口:即可以做地址总线输出地址高 8 位,也可以做普通 I/O 用,(此时为准双向口)。 P3 口:双功 能口,即可以做普通 I/O 口用(此时为准向口,也可以按每位定义实现第二功能操作)。 见表 2。 表 2 P3 口的第二功能表 引脚 第二功能 RXD (串行输入口) TXD (串行输出口) INT0(外部中断 0) INT1(外部中断 1) 15 15 T0(定时器 0 外部中断) T1(定时器 1 外部中断) WR(外部存储器写选通) RD(外部存储器读写通) 3 系统的硬件电路 单片机最小系统 要使单片机工作起来最 基本的电路构成为单片机最小系统如图 4 示。 12345678RST9(RXD)10(TXD)11(INT0)12(INT1)13(T0)14(T1)15(WR)16(RD)17XTAL218XTAL119GND202122232425262728PSEN29ALE/PROG30EA/VPP313233343536373839VCC40U1U1Y112MC2 C3 VCCGNDR1510KC1 10uFVCC1234J1VCCS1P10P11P12P13P14P15P16P17P20P21P22P34P35P36P23P24P25P26P27P32P33 图 4 信号处理模块 单片机最小系统包括单片机、复位电路、时钟电路构成。 STC89C52 单片机的工作电压范围: ,所以通常给单片机外界5V 直流电源。 连接方式为单片机中的 40 脚 VCC 接正极 5V,而 20 脚 VSS接电源地端。 复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。 单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。 当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程 序自动从头开始执行。 一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在 RESET 端持续给出 2 个机器 16 16 周期的高电平时就可以完成复位操作。 本设计采用的是外部手动按键复位电路,需要接上上拉电阻来提高输出高电平的值。 时钟电路好比单片机的心脏,它控制着单片机的工作节奏。 时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。 XTAL1 和 XTAL2 分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。 如采用外部时钟源驱动器件, XTAL2 应不接。 因为一个机器周期 含有 6 个状态周期,而每个状态周期为 2 个振荡周期,所以一个机器周期共有 12 个振荡周期,如果外接石英晶体振荡器的振荡频率为 12MHZ,一个振荡周期为 1/12us。 单片机的时钟电路与复位电路设计 本系统采用 STC 系统列单片机,相比其他系列单片机具有很多优点。 一般 STC 单片机资源比其他单片机要多,而且执行速度快; STC 系列单片机使用串口对单片机进行烧写 ,下载程序较为方便; STC89C52 单片机内部集成了看门狗电路;且具有很强抗干扰能力。 本系统采用内部方式的时钟电路和加电自复位的复位电路,如下 图 5图 6所示: 12XTAL30pFC130pFC2GND10uFCRST10KR1VCC GNDResX1X2 图 5 时钟电路 图 6 复位电路 由于单片机 P0 口内部不含上拉电阻,为高阻态,不能正常地输出高 /低电平,因而该组 I/O 口在使用时必须外接上拉电阻。 17 17 煤气检测 AD 采集电路 煤气检测采用 MQ9 传感器。 经过 ADC0832 采集后就可以得到各种烟雾浓度下的电压值。 从而设定出理想的烟雾强度报警值。 电路如图 6所示 CS1CH02CH13GND4DI5DO6CLK7VCC81ADC0832GNDVCCP34P33P32123 456U2VCCR175GNDR141Kyinwuyinwu 图 6 烟雾浓度采集电路 AD 采集芯片 ADC0832 介绍 ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。 由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎, 其目前已经有很高的普及率。 学习并使用 ADC0832 可是使我们了解 A/D 转换器的原理,有助于我们单片机技术水平的提高。 ADC0832 具有以下特点: * 8 位分辨率; * 双通道 A/D 转换; * 输入输出电平与 TTL/CMOS 相兼容; * 5V 电源供电时输入电压在 0~5V 之间; * 工作频率为 250KHZ,转换时间为 32μ S; * 一般功耗仅为 15mW; 18 18 * 8P、 14P— DIP( 双列直插)、 PICC 多种封装; * 商用级芯片温宽为 0176。 C to +70176。 C,工业级芯片温宽为 −40176。 C to +85176。 C; 图 7 ADC0832引脚图 ADC0832的引脚说明如图 6: 1) CS_—— 片选使能,低电平芯片使能。 2) CH0—— 模拟输入通道 0,或作为 IN+/使用。 3) CH1—— 模拟输入通道 1,或作为 IN+/使用。 4) GND—— 芯片参考 0 电位(地)。 5) DI—— 数据信号输入,选择通道控制。 6) DO—— 数据信号输出,转换数据输出。 7) CLK— — 芯片时钟输入。 8) Vcc/REF—— 电源输入及参考电压输入(复用)。 ADC0832的操作: ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟 19 19 电压输入在 0~5V 之间。 芯片转换时间仅为 32μ S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使 多器件挂接和处理器控制变的更加方便。 通过 DI 数据输入端,可以轻易的实现 通道功能的选择。 显示模块 显示采用数码管显示,显示电路如图 8 图 8 数码管显示 声音报警电路 电路通过三极管基极串连一个电阻与单片机 端口连接从而达到控制蜂鸣器是否报警。 电路如图 9所示。 20 20 图 9 声音报警电路图 按键控制电路 本电路设计了四个按键,一个设置键、一个加键、一个减键、一个紧急报警键,当遇到紧急情况时,可按下紧急报警键,蜂鸣器进行报警。 如图 10 所示 图 10 消音按键连接电路图 21 21 电源模块 由于本系 统采用电池供电,我们考虑了如下几种方案为系统供电。 方案 1: 采用 5V 蓄电池为系统供电。 蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。 但是蓄电池的体积过于庞大,在报警器上使用极为不方便。 因此我们放弃了此方案。 方案 2: 采用 4节 V 干电池共 做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。 综上所述采用方案 2 电源接口电路如图 10,其中 P1 为电池接口, SW1 为电源开关。 D1 为电源指示灯。 图 11 电源接口电路 22 22 4 系 统软件的设计 系统主程序设计及流程图 主程序流程图如下图 12 所示。 首先要给传感器预热 ,因为 MQ型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。 程序初始化结束后,系统进入监控状态。 图 12 主程序流程图 在整个报警系统工作中,煤气浓度信息经 ADC0832 转换处理后,由单片机进行分 析处理,判断系统是否启动报警。 主程序还包括 LED 八段式数码管浓度字符显示功能、手动报警功能、报警浓度设定功能,中断子程序等,使报警器功能更加完善,给用户带来便利。 MQ9 煤气气体检测 信号采集 ADC0832 信号转换 将转换的数据送到单片机 数据处理 译码显示模块 报警 报警 煤气浓度超过设定值 23 23 5 硬件调试及调试中遇到的问题 第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。 检查它是否有虚焊、是否有毛剌等。 第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看它们的通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。