内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体






基于热释电红外传感器的无线监控报警(2)

时间:2009-07-13 来源:电子产品世界 作者:陈晓亮 点击:

    MT8880的D0~D3口分别接8255的PA0~PA3口,CLK2接PA4口,R/W接PA5口,RSO接PA6口,CS接PA7口,IRQ接主控电路处理器89C51的T0口,用来记录各种脉冲的个数。来自语音电路的信号经过R44送到电话线上去。继电器K用来控制摘挂机,晶体管的B极接主控电路处理器89C51的P1.2口,当P1.2为“1”时,V2导通,继电器K闭合,电话接通,当P1.2为“0”时,V2截止,电话挂机。

    主控电路处理器89C51的P0口分别接8255的D0~D7口和74HC373的D0~D7口,74HC373的Q0和Q1分别接8255的A0和A1,89C51的P2.5、P2.6、P2.7分别接74HC138的A、B、C口,74HC138的YO接8255的CS端。

软件设计
1、信号音的识别方法
    系统在巡检到警情信号后就模拟摘机。为了识别模拟摘机后电话系统是否处于可拨号的状态、电话拨完号码后电话是否接通以及对方是否摘机接听电话等几种状态,系统必须进行信号音的识别。为了识别信号音,必须知道各种信号音的特性。各种信号音特性如下。

●拨号音:450±25Hz连续蜂音。
●忙音:0.35s断0.35s通的450±25Hz蜂音,音段周期为0.7s。
●回铃音:4s断ls通的450±25Hz蜂音,音段周期为5s。

    这些电话信号均是模拟信号,然而单片机是无法识别模拟信号的,故必须先将模拟信号转换为脉冲信号,然后再根据脉冲信号的脉冲个数进行识别。这些电话音频信号的脉冲个数计算公式为N=tm/T。其中,N为每音段周期的脉冲个数;T为电话音频信号的音频周期,单位为s;tm为信号音段周期的导通时间,单位为s。

    在实际使用中,主要需要识别拨号音、忙音和回铃音。分析这3种信号的特性可以看出,在一定的计数时间内,其脉冲个数是不一样的。在本设计中采用2s计数判断拨号音,采用2.8s(即4个忙音周期)判断是否为忙音。随后采用ls为一个计数单元,采用计五次后的累加脉冲数来判断对方是否接听电话。若有,则放相应的报警提示语音;否则再计ls,然后计算最后5s内的脉冲数,再次判断对方是否摘机。如此反复。直到超过等待时间仍没有人接听电话就挂机。由于干扰和一些其他因素的存在,难免会有误判的现象而导致漏报警情。因此采取在所有预先设定的电话至少有一个拨通就只拨一遍。如果全部投拨通或者没人接听则把所有预存电话重拨一遍,这样漏报报警的概率就非常低以致可忽略不计。

2、软件流程图及拨号程序
自动拨号程序的流程图如图4所示。

图4:自动拨号程序流程图

3、编程过程中应注意的几点
    首先,MT8880的DTMF产生器是发送部分的主体,它产生全部16种失真小、精度高的标准双音频信号,这些频率均由3.579545MHz晶体振荡器分频产生。电路由数字频率合成器、行/列可编程分频器、开关电容式D/A变换器组成。行和列单音正弦波经混合、滤波后产生双音频信号。通过DTMF编解码表把编码数据写入MT8880发送寄存器产生单独的fLOW和fHIGH,一旦编码错误就会导致拨号失败.故在编程过程中要十分小心。

    其次,在摘机后应延时一段时间再去判断摘机音,因为本系统采用机械继电器实现自动摘机,故应考虑继电器的响应时间。

    最后,一个电话号码拨完后不能立即拨下一个电话号码,应保证挂机的最短有效时间以确保前一电话号码确实已挂机,否则拨下一个电话号码时会没有拨号音。

结论
    该系统编码解码都用软件方式实现,传输方式采用双向传输。如果发生警情,则向主机发送一数据串,该数据串由以下几个部分组成:4位地址码,8位数据码,1位起始位,1位奇偶校验位。主机接收到数据后首先进行校验,如果数据有错则要求重新发送刚才的数据,直到正确。接收到正确的数据信息后,接下来的工作就是核对地址码,如果地址码与主机设置的地址相同则表明该数据可能是来自本系统外的设备发送的数据,不进行解码,收到与主机设置地址相同的数据才进行解码。


(中国集群通信网 | 责任编辑:陈晓亮)

中国集群通信网,国内首家集群通信专业网站。

Copyright © PttCn.Net, All Rights Reserved.   

联系我们 联系我们 中国集群通信网 对讲机学堂 对讲机世界