您当前的位置:五五电子网电子知识电子制作自动控制-单片机双音多频发送接收器MT8888及其应用 正文
双音多频发送接收器MT8888及其应用

双音多频发送接收器MT8888及其应用

点击数:7820 次   录入时间:03-04 11:38:04   整理:http://www.55dianzi.com   自动控制-单片机

图4 MT8888与80C32接口原理图

  图4是MT8888与单片机80C32的接口电路原理图,由于可以直接接口,因此,无需构造控制信号。图中两片MT8888(S1和S2)共用一个时钟振荡器。单片机的P0.0~P0.3口接4位数据总线,片选信号由单片机的地址锁存信号ALE提供,读写信号由微处理器的读写信号和译码信号经或门后产生。寄存器选择信号接到地址线P2.0口,这样,对每一片MT8888均有两个地址。两个中断信号经与门后送至单片机的INT1引脚。电路中扩展了一片74365是用于软件判断是哪一路MT8888产生的中断而扩展的。当MT8888向单片机80C32发出中断请求信号后,CPU响应中断,执行中断服务程序。在中断服务程序中,首先读取74365的内容,以判断是哪一路MT8888所发出的中断请求后,再读取该路MT8888的状态寄存器,使中断自动清除以等待下一双音频信号。由于读完状态寄存器后,其内容即自动清除,重新读状态寄存器的内容是无效的,因此,应先将状态寄存器内容暂存于缓冲区内,再对标志位进行判断该中断信号是发送中断还是接收中断,以执行下一步的操作。需要注意的是,单片机80C32的INT1中断方式应设置为电平中断,才能同时检测两片MT8888的中断请求,防止信号丢失。

  若将MT8888设置于呼叫处理工作模式,则通过对一定时间内中断次数的判断可以识别不同的呼叫信号音,如振铃、回铃音、忙音、空号音以及拥塞音等。

  软件程序包括MT8888初始化子程序、发送数据子程序和中断服务子程序。另外,在设计硬件电路时,由于MT8888发送DTMF信号同时又送到MT8888输入端,这样导致在发送数据时,要引起接收数据中断,为了正确判断,在程序中设置一个发送数据标志tflang,当tflag=1时,MT8888为处于发送数据状态;同时,下面只给出第1片MT8888(S1)的程序。

  MT8888(S1)初始化子程序
  mov dptr,#a001h
  movx a@dptr ;读状态寄存器SR
  mov a,#00h
  movx a@dptr,a ;写控制寄存器
  movx a@dptr,a ;写控制寄存器
  mov a,#08h
  movx a@dptr,a ;写控制寄存器A
  mov a,#00h
  movx @dptr,a ;写控制寄存器B
  movx a,@dptr ;读状态寄SR
  mov a,#0dh ;设置MT8888工作方式
  movx @dptr,a ;写控制寄存器A
  mov a,#00h
  movx @dptr,a ;写控制寄存器B
  ret
  MT8888(s1)数据发送子程序
  入口参数:(r0)—待发送的DTMF数据。
Sendr02:
  mov a,r0
  mov dptr,#a000h
  movx@dptr,a ;待发送数据送至TDR
  ret
80C32 INT1中断服务子程序
int1:clr ea ;关中断
  mov dptr,#8000h ;读取74365内容
  movx a,@dptr
  jb aCC.0,path1 ;转第1路MT8888
  jb acc.2,path2 ;转第2路MT8888
  ljmp end
path1:mov a,tflag ;判断工作方式标志字
  cjne a,#01h,rece1
  mov dptr,#a001h
  movx a,@dptr ;读状态寄存器SR,清中断
  anl a,#02h
  cjne a,#02h,end
  setb transend ;发送结束标志置位
  ljmp end
recel:mov dptr,#a001h
  movx a,@dptr ;读状态寄存器SR,清中断
  mov dptr,#a000h
  movx a,@dptr ;读DTMF信号的数据编码
  mov r0,a ;结果存于r0
  setb receiend ;收到结果标志置位
  ljmp end
path2:(略)
end: setb ea ;开中断
reti



上一页  [1] [2] 


本文关键字:接收器  自动控制-单片机电子制作 - 自动控制-单片机