原创 走进迟思堂之DTMF信号检测

2009-10-20 12:29 4740 3 10 分类: MCU/ 嵌入式

声明:下面的文章不是李迟写的,是李迟的队友小郭写的,我一字没改,发表在此,是得到他同意的。因为我们两个是一个团队的,所以无所谓谁写的啦!


 


哇哈!成功喽!DTMF信号终于被我检测出来了,这可是一个了不起的成就啊!什么是DTMF信号,我给你解释一番,你就这道我有多牛啦……啊哈!
    
闲话休说,话归正题。DTMF为英文daul tone multi frequecy 的缩写,通常翻译为双音多频,双音多频由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信令有16个编码,分别是10个数字键096个功能键*#ABCD
  双音多频信号(DTMF),电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。它最初是贝尔实验室发明的,其目的是为了自动完成长途呼叫。
………………
   DTMF
有那些应用呢?我给出一个简单的例子,看家听题咯:这是大家在生活中都经常接触到的,不知道你是否留意?平常我们有事没事就拿起手机拨打10086,一会手机传来一个婉转的声音:按1查询话费,按2了解积分,按3查询手机归属地…………然后我们按下1,那边就传来你手机的话费清单……就此打住!我倒是要想了:对方如何知道我按下1号键呢,而不是2号键。你是否也有这种想法,有吗?我们一起来研究一下吧!
    
其实这就是所谓的DTMF,当我们按下键盘时,就会有相应的DTMF信号发射出去,一共有16个编码,现在我们的手机键盘一般只有12个为:123456789*#,少了4个:ABCD
    
我说的你明白吗?有兴趣的话,call我吧,我们一起来探讨,不过这个过程可是很辛苦的哦,看家请听:
    
最初我也不懂这个像星星一样的东西,百度了很久都没有得到满意的结果,我还csdn了一救助,悬赏100!等了几天没有反应,后来终于有一个跟帖,他却说这事不能实现的!晕死我!实现无奈,我叫小力帮我在百度sos了一下,不是到现在有没有得到答案,还是感谢他,特别要感谢他在这方面给我的支持,不过好像请过他吃饭了^-^,还有鸣谢late lee,小海,峰子,大师以及看家你!
    
后来我是不抱希望了,真的想放弃,可是前天基地ceo莅临,召开大会,给我们来一个下马威……实在哭笑不得(S.H.E……最后百度下载了几个datasheetpdf,硬着头皮强忍看了下去,幸亏有金山词霸帮忙,说起这事,自愧啊!李迟总是欺负我的英语不好!嘿嘿,老子不发挥你帮我是病猫呀!现在连datasheet我都看懂啦,以后还有谁感欺负我,六级我还要过呢!
    
不过真正说起来还有一段路子……
现在把我的预期作品秀秀给大家看,慢慢欣赏哈,有何见解请留言~没有异议鼓掌通过!
1SIM卡,DTMF检测模块,TDMF信号灯(有5盏,另外一排的那盏不算,也就是4盏,显示的是二进制,24次方等于16,也就是16DTMF编码,和上文说的一样)
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />点击开大图

2:用串口调试精灵初始化GSM模块,显示OK,成功!
点击开大图

3:拨打电话(AT指令为ATD<电话号码>),我当场挂掉,显示为忙(busy
点击开大图
点击开大图


4:(真家伙来啦!)我拨电话,显示有来电(ring),指令ATA,显示OK,证明已接通!
点击开大图

点击开大图

5:(这才是好样的),我按下1号键,DTMF信号指示灯,理所当然的显示0001(即是1
点击开大图
下面是对应表,H为亮,L为灭(OE即是最上面那盏灯,由于一闪即过,拍不下来,
d0~d3就是一排四个灯)
点击开大图



6:接着我按下2,信号灯就显示0010(二进制,即为2
点击开大图

7:好玩!我在按下9,这下显示1001
点击开大图

8:太过瘾啦,如果我要显示1100,那就得按下#号键
点击开大图

9:我要显示0101,于是我按下5号键,果然如此
点击开大图

不演示啦,电话费贵呀,没钱了……,欢迎走进迟思堂工作室,我们的队员是:小郭,李迟。

PARTNER CONTENT

文章评论7条评论)

登录后参与讨论

用户1702496 2015-7-15 14:50

如果在美国的话如何测试DTMF的拨号

用户63676 2009-12-30 16:28

请问:SIM卡、手机和DTMF检测是如何联系在一起的,是否有较详细的说明??谢谢! lh2005204@sina.com

用户145921 2009-6-16 22:37

请访问: http://download.csdn.net/source/1124107

用户540599 2009-6-15 15:59

请教一下,通话中,发送(0—9)*,#,ABCD时,是用什么样的AT指令?

用户145921 2009-4-5 21:05

HT9170D,挺便宜的。

用户1003172 2009-4-4 22:22

问一下,你用的DTMF解码芯片型号?

用户1003172 2009-4-4 22:21

!!!!!!
相关推荐阅读
用户145921 2011-10-08 17:34
关于停止更新本博客的声明
本博客是本人在大学学习单片机、嵌入式的记录。如今已经停止更新,任何问题均不再回复。本人现在主要维护两个博客:CSDN博客(木草山人和水田居士的小窝):http://blog.csdn.net/subf...
用户145921 2010-01-15 21:07
又是下雨天--记考研之后
今天下小雨,如果此刻到漓江边观景,应该别有一番风情。要是以前的我,一定会去的,然而,物是人非,现在的我早已不是当初的李迟了。今天是考研结束的第五天,考试前就想好要好好去疯狂一下,如今看来,不过是一句空...
用户145921 2009-11-01 22:04
桂X大大三学习生活总结
桂X大大三学习生活总结李迟按:本文在假期上辅导班时就开始着手写了,后来几经修改,删除了很多与时代潮流不符合的事实的描述,但还是保留了一些,我觉得,事实是任何事情抹杀不掉的,因为这是历史,我无法修改。记...
用户145921 2009-09-22 16:38
ATmega16与PC串口通信的实现
ATmega16与PC串口通信的实现1、这是我做的一个课设;2、功能很简单:在上位机输入数据,通过串口到达单片机,送至LCD1602显示,就这么简单;3、更详细不说,上图。上位机输入数据:显示:正在滚...
用户145921 2009-09-21 23:22
串口的printf实现
最近想搞一下SD卡,很久以前看过SD卡的规范以及相关的程序,后来由于种种原因,没有亲自去做,趁这几天没有上考研辅导课,就学习一下。但其中涉及到到串口的格式化数据传输问题,简单说就是相当于C语言中的pr...
EE直播间
更多
我要评论
7
3
关闭 站长推荐上一条 /3 下一条