电话终端---DTMF编码器设计_第1页
电话终端---DTMF编码器设计_第2页
电话终端---DTMF编码器设计_第3页
电话终端---DTMF编码器设计_第4页
电话终端---DTMF编码器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 黄河科技学院课程设计(论文)题 目 名 称: 电话终端-DTMF编码器设计 课 程 名 称: 单片机基础 院 系: 工学院机械系 班 级: 08成本机电 学 生 姓 名: 张 恒 学 号: 指导老师: 何春霞 2011年10月24日目 录摘要 1绪论 2第一章 系统简述 31.1 DTMF信号的介绍 31.2 系统的工作原理 4第二章 系统硬件设计 52.1 系统硬件的总体实现 52.2 中央控制器AT89C51 6 2.3 数摸转换器DAC0832 8 2.4 单片机与键盘的接口电路 10 2.5 AT89C51与DACO832的接口电路 10 2.6 RC低通滤波器 11第三章 系统软件

2、设计 11 3.1 系统程序流程图 12 3.2 程序源代码 18第四章 系统仿真及结果164.1 仿真环境164.2仿真结果165. 结束语 226. 附录 237. 参考文献 35摘 要 由于双音多频DTMF(Dual Tone Multi-Frequency)信号,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。本课题最主要的特点在于用单片机来实

3、现电话终端-DTMF编码器的设计,用单片机来产生DTMF信号,而不是通过专用的DTMF产生芯片,具有实际应用的意义。关键词: DTMF信号; 单片机;正弦波;编码器;绪论目前,大多数的DTMF信号的产生都是采用专用芯片MT5087,MT8880等,这种方法信号编码产生速度快但有很大的局限性,如果音频信号频率的改变应用于别的系统时,专用芯片就发挥不了作用了,其次是要实现用户多路双音多频信号发送比较困难。但是基于单片机的DTMF信号合成的系统可以克服硬件电路的缺点,容易实现多路DTMF信号,节约系统成本,使双音多频信号的应用领域更广泛。所以本课程设计就是利用单片机来单片机来实现电话终端-DTMF编

4、码器的设计,用单片机来产生DTMF信号,而不是通过专用的DTMF产生芯片,具有实际应用的意义。本设计最主要的部分可以分为硬件部分和软件部分。硬件部分包括三部分,单片机与键盘的接口电路,实现按键信号的产生的功能,AT89C51根据读进来的键码来实现相应的键功能向P0口发按键对应的DTMF信号,数摸转换器与单片机的接口电路主要来实现把P0口发出的数字信号转换为模拟信号,最后通过RC低通滤波器把信号中的高频成分滤去。其中,AT89C51单片机是整个电路的核心,它控制其他模块来完成各种复杂的操作。同时为了显示按键设计了液晶显示部分。软件部分就先对主程序流程设计,然后对单片机与键盘接口程序设计,DTMF

5、信号产生程序设计,单片机与D/A接口程序设计等子程序分别进行设计,最后利用Protus软件具有强大的仿真功能,可以实现对本设计的系统进行仿真。第一章 系统简述1.1 DTMF信号的特性DTMF是由组(fb)和高频组(fa)两组频率信号构成,每个数字信号由低频组和高频组的任意一个叠加而成。根据CCITT的建议,DTMF的编译码定义如表1所示,表1 电话拨号数字对应的高低频率组可用下式表示f(t)A_asin(2 f_at)+A_bsin(2 f_bt)式中两项分别表示低、高音群的值,Ab和Aa分别表示低音群和高音群的样值量化基线,而且两者幅值比为K=Ab /Aa (0.7<K<0.9

6、)。同时规定,对应于表1中的标称频率在发送时,DTMF信号的频率偏差不应当超过1.5,每位数字的信号极限时长应该大于40ms,而接收设备对2的偏差应能可靠地接收,对30ms40ms时长的信号可以正常地接收。与单音编码不同,DTMF 信号是采用8 中取2 的方式,从高低两个音组中各取一个音频复合而成来代表0 - 9 十个号码和其他功能码,再加上这8 个音频信号的各频率间不存在谐波关系,大大减少了虚假信号的干扰,因而DTMF 信号工作可靠性特别是抗干扰能力很强。1.2 系统工作原理该系统的硬件设计按实现的功能来分,可分为以下3个部分。单片机与键盘的接口电路,实现按键信号的产生的功能,AT89C51

7、根据读进来的键码来实现相应的键功能向P0口发按键对应的DTMF信号,数摸转换器与单片机的接口电路主要来实现把P0口发出的数字信号转换为模拟信号,最后通过RC低通滤波器把信号中的高频成分滤去。其中,AT89C51单片机是整个电路的核心,它控制其他模块来完成各种复杂的操作。同时为了显示按键设计了液晶显示部分。系统原理方框图如下图1所示:图1.系统原理方框图第二章 系统硬件设计2.1 系统硬件的总体实现 为使产生的DTMF信号频率误差尽可能小,我们对该系统的硬件电路作了精心设计。图2是基于单片机的DTMF信号的合成的硬件图: 图2系统的硬件图该系统的硬件设计按实现的功能来分,可分为以下3个部分。单片

8、机与键盘的接口电路,实现按键信号的产生的功能,AT89C51根据读进来的键码来实现相应的键功能向P0口发按键对应的DTMF信号,数摸转换器与单片机的接口电路主要来实现把P0口发出的数字信号转换为模拟信号,最后通过RC低通滤波器把信号中的高频成分滤去。其中,AT89C51单片机是整个电路的核心,它控制其他模块来完成各种复杂的操作。在本章下面几个小节中将根据图2的硬件设计电路,对各个模块电路进行详细的设计与分析。2.2 中央控制器AT89C51 AT89C51是由美国Atmel 公司生产的至今为止世界上最新型的高性能八位单片机之一。2.2.1 AT89C51的特点 AT89C51具有以下几个特点:

9、·AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;·片内有4k字节在线可重复编程快擦写程序存储器;·全静态工作,工作范围:0Hz24MHz;·三级程序存储器加密;·128×8位内部RAM;·32位双向输入输出线;·两个十六位定时器/计数器·五个中断源,两级中断优先级;·一个全双工的异步串行口;·间歇和掉电两种工作方式。2.2.2 AT89C51的功能描述AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存

10、储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V6V),全静态工作,工作

11、频率宽在0Hz24MHz之间,比8751/87C51等51系列的6MHz12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。2.2.3 AT89C51引脚功能AT89C51单片机为40引脚芯片见附录1。1 口线:P0、P1、P2、P3共四个八位口。§ P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此

12、地址数据锁存,地址锁存信号用ALE。§ P1口是专门供用户使用的I/O口,是准双向口。§ P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。§ P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表2所示。2控制口线:PSEN(片外选取控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制);3电源及时钟:VCC、VSS、XTAL1、XTAL2操作方法。表2 P3口的第二功能2.3 数摸转换器DAC083

13、2 在电子技术的很多应用场合往往需要把数字量转换成模拟量,称为数 / 模转换器(D / A转换器,简称DAC)。完成这种转换的线路有多种,特别是单片大规模集成D / A转换器问世,为实现上述的转换提供了极大的方便。使用者可借助于手册提供的器件性能指标及典型应用电路,即可正确使用这些器件。本系统将采用大规模集成电路DAC0832实现D / A转换。DAC0832是采用CMOS工艺制成的单片电流输出型8位数 / 模转换器。图3是DAC0832的逻辑框图及引脚排列。111218CS276541615输入锁存器DDQQ数据寄存器DDQQD7···D014&LEIL

14、E&191WR1WR2&17XFERDAC0832DACVREF89RFBIOUT1IOUT220VCC(+5V)13图3 DAC0832单片D/A转换器逻辑框图和引脚排列器件的核心部分采用倒T型电阻网络的8位D / A转换器,它是由倒T型R2R电阻网络、模拟开关、运算放大器和参考电压VREF四部分组成。DAC0832各引脚含义如下:CS为片选信号,CS与ILE(输入寄存器允许信号)合起来可对写信号WR1是否起作用进行控制。WR1写信号用以将8位数字量D7D6D5输入并锁存于DAC0832内部的输入寄存器中,WR写信号与传送控制信号XFER同时有效,则将输入寄存器的数字量再传送

15、到8位D/A寄存器锁存起来。这时8位D/A转换器就开始工作。IOUT1和IOUT2为输出电流,其中IOUT1是D/A寄存器内容为全1时输出电流为最大;当D/A寄存器内容为零时输出电流为0。IOUT2为一常数与IOUT1之差,即IOUT1+IOUT2=常数。AGND和DGND分别为模拟量地和数字量地,它们应共地。VREF精度尽可能高一些。V是电源电压,其值可在+5V到+15V。R为反馈电阻,由于片内已具备反馈电阻,故可以与外接运算放大器的输出端短接。DAC0832输出的是电流,要转换为电压,还必须经过一个外接的运算放大器,电路如图4所示。 图4 电流转换为电压电路图5中、 接地为低电平,ILE为

16、高电平,DAC0832处于直通的工作状态。输入数字量(D0D7)通过输入锁存器,数据寄存器直接传送到DAC,输出相应模拟量。运放的输出电压为 )由上式可见,输出电压VO 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。2.4 单片机与键盘的接口电路图5是单片机与键盘的接口电路。单片机的串行口在方式0下工作,作为同步移位寄存器使用,这时以RXD端作为数据移位的出口,而TXD端提供移位时钟脉冲。在无键按下的情况下p1.0,p1.1读进来的是高电平,当有键按下时,p1.0或p1.1端将会变为低电平。图5 单片机与键盘的接口电路2.5 AT89C51与DACO832的接口电路图6是AT89C5

17、1与DACO832的接口电路。在这里P0口是做为输入口使用的,由于通路中已有输出锁存器,因此数据输出可以与外设直接相连,无需再加数据锁存器电路。但是由于输出电路是漏极开路电路,必须外接上拉电阻才能有高电平输出。DAC0832是处于直通状态,P3.6把第一写信号,第二写信号,数据传送信号拉为低电平。图6 AT89C51与DACO832的接口电路2.6 RC低通滤波器 由于从DAC0832出来的DTMF信号含有丰富的高频成分,信号波形是阶梯型的需要经过一个低通滤波器,使信号变得光滑与准确。图7是简单的RC低通滤波器。 图7 RC低通滤波器由图7我们可以知道:c=1/(RC)称为截止角频率,相应地f

18、c=c/(2)=1/(2RC)称为截止频率。构成DTMF信号的8个音频的最高频率1633(由表1可知),因此,我选择了6.8k的电阻和0.01uf的电容,使截止频率为2341hz。第三章 系统软件设计系统的软件设计主要分为单片机与键盘接口程序,DTMF信号产生程序设计,单片机与D/A接口程序设计。下面,就整体设计以及每个单元功能模块分别进行详细说明。3.1 系统主程序设计图8 系统的主程序流程图3.2 单片机与键盘接口程序设计图9单片机与键盘程序流程图3.2程序源代码ORG 0000H LJMP MAIN RS EQU P3.7 RW EQU P3.5 E EQU P3.4 ORG 0003H

19、 LJMP INT ORG 0030H MAIN: MOV SP,#60H MOV 30H,#00H SETB EX0 SETB IT0 SETB EA MOV TMOD,#0 MOV DPTR,#STAB ;送键盘的表首地址 MOV P1,#0F0H LCALL DELAY MOV DPTR,#TAB ;送初始化显示的表首地址 MOV R3,#16 ;字符的个数 CHUSHI: ;使液晶显示的一些初始设置 LCALL BUSY MOV P2,#00000001B LCALL ENABLE LCALL BUSY MOV P2,#00111000B LCALL ENABLE LCALL BUSY

20、 MOV P2,#00001111B LCALL ENABLE LCALL BUSY MOV P2,#00000110B LCALL ENABLE LCALL BUSY MOV P2,#80H LCALL ENABLE LP2: LCALL BUSY MOV A,#00H MOVC A,A+DPTR MOV P2,A LCALL DATAS INC DPTR DJNZ R3,LP2 LCALL BUSY MOV P2,#0C0H LCALL ENABLE LCALL BUSY LP5: MOV DPTR,#MMTAB ;送按键显示代码表首地址 LP3: CJNE R7,#01H,LP3 MOV

21、 A,30H LCALL BUSY MOVC A,A+DPTR ;查表 MOV P2,A ;将数据输入到液晶显示器 LCALL DATAS LCALL BUSY MOV P2,#00H MOV DPTR,#DATA0 ;送正弦波的表首地址 MOV R0,#1000 ;显示正弦波 LLP: MOV R4,#0FFH ;FFH为DATA0表中的数据个数 LP10:CLR A MOVC A, A+DPTR ;从表中取数据 MOV R3,DPH MOV R5,DPL MOV DPTR, #7FFFH MOVX DPTR,A MOV DPTR,#3FFFH MOVX DPTR,A MOV DPH,R3

22、MOV DPL,R5 INC DPTR ;地址下移 DJNZ R4,LP10 DJNZ R0,LLP ; 使液晶始终显示当前键盘输入的代码 LP8: CJNE R7,#00H,LP7 ; 没有代码输入时等待 LJMP LP8 ; 新代码输入时重新读入代码 LP7: MOV R7,#00H SJMP LP5 ENABLE: ;显示器端口设置 SETB E CLR RS CLR RW CLR E RET DATAS: SETB E SETB RS CLR RW CLR E RET BUSY: CLR E MOV P2,#0FFH CLR RS SETB RW SETB E JB P2.7,BUSY

23、 RET INT: MOV R7,#1 CLR EX0 MOV A,P1 MOV P1,#0FH MOV 31H,P1 JNB ACC.4,E1 JNB ACC.5,E2 JNB ACC.6,E3 JNB ACC.7,E4 SETB EX0 RETI E1: MOV 20H,#0 LJMP KEYH E2: MOV 20H,#4 LJMP KEYH E3: MOV 20H,#8 LJMP KEYH E4: MOV 20H,#12 LJMP KEYH KEYH: MOV A,31H JNB ACC.0,D0 JNB ACC.1,D1 JNB ACC.2,D2 JNB ACC.3,D3 LJMP

24、DELAY LJMP DELAY SETB EX0 RETI D0: MOV A,#0 ADD A,20H MOV 30H,A MOV P1,#0F0H SETB EX0 RETI D1: MOV A,#1 ADD A,20H MOV 30H,A MOV P1,#0F0H SETB EX0 RETI D2: MOV A,#2 ADD A,20H MOV 30H,A MOV P1,#0F0H SETB EX0 RETI D3: MOV A,#3 ADD A,20H MOV 30H,A MOV P1,#0F0H SETB EX0 RETI DELAY: ; 延时子程序 MOV R5,#0F0H M

25、M0: MOV R6,#30H MM1: DJNZ R6,MM1 DJNZ R5,MM0 RET STAB: DB 1EH,2EH,3EH,8EH ; 1,2,3,A DB 1DH,2DH,3DH,8DH ; 4,5,6,B DB 1BH,2BH,3BH,8BH ; 7,8,9,C DB 17H,27H,47H,87H ; *,0,#,D TAB: DB 20H,43H,4FH,52H DB 52H,45H,4EH,54H ; " CURRENT CODE : " 代码 DB 20H,43H,4FH,44H DB 45H,20H,3AH,20H MMTAB: DB 31H,

26、32H,33H,41H ;1,2,3,A显示代码 DB 34H,35H,36H,42H ;4,5,6,B显示代码 DB 37H,38H,39H,43H ;7,8,9,C显示代码 DB 2EH,30H,23H,44H ;*,0,#,D显示代码 ;正弦波表格,表格长度为256 DATA0: DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8

27、HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB 0E

28、9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB 96H,93H,90H,8DH,89H,86H,83H,80HDB 80H,7CH,79H,76H,72H,6FH,6CH,69HDB 66H,63H,60H,5DH,5AH,57H,55H,51HDB 4EH,4CH,48H,45H,43H,40H,3DH,3AHDB 3

29、8H,35H,33H,30H,2EH,2BH,29H,27HDB 25H,22H,20H,1EH,1CH,1AH,18H,16HDB 15H,13H,11H,10H,0EH,0DH,0BH,0AHDB 09H,08H,07H,06H,05H,04H,03H,02HDB 02H,01H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,01H,02HDB 02H,03H,04H,05H,06H,07H,08H,09HDB 0AH,0BH,0DH,0EH,10H,11H,13H,15HDB 16H,18H,1AH,1CH,1EH,20H,22H,25HDB 27H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论