由MODEM芯片与89C51构成的自动报警装置 

季绍陵 温晓行


  由MODEM(调制解调器)芯片构成的单片机自动报警装置可以借助于工厂、企业内部的电话交换机网络,甚至公用电话交换机网络,远距离地传送报警信息,不受地点和时间的限制,真正做到安全、迅速和正确。

  SS173K222AL是TDK公司近期推出的产品,它是一种高集成度的单片MODEM芯片。该芯片的主要特点是:

  (1) 可以和8048或80C51单片机对接,接口电路简单。
  (2) 串行口数据传输。
  (3) 既可以同步方式又可以异步方式工作,包括V.22扩充超速。
  (4) 与CCITT V.22、V.21、BELL 212A、103标准兼容。
  (5) 具有呼叫进程、载波、应答音、长回环检测的功能。
  (6) 能够通过编程产生DTMF信号及550Hz、1800Hz的防卫音信号。
  (7) 具有自动增益控制,动态范围达45dB。
  (8) 采用CMOS技术,低功耗、单电源供电。

  SS173K222AL具有28DIP封装,其引脚如图1所示。

  SS173K222AL内部有四个寄存器可用于控制和状态的监视。其中,控制寄存器CR0用于控制电话线路上数据传输的方式。控制寄存器CR1用于控制SS173K222AL内部状态与单片机之间的接口。检测寄存器DR是一个只读寄存器,它提供了监视MODEM工作状态的条件。音调寄存器TR则用于控制音频信号的产生,在TR的控制下,MODEM可以产生DTMF信号、应答音信号和防卫音信号。还可以在MODEM启动和与对方联系过程中对RXD引脚进行控制。

  有关寄存器各状态位的功能以及各寄存器的使用方法简述请见表1。(详细资料可参阅TDK公司1997年MODEM的数据手册。)
表1

寄存器名称 地址 数据位
AD2~AD0 D7 D6 D5 D4 D3 D2 D1 D0
控制寄存器CRO 000 调制选择 0 发送模式:
其中,1100=FSK模式 发送
允许 应答/
始发
控制寄存器CR1 001 数据发送方式 中断允许 旁路编码 时钟控制 复位操作 测试模式,其中:00=正常

检测寄存器DR 010 未用 接收数据 介码标志 载波检测 应答音 呼叫过程 长环检测
若条件检测到则出"1",否则出"0"

音调控制寄存器TR 011 控制RDX 发防卫音 发应答音 发送DTMF音 该四位对应1~16DTMF信号,即:1=0001,2=0010,...,位注意:0=1010

  在构成单片机自动报警装置时,可以有以下三种方案供用户选择。

1 直接拨通BP机号码报警

  这是一个最简单的方案,硬件电路如图2所示。

  首先,由单片机巡回监视报警信号的出现。图中,以P1.3口电位变低作为出现了报警信号。如有报警,则单片机立即通过P1.7口输出低电平,吸合继电器J1,将装置与电话线路接通。接着,单片机按照事先给定的BP机号码发DTMF信号即开始拨号,当接到传呼台的回音信号后即自动挂机(断开继电器J1的触点)。89C51单片机控制子程序编制如下:

  本例中所拨打的BP机号码假设为:2065
WAN:JNB P1.3,DT   监视P1.3口
SJMP WAN
DT:ACALL DLY2   ;延时50毫秒
JNB P1.3,ARM;确认有报警信号,转处理程序。
SJMP WAN
ARM:CLR P1.7;吸合继电器J1
ACALL DLY2;延时50毫秒
MOV R6,#04H;拨打四位电话号码,予置初值。
MOV DPTR,#7FF8H;地址指针指向R0
MOV A,#31H;R0按始发方式、FSK模式设置。
       但禁止发送。
MOVX @DPTR,A
LOOP:MOV DPTR,#7FFBH  ;地址指针指向TR
MOV A,#0FH
ADD A,R6;取出电话号码
MOVC A,@A+PC
MOVX @DPTR,A;设置TR
MOV DPTR,#7FF8H;地址指针指向R0
MOV A,#33H;允许发送
MOVX @DPTR,A
ACALL DLY3;延时250毫秒
MOV A,#31H;停止发送
MOVX @DPTR,A
ACALL DLY3;延时250毫秒
DJNZ R6,LOOP;拨号未完,再拨出一个号码
DB 95H,96H,9AH,92H    ;TR设置及电话号码
DTA:MOV DPTR,#7FFAH;地址指针指向DR
MOVX A,@DPTR;监视DRJNB ACC.2,DTA;检测应答音
MOV DPTR,#7FF9H;地址指针指向R1
MOV A,#04H
MOVX @DPTR,A;复位MODEM
SETB P1.7;释放J1
RET

  在这个方案中,持有该BP机的管理人员必须熟知各报警部门的电话号码,以便及时采取对策。

2 与语音电路相结合的报警

   在这个方案中,应增设一块语音电路,我们在实验中采用的是ISD-1110语音电路,该电路具有可随机录入、可循环播放的功能,每次放音时间为10秒钟。该电路的引脚出线如图3所示。

  录音时按下AN按钮,电路中LED发光,人对着话筒说话,话音就被录入芯片,录入的内容即使断电后仍不丢失。循环放音时只需使PL接低电位,早先录入的话音将通过喇叭被重复播放出来。现采用89C51的P1.4脚对其进行控制,可以在需要时刻投入工作。接线时可将输出端之一SP+(或SP-)接入图2中的A点,其它引脚按提示连接。

  单片机编程方案与上例基本相同,区别在于:此处应按照事先给定的电话号码(例如“110”)发DTMF信号。拨号过程结束,延时一定时间之后即可启动语音电路工作。令其反复播放同一段预先录入的话语,如:“我是某地某人,情况紧急,请求帮助”等。接电话的值班员,无论是谁,都可立即明白。

  单片机控制方面,只须增加两条指令,对P1.4口进行控制即可。

3 接收端采用MODEM和单片机显示装置的报警

   在接收端采用MODEM和单片机显示装置可以在无人值守的场合自动监视各处发来的报警信息,将其存储并用数码显示出来,必要时还可增设警报音响等其它设施。

  由于接收端无需DTMF拨号等功能,所以图中采用了OKI公司的低速MODEM MSM6946,它的结构简单、价格低廉、控制和使用都很方便。适用于300BPS、FSK工作方式,可以满足BELL103标准(有关MSM6946详细数据请参阅OKI公司1996年MODEM数据手册)。

  图4中,接收端的MODEM按应答方式接线,单片机89C51平时处于巡回检测电话振铃信号的状态,一旦检测到该信号,则可将J2吸合,在两秒钟左右的沉默之后,启动MODEM发送应答音。双方经过简短的握手过程之后,89C51便将收到的对方代码通过数码管显示出来。

  为了使电路简单,图中采用了具有BCD转换、锁存、七段译码及驱动功能的CMOS电路CD4511,当89C51在P1.7~P1.4口输出0~9的BCD码时,数码管能直接显示出来。由此看来,本电路可以区分九个报警点发来的报警信息。

  在这种方案下,图2所示发送端的报警装置硬件线路不变,但控制软件应当作相应的补充:即在发送完DTMF(拨号信号)之后,程序还应增加检测应答音、发送和接收握手信号、循环发送本机代码等内容。

  双方所用的通信程序框图如图5所示

  图4给出了一个简单的接收端采用MODEM和单片机接收装置的电路原理图。