来源:中国一卡通网 作者:不详 发布时间:2012-06-11 09:07:12 字体:[大 中 小]
摘 要:为了实现对重大安全场所无线自动报警和监控,根据热释电红外传感的基本原理,设计并实现了一种接收移动人体辐射出得红外线检测仪,该检测仪以ATmega16单片机为控制中心,融合了无线通信技术和信号检测技术等,通过无线收发模块与控制器通信,控制器通过RS-485与控制计算机连接,整个系统组成无线网络,实现多路无线声光报警和远程监控。另外该系统还设计了显示模块方便数据的读取分析。其设计具有实时性强,可靠性高,成本低,维护方便等优点。
图7 电源电路原理图
3 软件设计
系统软件设计主要是AVR单片机程序设计,由主程序和各种功能块子程序组成,包括LCD显示程序、外部中断服务程序、定时器中断程序等,具有结构清晰,调整改进容易的特点。该系统主要由C程序实现系统控制功能,实现系统初始化、控制功能设置和报警模式设置等,完成自动检测控制和报警任务。当热释电红外传感器检测到报警信号,无线编码发射系统开始工作,对地址信号和数据信号进行编码发射。无线接收系统接收到信号时,就对信号进行解调并将解调的信号输入到解码集成电路,若地址信号完全相符,则单片机外部中断被触发,在中断服务程序中读取报警信号并设置中断标志位,同时在12864上显示,蜂鸣器发出警报声,发光管闪烁,单片机把接收的数据通过RS-485传输给中心控制计算机。接收系统的主程序流程图如图8所示。
图8 主程序流程图
3.1 LCD显示程序设计
系统上电后,首先需要对液晶初始化,12864显示器分两行,初始化时,第一行显示"采集数据:单次",第二行显示"控制命令:等待".当下位机单次数据采集时,第一行显示单次采集的数据;当下位机连续采集数据时,12864显示的采集的数据;第二行显示PC机发出的命令,当PC机没有发送命令时,显示"等待";当PC机发送命令后,显示"命令".可以直接使用MCU的总线方式读写液晶或者间接使用I/O软件模拟LCD时序对液晶进行读写,本设计采用间接的方式,首先ATmega16对系统进行初始化,设置I/O的状态,再初始化液晶,对液晶的显示功能设置,通过写命令控制写入数据地址。其流程图如图9所示。
图9 12864控制流程图
无线接收系统通过接收到的报警信号,将报警序号实时显示在12864上,如果有多个报警数据,则需要循环显示报警点序号,因此需要动态更新12864上显示的数据。其流程图如图10所示。
图10 动态修改显示流程图
3.2 外部中断服务程序设计
系统外部中断触发方式选用边沿触发方式检测无线接收系统是否接收到报警信号,这种触发方式如果相继两次采样,一个周期采样为高,下个周期采用为低,则置"1"中断申请触发器,直到CPU响应此中断才清零。这样不会丢失中断,但输入的负脉冲宽度至少需要保持12个时钟周期,才能被CPU采样到。当无线接收系统接收到报警数据时,单片机的外部中断0产生外部中断,接收报警数据,并关闭外部中断0同时启动定时器1开始计数,2 s后重新开外部中断0,以接收下次的报警数据。中断服务子程序流程图如图11所示。
图11 中断服务子程序
3.3 定时中断服务程序设计
本系统采用8 MHz的时钟晶振,定时器1作为外部中断响应报警数据的时间间隔计数器,避免一次报警信号使单片机产生多次中断。定时器1是16为计数器初值为3CAFH,中断5次后,开外部中断。
定时器0作为声光报警电路的脉冲发生控制器,设置初值为06H,每中断500次,控制单片机的P4和P5口改变输出电平状态,即声光报警电路发出周期为1 s的声光报警信号。定时器0和定时器1的中断子程序如图12所示。
图12 定时器中断子程序
4 结束语
本系统根据红外热释电传感器原理,完成了多路无线安防系统的软硬件开发。系统能够完成15路报警点的报警信息,并且使用液晶显示器循环显示报警序号,通过发光二级管和蜂鸣器进行声光报警,同时把得到的数据传输给上位机。系统具有易于操作维护、很强的实时性等优点,系统还可以对电磁干扰方面进行改进,使用单片机内部晶振可以减小系统本身的电磁干扰。
推荐文章
论坛热帖