打印

用C51检测电话忙音

[复制链接]
4715|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nanfang8|  楼主 | 2007-4-5 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jackny9| | 2007-4-5 17:42 | 只看该作者

用C51检测电话忙音

用示波器测,然后估算好像是200-300左右

使用特权

评论回复
板凳
awey| | 2007-4-5 20:04 | 只看该作者

忙音是语音的就傻眼了

单音的忙音可以用一片LM567来判断

使用特权

评论回复
地板
bg6nw| | 2007-4-5 21:59 | 只看该作者

这个问题有很多解决办法

前段时间做了一个电话遥控机,忙音检测我是这样做的,实际使用效果十分理想,语音不会造成误操作。
我的方案是这样的,用一个NE567解出450Hz单音,NE567的8脚通过一个简单的低通进入C51的一个IO,这里我用的是P1.6。在主程序中循环检测P1.6,低电平跳转到下面的子程序。


mang yin jian ce:
    lcall yanshi150        ;先延时150ms,躲过不稳定的下降沿
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui        ;p1.6电平低继续
    lcall yanshi350        ;延时350ms
    jnb p1.6, fanhui       ;p1.6电平高继续
    lcall yanshi350        ;延时350ms
    jb p1.6, fanhui       ;p1.6电平低继续
    @#¥%……&*           ;这里安排一个跳转语句,转到挂机处理程序
fanhui: 
    ret             ;忙音次数不够返回继续检测

yanshi150:延时程序自己写,150ms左右
yanshi350:这个350ms的延时要十分精确


这段程序的思路是,NE567的8脚出现低电平后,延时150ms,将下一个检测点落在忙音的中部,然后350ms检测一次,一次检测高电平,一次检测低电平,有一次检测错误,就跳出子程序,判为非忙音。只有满足8次循环的条件,才判为是忙音,这样做可靠性极高,我曾经试验过,用人声模拟忙音也是绝对不会使这段程序误判断的。因为用人声不会把忙音频率和间隔准确无误的模拟出来。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

406

帖子

0

粉丝