基于单片机实现远距离DTMF通讯.docx

上传人:b****0 文档编号:16897261 上传时间:2023-07-19 格式:DOCX 页数:21 大小:141.73KB
下载 相关 举报
基于单片机实现远距离DTMF通讯.docx_第1页
第1页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第2页
第2页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第3页
第3页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第4页
第4页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第5页
第5页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第6页
第6页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第7页
第7页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第8页
第8页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第9页
第9页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第10页
第10页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第11页
第11页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第12页
第12页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第13页
第13页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第14页
第14页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第15页
第15页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第16页
第16页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第17页
第17页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第18页
第18页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第19页
第19页 / 共21页
基于单片机实现远距离DTMF通讯.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机实现远距离DTMF通讯.docx

《基于单片机实现远距离DTMF通讯.docx》由会员分享,可在线阅读,更多相关《基于单片机实现远距离DTMF通讯.docx(21页珍藏版)》请在冰点文库上搜索。

基于单片机实现远距离DTMF通讯.docx

基于单片机实现远距离DTMF通讯

 

第1节引言………………………………………………………………………1

1.1概述…………………………………………………………………………1

1.2设计任务……………………………………………………………………2

1.3系统主要功能………………………………………………………………2

第2节远程通讯硬件设计…………………………………………………………3

2.1系统的硬件构成及功能……………………………………………………3

2.2AT89C2051单片机及其引脚说明…………………………………………4

2.3实现DTMF信号原理………………………………………………………5

第3节系统软件设计………………………………………………………………6

3.1系统主程序设计……………………………………………………………6

3.2数据通信程序设计…………………………………………………………6

3.3发送电路程序设计…………………………………………………………7

3.4接收电路程序设计…………………………………………………………8

第4节系统调试与测试结果分析……………………………………………9

4.1使用的仪器仪表……………………………………………………………9

4.2系统调试……………………………………………………………………9

4.3测试结果分析………………………………………………………………9

4.4系统误差处理………………………………………………………………9

第5节结束语……………………………………………………………………10

参考文献………………………………………………………………………10

附录………………………………………………………………………………11

 

基于单片机实现远距离DTMF通讯

数理与信息工程学院05计算机专升本陈苗苗

指导教师:

余水宝陈希

第1节引言

随着计算机技术和电信业的发展,通过电话线进行的远程通信越来越常见。

人们通常采用MODEM进行通信,但是在通信数据量不大,对通信速率要求不高的应用场合,我们可以考虑一种DTMF通信方式,它具有接口简单,成本低廉且可靠性高的特点。

与相关软件配合还可实现双向呼叫通信,正确识别通话与通信等功能,可适用多种远程通信场合,具有较好的推广应用价值。

DTMF(DualToneMulti-Frequency),即双音多频信号,是邮电业务的通信信令,它有很强的抗干扰能力,因此被广泛用于远距离通讯,如电话拨号通信中。

基于单片机实现远距离DTMF信号的方法可以有多种,如用D/A转换器实现(基于PWM),也可用集DTMF信号的收发功能于一体的MT8880芯片等等。

1.1概述

DTMF(DualToneMulti-Frequency)是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。

两个单音频的频率不同,代表的数字或实现的功能也不同。

这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A、B、C、D。

由于按照组合原理,一般应有8种不同的单音频信号。

因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。

根据CCITT的建议,国际上采用的多种频率为687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。

用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合见表1。

表1

1.2本设计任务

虽然基于单片机实现DTMF远程通讯的技术已相当成熟,但依然有尚可完善的地方,本设计的主要任务是基于更低成本实现DTMF远程通讯。

在实际应用中常用1b的DM编码来实现A/D和D/A过程,其中A/D过程可以在PC机上完成,用程序生成对应每一个DTMF信号的DM编码表,D/A过程在单片机上完成。

1.3系统主要功能

DTMF(DualToneMulti-Frequency),在全世界范围内,逐渐使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。

近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行等。

这也是DTMF为手机使用添辉的所在。

手机在DTMF的功能下,就能自动根据对方系统提示恢复数字或者符号,从而实现自动拨叫功能,这在如今的电话银行、语音菜单、分机呼叫系统中使用尤其明显,可见DTMF逐步在手机上的使用使得手机给我们带来更多的便利和精彩。

 

第2节远程通信硬件设计

2.1系统的硬件构成及功能

通信接口电路如图1所示。

话机与接口电路并联,通过光耦输出电平检测用户是否摘机。

用户摘机后通过LINE1,LINE2直接收码,降低了接口电路对拨号的影响。

数据通信时MPU通过I/01控制继电器断开话机,同时I/04置高,电路模拟摘机,三极管组成恒流源维持摘机状态。

通信中断开话机可减少干扰,恒流源设计可保证电路具有较小的直流阻抗(<300Ω)和较大的交流阻抗(>600Ω),使电路具有较好的收发码特性。

LINE1,LINE2间接接入压敏电阻或瞬态抑制二极管可达到抗雷击保护作用。

I/02,I/03输出电平与相关软件配合可实现脉冲拨号接收和反术信号检测。

图1

电源部分:

电源部分有二部分组成。

一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。

正常情况下电池是不提供电能的,以保证电池的寿命。

2.2AT89C2051单片机及其引脚说明

AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。

内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。

由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。

AT89C2051是一个有20个引脚的芯片,引脚配置如图2所示。

与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。

图2AT89C2051引脚配置

AT89C2051芯片的20个引脚功能为:

VCC电源电压。

GND接地。

RST复位输入。

当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。

XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2来自反向振荡放大器的输出。

P1口8位双向I/O口。

引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。

P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。

在闪速编程与编程校验期间,P1口也可接收编码数据。

P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。

P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。

P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。

P3口也可用作特殊功能口,其功能见表1。

P3口同时也可为闪速存储器编程和编程校验接收控制信号。

2.3实现DTMF信号原理

因为了系统主要目的是为了降低成本,所以系统中没有采用现成的D/A芯片,而是自行设计了一新颖的

型电阻网络D/A转换器和滤波网络。

如图2所示。

该D/A转换器的新颖之处在于其电阻网络。

由于其基本单元(1位二进制)的电阻网络很像一个

的形状,帮称

型。

众所周知,通常的位权电阻D/A网络,虽然电路简洁,只用了9个电阻,但最高位与最低位电阻阻值相差128倍,很难从系列电阻中选取,帮精度较差。

典型的R-2RT型D/A电阻网络,虽然电阻选取方便,精度较高,但需要18只电阻。

现作者参考多方面资料给出的D/A电阻网络,集权电阻D/A网络电路简洁和T型D/A电阻网络电阻选取方便,精度高之优点于一身,理论推算和实验均验证了该电路的合理性。

当图2中的电阻R=10KΩ时,不难求得其输出电压的交流分量表达式:

式中的Vout为D0位至D7位输出高电平时的电压值。

图3中的R1,R2,C1,C2和运放组成你通平滑滤波网络,参数的选取应使该网络具有最佳的阻率和最平坦响应的Butterworth滤波特性。

由图可求是其传递函数为:

图3

第3节系统的软件设计

本系统的软件系统主要可分为主程序、定时计数中断程序、基于PWM实现DTMF信号程序等。

在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

程序功能如下:

●通信中断开话要可减少干扰,提高通信可靠性。

●摘机后不能即拨号,要延时或检测到拨号音后再拨号。

●通信中不允许无限等待,可限时接收,超时应退出通信。

●判断是用户呼出摘机还是外线呼入用户接听摘机。

●判断是主机呼入还是他人呼入。

●判断是用户正常拨号还是用户完成功能设置。

●具有振铃检测和自动摘机功能。

振铃4次无人接听电路即自动摘机。

3.1系统主程序设计

图4系统流程图

3.2数据通信程序设计

程序功能如下:

●采用固定格式报文方式,方便接收。

●采用固定字节接收方式和简单异或校验方式即可实现可靠通信。

●出错重发一次可提高通信成功率。

图5数据通信程序框图

3.3发送电路程序设计

发送数据时,数据总线上D0~D3四位二进制码被锁存在发送数据寄存器中,发送的DTMF信号频率由3.58MHz的晶振分频产生。

分频器首先从基准频率分离出8个不同频率的正弦波,行列计数器根据发送数据寄存器中的数据,以八取二方式分离出一个高频信号和一个低频信号,经开关电容做D/A转换,在加法器中合成DTMF信号,并从TONE端输出。

程序框图如图6所示。

图6发送程序流程图

3.4接收电路程序设计

接收数据时,DTMF信号经由IN+和IN-输入,经过运算放大滤除信号中的拨号音频率,然后发送到双音频滤波器,分离出低频组和高频组信号,通过数字计数的方式检出DTMF信号的频率,并且通过译码器译成4位二进制码。

4位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外而言,当寄存器中的延时控制识别位复位时,IRQ/CP由高电平变为低电平。

如果用IRQ/CP作为单片机的中断信号,IRQL由高电平变为低电平,向CPU发出中断请求,当CPU响应中断,读出寄存器中的数据后,IRQ返回高电平。

程序流程图如图7所示。

N

Y

N

Y

图7接收程序流程图

 

第4节系统调试与测试结果分析

软硬件结合后,本系统也大致完成了,但还有一个重要的环节那就是调试和测试。

4.1使用的仪器仪表

数字万用表        DT9203

单片机仿真器       WAVE6000

烧写器GF2100

双踪稳压稳流电源     DH1718E-5

数字示波器     TDS1002

4.2系统调试

根据系统设计方案,本系统的调试共分为三大部分:

硬件调试,软件调试和软硬件联调。

由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试等,最后将各模块组合后进行整体测试。

4.3测试结果分析

采用简单校验手段,发现DTMF通信中容易出现漏码,而重码、误码较少出现,所以采用固定字节接收方式和简单异或校验方式即可实现可靠通信。

4.4系统误差处理

在DTMF双音多频通讯中,解芯片对DTMF信号的误差并不敏感,因此D/A转换的量化误差可以忽略。

另外,DTMF信号的数据都是专家经过一系列复杂的,严密的计算而得,所以,这方面即使存在误差也不好消除。

我们可以做的是增加采样数据。

结束语

  本系统软硬件实现技术具有接口电路简单、可靠性高、成本低、灵活性强等优点。

适用于数据通信量不大,速率要求不高的远程通信场合。

可应用于远程分布式数据采集系统、家用自动防盗报警装置、远程室内监控系统以及公话集中管理系统等。

通过本次课程设计的制作,我对DTMF技术有了更深刻的体会,进而对单片机也产生了更浓厚的兴趣。

以前做实验时,有些东西不是特明白,通过这次的学习,我收获很多,我了解了DTMF技术的先进性,实用性,从而也明白学好单片机的重要性。

由此也终于体会到老师的苦心了。

我相信很多人还不知道DTMF是DualToneMulti-Frequency的缩小,至少我知道了。

现在DTMF技术很流行,也很实用,正如在前面提到过的,除了取代传统转盘式电话机使用的拨号脉冲信令,也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行等。

我明白自己现在对DTMF的了解还只是皮毛,不过,我会沿着这个兴趣,在以后继续关注它的发展,并不断学习和掌握它。

同时通过此次课程设计的制作,让我知道自学的重要性,以及它带来的乐趣。

也正是这次的制作,让我对单片机更加“另眼相看”,原来单片机真的用途很广,作用好大,我要学的东西很多,从而也增加我对单片机学习的兴趣。

 

参考文献

[1]张鑫华臻陈书谦,单片机原理及应用[M],北京:

电子工业出版社,2005.8

[2]李朝青,PC机与单片机﹠DSP数据通信技术选编2[M],北京:

北航出版社,2003

[3]龚冬梅.基于DTMF信号方式的数据传输接口软件设计[J].电脑开发与应用,2003,16(6):

17.

 

附录

部分源程序代码

ORG0000H

MAIN:

MOVR0,#00H

MOVR5,#0FFH

LOOP:

MOVA,R0

MOVDPTR,#TABH

MOVA,@A+DPTR

MOVDPTR,#7FFFH

MOVX@DPTR,A

INCR0

DJNZR5,LOOP

AJMPMAIN

TAB:

DB80H,83H,86H,89H产生正弦波程序

DB8DH,90H,93H,96H

DB99H,9CH,9FH,A2H

DBA5H,A8H,ABH,AEH

DBB1H,B4H,B7H,BAH

DBBCH,BFH,C2H,C5H

DBC7H,CAH,CCH,CFH

DBD1H,D4H,D6H,D8H

DBDAH,DDH,DFH,E1H

DBE3H,E5H,E7H,E9H

DBEAH,ECH,EEH,EFH

DBF1H,F2H,F4H,F5H

DBF6H,F7H,F8H,F9H

DBFAH,FBH,FCH,FDH

DBFDH,FEH,FFH,FFH

DBFFH,FFH,FFH,FFH

DBFFH,FFH,FFH,FFH

DBFFH,FFH,FEH,FEH

DBFDH,FCH,FBH,FAH

DBF9H,F8H,F7H,F6H

DBF5H,F4H,F2H,F1H

DBEFH,EEH,ECH,EAH

DBE9H,E7H,E5H,E3H

DBE1H,DEH,DDH,DAH

DBD8H,D6H,D4H,D1H

DBCFH,CCH,CAH,C7H

DBC5H,C2H,BFH,BCH

DBBAH,B7H,B4H,B1H

DBAEH,ABH,A8H,A5H

DBA2H,9FH,9CH,99H

DB96H,93H,90H,8DH

DB89H,86H,83H,80H

DB80H,7CH,79H,76H

DB72H,6FH,6CH,69H

DB66H,63H,60H,5DH

DB5AH,57H,55H,51H

DB4EH,4CH,48H,45H

DB43H,40H,3DH,3AH

DB38H,35H,33H,30H

DB2EH,2BH,29H,27H

DB25H,22H,20H,1EH

DB1CH.1AH,18H,16H

DB15H,13H,11H,10H

DB0EH,0DH,0BH,0AH

DB09H,08H,07H,06H

DB05H,04H,03H,02H

DB02H,01H,00H,00H

DB00H,00H,00H,00H

DB00H,00H,00H,00H

DB00H,00H,01H,02H

DB02H,03H,04H,05H

DB06H,07H,08H,09H

DB0AH,0BH,0DH,0EH

DB10H,11H,13H,15H

DB16H.18H,1AH,1CH

DB1EH,20H,22H,25H

DB27H,29H,2BH,2EH

DB30H,33H,35H,38H

DB3AH,3DH,40H,43H

DB45H,48H,4CH,4EH

DB51H,55H,57H,5AH

DB5DH,60H,63H,66H

DB69H,6CH,6FH,72H

DB76H,79H,7CH,80H

END

 

;产生DTMF信号

ORG0000H

LJMPSTART

START:

MOVR0,#30H

MOVR1,#3BH

MOVR2,#00H

LOOP1:

CJNER0,#3BH,LOOP2

MOVR0,#30H

LOOP2:

MOVA,@R0

ADDA,@R1

MOVDPTR,#7FFFH

MOVX@DPTR,A

LCALLDELAY

INCR0

INCR1

CJNER1,#42H,LOOP1

INCR2

MOVR1,#3BH

CJNER2,#122,LOOP1

LJMPSTART

DELAY:

MOVR7,#58

LOOP:

DJNZR7,LOOP

RET

DB47H,6DH,88H,8DH

DB7DH,5BH,33H,11H

DB07H,06H,20H,38H

DB63H,6FH,50H,20H

DB01H,0CH,00H

END

;发送程序段

ORG1000H

SEND:

MOV30H,#08H;赋初值给30H~36H范围的地址单元

MOV31H,#04H

MOV32H,#07H

MOV33H,#09H

MOV34H,#04H

MOV35H,#06H

MOV36H,#02H

CLRP1.6

CLRP1.4

CLRP1.7

SETBP1.5

MOVP1,#0DH

SETBP1.4

NOP

NOP

CLRP1.4

MOVP1,#00H

SETBP1.4

NOP

NOP

CLRP1.4

SETBP1.6

CLRP1.6

CLRP1.4

CLRP1.5

CLRP1.7

LOOP:

MOVR0,30H

MOVR1,7H

MOVA,@R0

MOVP1,A

SETBP1.4

ACALLDELAY

CLRP1.4

INCR0

DJNZR1,LOOP

SETBP1.6

;接收程序段

ORG1200H

RECEIVE:

MOV30H,#00H;赋初值给30H~36H范围的地址单元

MOV31H,#00H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H

MOV36H,#00H

MOVTMOD,#20;初始化定时器/计数器1作为波特率发生器

MOVTL1,#0FDH;装入初值

MOVTH1,#OFDH

CLRET1

SETBTR1

MOVSCON,#40H

MOVPCON,#00H

CLRP1.4

CLRP1.7

CLRP1.6

SETBP1.5

MOVP1,#2DH

SETBP1.4

NOP

NOP

CLRP1.4

MOVP1,#20H

SETBP1.4

NOP

NOP

CLRP1.4

SETBP1.6

NOP

NOP

MOVR0,30H

MOVR1,#7H

其它源程序可参照本文提到的参考文献。

.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2