1、Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo基于 PIC16F676 单片机的点型光电感烟探测器设计摘要:介绍了点型光电感烟探测器的工作原理,阐述了 PIC16F676单片机的特殊功能,同时给出了该功能在探测器设计中的应用方法,最后给出了基于PIC16F676单片机设计的探测器的硬件构成和软件程序。 关键词:单片机(微控制器);点型光电感烟探测器;PIC16F676火灾是人类面临的最大威胁之一,火灾探测对防御火灾具有举足轻重的作用。光电感烟探测器是目前消防中使用的主要探测器之一。光电感烟探测器分为两大类:其中“线型
2、光电感烟”是利用烟雾对光束能量的衰减原理制成的光电感烟探测器,该探测器正常工作需要比较长的空间距离,所以称之为“线型”,否则,烟雾对光束能量的衰减太小不能获取足够的报警信息;“点型光电感烟”是利用烟雾对光束的散射原理制作的光电感烟探测器,该探测器总体积不超过,所以称之为“点型”。本文主要介绍基于单片机的点型光电感烟探测器的设计方法。 点型光电感烟原理点型光电感烟探测器是“主动”式探测器,其工作原理见图。没有烟雾时,由于光学迷宫的特殊设计(即红外发光二极管与光电接收三极管的轴向夹Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光
3、seo角成钝角等等),光电接收三极管不能直接接收到红外发光二极管(在火灾报警领域主要采用红外波段,波长在左右)发射的光信号,当有火灾发生时,烟雾扩散到探测器的迷宫之内会对红外发光二极管的发射光产生散射,从而使光电接收二极管能够接收到散射光信号,光信号的大小标志着烟雾浓度,也标志着火灾燃烧的程度。光学迷宫的主要功能是阻止外部的杂散光进入光电接收二极管的探测领域,吸收内部杂散光信号以降低本底,同时保证烟雾的通畅进入。总之,光学迷宫的作用是保证没有烟雾进入迷宫时放大器的输出信号(本底信号)最小,而当有烟雾进入迷宫时,光电接收二极管能接收到足够的被烟雾散射的光信号,然后经过放大和识别以形成报警信号。
4、PIF16F676 单片机的模数转换单片机有个模数转换输入通道,共用一套采样、保持、模数转换电路。其中模数转换电路负责把模拟信号转换成位数字信号。与模数转换模块相关的寄存器主要有、-、。寄存器的位定义及其相应功能简介见表。如果模数转换的时钟源采用内部晶振,则该模数转换电路还可以工作在单片机的睡眠模式。表 1 与模数转换模块相关的主要寄存器寄存器名称 寄存器位定义 寄存器位功能简介 BIT7( ADFM) 规定模数转换生成的 10 位二进制数据的保存方式 BIT6( VCFG) 规定模数转换采用的参考电压 BIT5(未用) 模数转换控制寄存器 0BIT4( CHS2)BIT3( CHS1)BIT
5、4BIT2 联合起来规定模数转换的通道选择,因为 PIC16F676 共有 8 个模数转换输入通Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seoADCON0 BIT2( CHS0) 道 BIT1(GO/DOWN) 标志着模数转换是否完成 BIT0(ADON) 模数转换正在进行还是被关掉 BIT6(ADCS2) 模数转换控制寄存器 1ADCON1 BIT5(ADCS1) BIT4( ADCS0) BIT6BIT3 联合起来规定模数转换模块采用的时钟 其它数据位 未用 模拟输入选择寄存器 ABSEL 所有数据位 因为 PI
6、C16F676 共有 8 个模数转换输入通道,该通道还可以用作普通的 I/O 口,该寄存器用于设定管脚如何使用 模数转换结果存储寄存器ADRESH、ADRESL 所有数据位 两个寄存器联合存储最终转换生成的 10 位二进制数据 假设对模数转换模块的使用要求是:放大信号由模拟输入通道管脚()输入;模数转换生成的位二进制数据从寄存器的最高位开始存放;模数转换模块采用的参考电压是单片机工作电压,采用的时钟取自内部晶振;则寄存器的部分设置程序如下:;以下句对模数转换模块相关寄存器进行初始化 ; ; ;Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw
7、.org 寿光 seo ; ; ;以下是模数转换模块完成一个完整的模数转换所采用的程序片断: ,;以下句完成模拟数据的采样延时 _ , _;以下句监测模数转换过程的完成与否 ,_;启动模数转换 ,_ Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo , ;关闭模数转换 探测器与总线的接口该探测器与总线的接口包括编码输入电路和回执输出电路。 编码输入电路编码输入电路是总线与探测器的接口,用于把总线编码的电平幅度(一般)降低到适合单片机输入的要求(一般)。由于输入编码信号经过远距离长线传输后,部分信号会发生畸变。故应用编码
8、输入电路对总线编码信号进行滤波,以消除总线干扰,同时可利用比较器电路对输入编码信号做整形。一般情况下,为了降低成本,该比较器可用分离元件搭建,而单片机内部恰好集成了一个功能强大的比较器,该比较器的正向Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo输入是单片机的管脚(), 反向输入为单片机的管脚(),输出是管脚()。与此比较器相关的寄存器有和,具体功能参见表。表 2 与比较器模拟相关的关键性寄存器寄存器名称 寄存器位定义 寄存器位功能简介 BIT7(未用 BIT6(COUT) 比较器的输出位,该位数值就是比较器的输出结
9、果 BIT5(未用)BIT4(CINV) 控制比较器的输出结果是否反向 BIT3(CIS) 控制输入信号是从 RA1(CIN1)还是RA0(CIN+ )输入 BIT2(CM2) BIT1(CM1) BIT2BIT0 联合控制八种比较器 I/O 口工作模式的选择 比较器控制寄存器CMCON BIT0(CM0) BIT7(VREN) 参考电压启动控制位 BIT6(未用)比较器参考电压控制器 VRCON BIT5(VRE 参考电压范围选择控制位 Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seoN) BIT4(未用)BIT3(
10、 VR3) BIT2( VR2) BIT1( VR1) BIT0( VR0) BIT3BIT0 联合控制参考电压的具体设置 如果对比较器的使用要求是:模拟信号由单片机管脚(连接比较器的负向)输入;参考电压选自片内参考电压(参考电压设定为)(连接比较器的正向);比较器的输出结果不反向(即比较器正向输入大于负向输入则比较器输出高电平,反之输出低电平),则此与比较器相关的寄存器、设置程序如下: ;选择比较器模式 ;选择参考电压(其十进制是) 图是该比较器的电路原理(包括比较器的参考电压形成部分)框图。 回执输出电路Author:http:/www.5dw.org 青州 seoAuthor:http:
11、/www.5dw.org 寿光 seo回执输出电路用于把探测到的代表烟雾浓度的数字信号通过总线回送到控制器。单片机信号一般为,总线上的信号大于。回执输出电路必须进行电平转换,并使信号有足够的总线驱动能力。 探测器的地址读写火灾报警控制器通过总线上的地址编码来识别各个探测器。以往探测器的编码是依靠机械式拨码开关实现的。由于拨码开关寿命短、易损坏而且成本较高,因此现在多采用串行来存储探测器地址。同时,探测器工作过程中的其它重要数据也需要存储保留,所以更有必要使用串行-。而单片机本身恰好内置有字节的串行,因此使用有助于简化电路设计、降低成本。与片内串行有关的寄存器主要有、(不是一个物理可用的寄存器)
12、。其具体功能见表所列。表 3 与 PIC16F676内置 EEPROM相关的寄存器寄存器名称 寄存器位定义 寄存器位功能简介 EEPROM 数据寄存器EEDAT 所有数据位 用于暂时存储操作的目标数据 EEPROM 地址寄存器 所有数据位(7 位) 用于暂时存储目标数据的地Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seoEEADR 址 BIT7BIT4 (未用)BIT3(WRERR) 写操作完毕还是被复位行为中断 BIT2(WREN) 允许还是禁止写周期 BIT1(WR) 启动还是禁止写过程 EEPROM 控制寄存器E
13、ECON1 BIT0(RD) 启动还是禁止读过程 因为片内的最大空间是字节,所以寄存器仅使用到前位,最高位不用。其中用于实现对串行的具体操作命令。下面是部分读取地址的操作程序: 与串行有关的寄存器全部在数据存储器的第一分区中 ;假如内置的地址用于存储探头地址 ;启动“读”命令 , ;假如数据寄存器用于暂时存储读出的地址数据存储地址的操作程序片断举例: , ; ;假如内置的地址用于存储探头地址Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo ; ;假如探头地址为“” ; , ; , ; 启动“写”的使能命令 , ;暂时关
14、闭全局中断以执行下列句命令;以下句相当重要并且必要,否则“写操作”不能初始化。;在执行下列句的过程中产生周期计数,任何不等于该计数的的数目将阻止数据写入片内Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo ; ; ; ; , ;启动“写”命令 以上句相当重要并且必要,否则“写操作”不能初始化。 , ; 打开全局中断 , ; 完成“写操作”之后关闭“写”的使能命令 基于 PIF16F676的感烟探测器图是采用单片机设计的光电烟探测器的硬件结构框图。图是该光电感烟探测器的工作程序框图。表简要注解了图所示的程序流程图中所使用
15、的程序模块的具体功能。表 4 程序流程图中程序模块的功能定义程序模块名称 程序模块完成的功能 模块 1 完成对主机发出的编码信号的解码 模块 2 驱动发光电路、放大电路 模块 3 对光点二极管的放大输出信号进行模数转换、抗干扰处理 模块 4 对主机输出回答信号 模块 5 点亮探测器指示灯 Author:http:/www.5dw.org 青州 seoAuthor:http:/www.5dw.org 寿光 seo模块 6 熄灭探测器指示灯 结束语本文详细介绍了基于的点型光电感烟探测器的设计原理和方法,重点介绍了单片机的转换功能及其在探测器设计中的应用方法和程序,最后给出了探测器的系统硬件及软件设计流程。该光电感烟探测器不仅功耗很低、设计简单,同时利用单片机有助于探测器的智能化探测。