MT8880是我们应用电话拨号应用中常用的一款芯片,它集发送、接收于一体。如果设计得法还是一款相当稳定
的IC,优点是:通过少量的几个元件就可以组成拨号及接收的电路。唯一的缺点:我认为还是其价格,一片要30元
左右。对市场上价格竞争激烈的产品一般很少用到这款芯片。
外部的电话线和MT8880不以直接相连,要通过隔离才能间接连接,一般隔离可以通过隔离线圈或整流桥来解决
,相对来讲我更喜欢一个桥来担当。
MT8880是一款双音频的语音拨号芯片。它通用二个音频信号形成一位的数据信号发出去,一组为低频的、一是
高频的信号。 接收的对方把二个音频信号分别接收下来一查表就知道收到的是哪个数据了。
通过表可知,发送1时为0001,发送2时发送0010......依次类推。呵呵你要看清楚了,电话号码中的0可不能发送
0000啊,第一次我就犯过这样的错误怎么有的电话可以拨通有的电话就是不通,通多个电话号码的一对比发现了号
码中有0的电话号码都不通这才想到查一下表这才明白原来0对应1010,晕呐。由于现在好多电话带有彩铃等,对于
拨号回铃音1秒通,4秒断的标准带来检测上的困难,所以没有没有所用到这一功能。
对MT8880进行发送前必须进行初始化后,才能进行收发数据。下面是我对其进行初始化的一个过程。
void MT8880_Rst()
{
// MT8880_RS();
MT8880_WC(0);
MT8880_WC(0);
MT8880_WC(8);
MT8880_WC(0);
MT8880_RS();
}
发送和接收数据时,先要进行摘机动作。也就是对电话线进行降压、分流。如下图:
双音多频(DTMF)编译码器广泛应用在遥控、遥测、数据传输等方面,尤其与一些微处理器配合,使用起来更加灵活。
MT8880是一个完整的DTMF收发器。它集接收器与发送器为一体,并具有与微处理器接口的数据总线和控制总线特性,可以方便地与MOTOROLA、INTEL等系列的单片机想连,构成完整的受发通信。。
利用AT89C2051单片机的双向I/O口与MT8880直接相连,利用其丰富的位操作指令模拟MT8880的时序,从而实现对MT8880的读、写操作控制。采用这种方法最多占用9条I/O线(若工作在中断方式),至少还有6条I/O线可选用,例如可以扩展串行EEPROM、键盘、显示等。其最大优点L成本低、体积小、电路连接简单、程序保密性高等。其通信部分的硬件电路如图1所示。图中MT8880的数据线D0-D3与AT89C2051的P1.0—P1.3相对应,读、写线(WR*)、片选线(CS*)、寄存器输入选择线(RSI)和时钟线(CP)分别对应AT89C2051的P1.7—P1.4,中断线(IRQ*)接AT89C2051的外部中断0(P3.2)。
接口电路如下: