目录
介绍
MT8870 DTMF解码器模块
DTMF(双音多频)是一种使用两种纯音(纯正弦波)混合的电信信令技术。它在手机中用于生成拨号音。
MT8870是DTMF解码器; 它有助于解码按下的键。
它提供了一个4位数字输出,可以对其进行处理以识别按下的键。这为16个不同的键提供了16种可能的输出。
连接图
MT8870 DTMF解码器模块与MSP-EXP430G2 TI Launchpad连接
例
解码从手机接收的拨号音,并将其显示在MSP-EXP430G2 TI Launchpad的串行监视器上。
这里,移动电话通过辅助导线连接到MT8870 DTMF解码器模块。
来自模块的四个数字信号连接到MSP-EXP430G2 TI Launchpad板以及StD(延迟转向输出)信号。
StD用于检测按键。按下该键后它变为高电平,然后再次返回低电平。
谨慎行事: MSP-EXP430G2 TI Launchpad主板具有512字节的RAM,可轻松上传,尤其是在使用不同库时。有时您需要串行缓冲区足够大以包含所需的数据,并且您必须修改串行库的缓冲区大小。在做这些事情时,我们必须确保代码不会使用超过70%的RAM。这可能导致代码以不稳定的方式工作,有时运行良好并且在其他方面失败。
有些时候RAM使用率可能会超过70%并且代码将完全正常工作,并且即使RAM使用率为65%,代码也无法工作。
在这种情况下,可能需要对缓冲区大小和/或变量进行一些试验和错误。
拨号音识别程序
余下程序
case 0x01:
Serial.println("Pin Pressed : 1");
break;
case 0x02:
Serial.println("Pin Pressed : 2");
break;
case 0x03:
Serial.println("Pin Pressed : 3");
break;
case 0x04:
Serial.println("Pin Pressed : 4");
break;
case 0x05:
Serial.println("Pin Pressed : 5");
break;
case 0x06:
Serial.println("Pin Pressed : 6");
break;
case 7:
Serial.println("Pin Pressed : 7");
break;
case 0x08:
Serial.println("Pin Pressed : 8");
break;
case 0x09:
Serial.println("Pin Pressed : 9");
break;
case 0x0A:
Serial.println("Pin Pressed : 0");
break;
case 0x0B:
Serial.println("Pin Pressed : *");
break;
case 0x0C:
Serial.println("Pin Pressed : #");
break;
}
}
}