AT89C51单片机对智能语音拨号报警系统的设计

发布时间:2023-03-21  

随着人们生活水平的提高和安防意识的增强, 急需开发面向大众、价格低廉、运行可靠的自动报警系统。鉴于住宅电话和移动通信设备的普及, 以及电话语音报警的快捷、有效及价格低廉等优点, 公共通信网成了报警系统的最佳传输媒介。本文介绍的报警系统就是在此基础上发展起来的一种智能语音拨号报警系统, 该系统可广泛用于各种对安防要求较高的场合, 如智能楼宇、商场、银行和工厂等。


电话自动报警的主要功能为: 用户根据需要把自己的手机号码、办公室电话或报警监控中心的电话预存入报警主机。报警主机不断地对所监控的设备( 门禁、烟雾探测器、窗磁、摄像头等) 状况进行巡检, 当有不安全情况( 如火灾、非法入室、视频丢失等) 发生时, 报警主机拨通预先存入的电话号码, 播放相应的警情语音。若电话占线或者无人接听,可拨下一个预存的电话号码, 如果所有预存的电话都占线或者无人接听, 则会自动把所有的预存电话重拨一遍, 保证了报警的有效性和可靠性。


1 系统组成和工作原理

系统组成框图如图1 所示。采用AT89C51 单片机作为控制核心, 外接E2PROM 用于存储电话号码、设置参数( 定时布/撤防、联动、视频等) 以及警情信息等。当AT89C51单片机实时巡检到新的警情信号( 防区故障、视频丢失、主电断电或上位机死机) 时, 报警主机就会自动进行警情处理( 声光报警、启动相应联动、记录警情以及拨号报警等) 。


拨号报警的工作原理如下:

系统自动地控制摘/挂机电路模拟摘机, 同时AT89C51 单片机通过可编程并行接口8255 将MT8880 置为呼叫模式, 检测是否有拨号音。若有拨号音, 则将MT8880 设为突发方式, 并按用户预设的电话号码自动拨号。拨完电话号码以后立即检测对方是否摘机, 一旦检测到对方摘机, 就启动语音提示电路发送与警情相一致的语音信息, 完成自动拨号报警。


2 硬件设计

2.1 警情采集电路

信号采集电路由16 路防区输入信号采集电路和16路视频丢失检测采集电路组成。16 路防区输入信号采集电路如图2 所示。采集电路通过一片可编程并行接口芯片8255 与AT89C51 单片机的P0 口接口, 而16 路防区输入信号则通过光电隔离后与8255 的PA 口和PB 口相接。PA 口和PB 口均设为输入口, 这16 个输入口分别对应16 路探测器的输入。系统通过采集8255 的PA、PB口的数据来判断是否有警情产生。

AT89C51单片机对智能语音拨号报警系统的设计

16 路视频丢失检测采集电路如图3 所示。该电路首先通过一片16 路模拟开关芯片CD4067 进行视频通路选择, 随后经过视频信号检测电路, 最后再与AT89C51 单片机的P1.3 口相接。系统首先将视频通路号送给模拟开关CD4067, 然后将采集的数据送给P1.3口, 来判断视频是否丢失。

AT89C51单片机对智能语音拨号报警系统的设计

2.2 DTMF 发送接收电路MT8880 与AT89C51 及语音电路的接口

MT8880 是MITEL 公司推出的专门用于处理DTMF 信号的专用集成电路芯片, 不仅具有接收和发送DTMF信号的自动拨号功能, 还可以检测电话干线上拨号音、回铃音和忙音等信号音。适合与单片机接口, 外围电路简单。


MT8880 内部有五个寄存器, 分别为接收数据寄存器、发送数据寄存器、收发控制寄存器CRA 和CRB 以及收发状态寄存器。在本设计中, 由于仅采用发送数据寄存器、收发控制寄存器CRA 和CRB 发送DTMF 信号实现自动拨号功能, 因此在此仅介绍这三个寄存器。发送数据寄存器中的数据决定要发送的双音频信号的频率, 因此只能向发送数据寄存器写入数据。两个收发控制寄存器占用同一个地址, 因此根据CRA 中的寄存器选择位的值决定是否对CRB 进行操作。其接口电路如图4 所示。


ISD1420 语音芯片采用直接模拟存储技术, 且录放音质极好, 并有一定的混响效果; 它的外围元件简单, 仅需简单的阻、容器件即可组成简单的录、放音电路; 无需后备电源, 信息存储时间长, 不需要专用的编程器及语音开发器; 具有较强的选址能力, 可把存储器分成160段来管理, 形成最小的录放时间为125ms。其接口电路图如图4 所示。

AT89C51单片机对智能语音拨号报警系统的设计

语音分段方法: 地址输入端A0~A7 由低位向高位排列, 每位地址代表125ms 的寻址, 160 个地址覆盖20s 的语音范围( 160×0.125s=20s ) , 录音及放音功能均从设定的起始地址开始, 录音结束由停止操作决定, 芯片内部在该段的结束位置自动插入结束标志( EOM) ; 而放音时遇到EOM 标志即自动停止放音。在本设计中, 因需要四段报警提示语音, 因此在设计时均将每段语音设为5s,其起始地址分别为00000000B、00101000B、01010000B、01111000B, 由这四段起始地址可以看出A7、A2、A1 和A0 均为0, 因此将其接地。


3 软件设计

3.1 信号音的识别方法

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

拨号音: 450±25Hz 连续蜂音;

忙音: 0.35s 断0.35s 通的450±25Hz 蜂音, 音断周期为0.7s ;

回铃音: 4s 断1s 通的450±25Hz 蜂音, 音断周期为5s。

这些电话信号均是模拟信号, 然而单片机是无法识别模拟信号的, 故必须先将模拟信号转换为脉冲信号,然后再根据脉冲信号的脉冲个数进行识别。这些电话音频信号的脉冲个数可用下式计算:

N=tm/T

式中, N 为每音段周期的脉冲个数; T 为电话音频信号的音频周期, 单位为s ; tm 为信号音断周期的通时间, 单位为s。


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


3.2 软件设置

自动拨号程序的流程图如图5 所示。下面是自动拨号的部分程序 。

AUTOCALL: CLR P1.2 ;模拟摘机

MOV A,#5DH ;允许信号音输出, 下一次为写控制寄存器CRB

MOVX @DPTR,A ;写控制寄存器CRA

MOV A,#51H ;MT8880 置为突发模式

MOVX @DPTR,A ;写控制寄存器CRB

MOV A,#56H ;MT8880 置为呼叫模式

MOVX @DPTR,A ;写控制寄存器CRA

LCALL DELAY

LCALL AUTOY ;调用信号音判别子程序, 看是否有拨号音

MOV A,#5DH ;允许信号音输出, 下一次为写控制寄存器CRB

MOVX @DPTR,A ;写控制寄存器CRA

MOV A,#50H ;MT8880 置为突发模式

MOVX @DPTR,A ;写控制寄存器CRB

…… ;拨电话号码

MOV A,#56H ;MT8880 置为呼叫模式

MOVX @DPTR,A ;写控制寄存器CRA

LCALL AUTOY ;调用信号音判别子程序, 看是否有回铃音

LCALL AUTOY ;调用信号音判别子程序, 看对方是否摘机

SETB P1.2 ;模拟挂机


3.3 编程过程中应注意的几点

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


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


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


本系统配置灵活, 可以有效、快速地应用于对安防要求比较高的场合。例如: 对不需要监视视频丢失的场合, 可以不配置视频监测盒; 而对智能小区、医院等, 可以通过RS485 总线将一台DVR ( Digital Video Recorder )主机、一套报警监控软件和多台报警主机组合到一起,构成一个网络型智能监控系统。


本报警系统具有价格低廉、操作简便、通讯速度快、可靠性高和误报率低的优点。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    如何用STM32单片机蜂鸣器来演奏音乐;本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是......
    STM32蜂鸣器音乐播放实例教程;本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是声音频率固定。 无源蜂鸣器......
    基于51单片机实现无源蜂鸣器控制;前言 前篇教程我们已经介绍了如何控制51 单片机的IO 口输出高低电平,本章我们通过另外一个实验来讲述51单片机IO口的输出。通过单片机的一个IO口控制板载无源蜂鸣器......
    下:       AT89C52控制蜂鸣器电路图   蜂鸣器电路由一个220欧的电阻,三极管8550,及蜂鸣器组成,如图10所示。通过控制三极管的导通和截止来实现蜂鸣器的响与不响。   流程图   单片机控制有源蜂鸣器......
    引脚输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当单片机引脚输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制引脚的电平来使蜂鸣器发出声音和关闭。 蜂鸣器是的音调改变实际上是通过改变驱动蜂鸣......
    让蜂鸣器发声(2024-08-16)
    二极管也不明白   有个问题好像明白了,为什么单片机的P15不能直接和BZ1的BZ引脚相连? 因为让想让蜂鸣器发声是需要一定的电流大小的,而单片机引脚输出的电流非常小,所以必须把单片机......
    二极管也不明白 有个问题好像明白了,为什么单片机的P15不能直接和BZ1的BZ引脚相连? 因为让想让蜂鸣器发声是需要一定的电流大小的,而单片机引脚输出的电流非常小,所以必须把单片机......
    蜂鸣器提示音+单片机+普中+江科大自化协;1 功能 按键提示音:用户按下独立按键时,蜂鸣器发出提示音,同时将按键值显示在数码管上。 2 原理图 3 参考程序 3.0 主程序 #include......
    只有一个24C02,其三个地址输入脚A0 、A1 、A2接地,如图8。 此外,系统还设置了一个蜂鸣器电路,如图9 ,通过P3.7输出音频信号,可使蜂鸣器发声。由于,本最小系统没有外扩其他存储器和I/O,因此,没有......
    51单片机学习:蜂鸣器实验;实验名称:蜂鸣器实验接线说明:实验现象:下载程序后蜂鸣器发出声音,一段......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>