ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:120.87KB ,
资源ID:4884828      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4884828.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电话终端DTMF编码器设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电话终端DTMF编码器设计.docx

1、电话终端DTMF编码器设计 邵 阳 学 院课程设计(论文)题 目 名 称 电话终端-DTMF编码器设计 课 程 名 称 单片机基础 学 生 姓 名 杨利团 学 号 0640842018 系 、专 业 信息工程系、电子信息工程 指 导 教 师 李星亮 2008年 1 1月 20日目 录摘要 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、2.6 RC低通滤波器 11第三章 系统软件设计 11 3.1 系统程序流程图 12 3.2 程序源代码 18第四章 系统仿真及结果164.1 仿真环境164.4.2 仿真结果 165. 结束语 226. 附录 237. 参考文献 35摘 要 由于双音多频DTMF(Dual Tone Multi-Frequency)信号,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较

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

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

5、序流程设计,然后对单片机与键盘接口程序设计,DTMF信号产生程序设计,单片机与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分别表示低音群和高音群的样值量化基线,而且两者幅值比

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

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

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

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

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

11、系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。2.2.3 AT89C51引脚功能AT89C51单片机为40引脚芯片见附录1。1 口线:P0、P1、P2、P3共四个八位口。 P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。 P1口是专门供用户使用的I/O口,是准双向口。 P2口是从系统扩展时作

12、高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 数摸转换器DAC0832 在电子技术的很多应用场合往往需要把数字量转换成模拟量,称为数 / 模转换器(D / A转换器,简称DAC)。完成这种转换的线路有多种,特别是

13、单片大规模集成D / A转换器问世,为实现上述的转换提供了极大的方便。使用者可借助于手册提供的器件性能指标及典型应用电路,即可正确使用这些器件。本系统将采用大规模集成电路DAC0832实现D / A转换。DAC0832是采用CMOS工艺制成的单片电流输出型8位数 / 模转换器。图3是DAC0832的逻辑框图及引脚排列。图3 DAC0832单片D/A转换器逻辑框图和引脚排列器件的核心部分采用倒T型电阻网络的8位D / A转换器,它是由倒T型R2R电阻网络、模拟开关、运算放大器和参考电压VREF四部分组成。DAC0832各引脚含义如下:CS为片选信号,CS与ILE(输入寄存器允许信号)合起来可对写

14、信号WR1是否起作用进行控制。WR1写信号用以将8位数字量D7D6D5输入并锁存于DAC0832内部的输入寄存器中,WR写信号与传送控制信号XFER同时有效,则将输入寄存器的数字量再传送到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为反馈电阻,由于片内已具备反馈电阻

15、,故可以与外接运算放大器的输出端短接。DAC0832输出的是电流,要转换为电压,还必须经过一个外接的运算放大器,电路如图4所示。 图4 电流转换为电压电路图5中、接地为低电平,ILE为高电平,DAC0832处于直通的工作状态。输入数字量(D0D7)通过输入锁存器,数据寄存器直接传送到DAC,输出相应模拟量。运放的输出电压为 )由上式可见,输出电压VO 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。2.4 单片机与键盘的接口电路图5是单片机与键盘的接口电路。单片机的串行口在方式0下工作,作为同步移位寄存器使用,这时以RXD端作为数据移位的出口,而TXD端提供移位时钟脉冲。在无键按下的情

16、况下p1.0,p1.1读进来的是高电平,当有键按下时,p1.0或p1.1端将会变为低电平。图5 单片机与键盘的接口电路2.5 AT89C51与DACO832的接口电路图6是AT89C51与DACO832的接口电路。在这里P0口是做为输入口使用的,由于通路中已有输出锁存器,因此数据输出可以与外设直接相连,无需再加数据锁存器电路。但是由于输出电路是漏极开路电路,必须外接上拉电阻才能有高电平输出。DAC0832是处于直通状态,P3.6把第一写信号,第二写信号,数据传送信号拉为低电平。图6 AT89C51与DACO832的接口电路2.6 RC低通滤波器 由于从DAC0832出来的DTMF信号含有丰富的

17、高频成分,信号波形是阶梯型的需要经过一个低通滤波器,使信号变得光滑与准确。图7是简单的RC低通滤波器。 图7 RC低通滤波器由图7我们可以知道:c=1/(RC)称为截止角频率,相应地fc=c/(2)=1/(2RC)称为截止频率。构成DTMF信号的8个音频的最高频率1633(由表1可知),因此,我选择了6.8k的电阻和0.01uf的电容,使截止频率为2341hz。第三章 系统软件设计系统的软件设计主要分为单片机与键盘接口程序,DTMF信号产生程序设计,单片机与D/A接口程序设计。下面,就整体设计以及每个单元功能模块分别进行详细说明。3.1 系统主程序设计图8 系统的主程序流程图3.2 单片机与键

18、盘接口程序设计图9单片机与键盘程序流程图3.2程序源代码ORG 0000H LJMP MAIN RS EQU P3.7 RW EQU P3.5 E EQU P3.4 ORG 0003H 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: ;使液晶显示的一些初始设置 LC

19、ALL BUSY MOV P2,#00000001B LCALL ENABLE LCALL BUSY MOV P2,#00111000B LCALL ENABLE LCALL BUSY 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

20、P2,#0C0H LCALL ENABLE LCALL BUSY LP5: MOV DPTR,#MMTAB ;送按键显示代码表首地址 LP3: CJNE R7,#01H,LP3 MOV 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 ;从表中取数

21、据 MOV R3,DPH MOV R5,DPL MOV DPTR, #7FFFH MOVX DPTR,A MOV DPTR,#3FFFH MOVX DPTR,A MOV DPH,R3 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:

22、 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 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

23、 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 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 RE

24、TI D3: MOV A,#3 ADD A,20H MOV 30H,A MOV P1,#0F0H SETB EX0 RETI DELAY: ; 延时子程序 MOV R5,#0F0H MM0: 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,4E

25、H,54H ; CURRENT CODE : 代码 DB 20H,43H,4FH,44H DB 45H,20H,3AH,20H MMTAB: DB 31H,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,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB

26、0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB

27、 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H DB 96H,93H,90H,8DH,89H,86H,83H,80H DB 80H,7CH,7

28、9H,76H,72H,6FH,6CH,69H DB 66H,63H,60H,5DH,5AH,57H,55H,51H DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH DB 38H,35H,33H,30H,2EH,2BH,29H,27H DB 25H,22H,20H,1EH,1CH,1AH,18H,16H DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH DB 09H,08H,07H,06H,05H,04H,03H,02H DB 02H,01H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,01H,0

29、2H DB 02H,03H,04H,05H,06H,07H,08H,09H DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H DB 16H,18H,1AH,1CH,1EH,20H,22H,25H DB 27H,29H,2BH,2EH,30H,33H,35H,38H DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH DB 51H,51H,55H,57H,5AH,5DH,60H,63H DB 69H,6CH,6FH,72H,76H,79H,7CH,80HEND第四章 系统仿真及结果4.1仿真环境该系统仿真可利用Protus ISIS环境中实现仿真。利用Protus软件具有强大的仿真功能,可以实现单片机的系统仿真。4.2仿真结果系统仿真的结果如图4.2.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1