电话终端DTMF编码器设计Word文件下载.docx
- 文档编号:16235783
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:18
- 大小:127.61KB
电话终端DTMF编码器设计Word文件下载.docx
《电话终端DTMF编码器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《电话终端DTMF编码器设计Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
图1.系统原理方框图
第二章系统硬件设计
2.1系统硬件的总体实现
为使产生的DTMF信号频率误差尽可能小,我们对该系统的硬件电路作了精心设计。
图2系统的硬件图
在本章下面几个小节中将根据图2的硬件设计电路,对各个模块电路进行详细的设计与分析。
2.2中央控制器——AT89C51
AT89C51是由美国Atmel公司生产的至今为止世界上最新型的高性能八位单片机之一。
2.2.1AT89C51的特点
AT89C51具有以下几个特点:
·
AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;
片内有4k字节在线可重复编程快擦写程序存储器;
全静态工作,工作范围:
0Hz~24MHz;
三级程序存储器加密;
128×
8位内部RAM;
32位双向输入输出线;
两个十六位定时器/计数器
五个中断源,两级中断优先级;
一个全双工的异步串行口;
间歇和掉电两种工作方式。
2.2.2AT89C51的功能描述
AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。
只要程序长度小于4K,四个I/O口全部提供给用户。
可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。
AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
2.2.3AT89C51引脚功能
AT89C51单片机为40引脚芯片见附录1。
1、口线:
P0、P1、P2、P3共四个八位口。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
P0口也用以输出外部存储器的低8位地址。
由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用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 操作方法。
表2P3口的第二功能
2.3数摸转换器——DAC0832
在电子技术的很多应用场合往往需要把数字量转换成模拟量,称为数/模转换器(D/A转换器,简称DAC)。
完成这种转换的线路有多种,特别是单片大规模集成D/A转换器问世,为实现上述的转换提供了极大的方便。
使用者可借助于手册提供的器件性能指标及典型应用电路,即可正确使用这些器件。
本系统将采用大规模集成电路DAC0832实现D/A转换。
DAC0832是采用CMOS工艺制成的单片电流输出型8位数/模转换器。
图3是DAC0832的逻辑框图及引脚排列。
图3DAC0832单片D/A转换器逻辑框图和引脚排列
器件的核心部分采用倒T型电阻网络的8位D/A转换器,它是由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四部分组成。
DAC0832各引脚含义如下:
CS为片选信号,CS与ILE(输入寄存器允许信号)合起来可对写信号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为反馈电阻,由于片内已具备反馈电阻,故可以与外接运算放大器的输出端短接。
DAC0832输出的是电流,要转换为电压,还必须经过一个外接的运算放大器,电路如图4所示。
图4电流转换为电压电路
图5中
、
接地为低电平,ILE为高电平,DAC0832处于直通的工作状态。
输入数字量(D0~D7)通过输入锁存器,数据寄存器直接传送到DAC,输出相应模拟量。
运放的输出电压为
…
)
由上式可见,输出电压VO与输入的数字量成正比,这就实现了从数字量到模拟量的转换。
2.4单片机与键盘的接口电路
图5是单片机与键盘的接口电路。
单片机的串行口在方式0下工作,作为同步移位寄存器使用,这时以RXD端作为数据移位的出口,而TXD端提供移位时钟脉冲。
在无键按下的情况下p1.0,p1.1读进来的是高电平,当有键按下时,p1.0或p1.1端将会变为低电平。
图5单片机与键盘的接口电路
2.5AT89C51与DACO832的接口电路
图6是AT89C51与DACO832的接口电路。
在这里P0口是做为输入口使用的,由于通路中已有输出锁存器,因此数据输出可以与外设直接相连,无需再加数据锁存器电路。
但是由于输出电路是漏极开路电路,必须外接上拉电阻才能有高电平输出。
DAC0832是处于直通状态,P3.6把第一写信号,第二写信号,数据传送信号拉为低电平。
图6AT89C51与DACO832的接口电路
2.6RC低通滤波器
由于从DAC0832出来的DTMF信号含有丰富的高频成分,信号波形是阶梯型的需要经过一个低通滤波器,使信号变得光滑与准确。
图7是简单的RC低通滤波器。
图7RC低通滤波器
由图7我们可以知道:
ωc=1/(RC)称为截止角频率,相应地fc=ωc/(2π)=1/(2πRC)称为截止频率。
构成DTMF信号的8个音频的最高频率1633(由表1可知),因此,我选择了6.8k的电阻和0.01uf的电容,使截止频率为2341hz。
第三章系统软件设计
系统的软件设计主要分为单片机与键盘接口程序,DTMF信号产生程序设计,单片机与D/A接口程序设计。
下面,就整体设计以及每个单元功能模块分别进行详细说明。
3.1系统主程序设计
图8系统的主程序流程图
3.2单片机与键盘接口程序设计
图9单片机与键盘程序流程图
3.3程序源代码
ORG0000H
LJMPMAIN
RSEQUP3.7
RWEQUP3.5
EEQUP3.4
ORG0003H
LJMPINT
ORG0030H
MAIN:
MOVSP,#60H
MOV30H,#00H
SETBEX0
SETBIT0
SETBEA
MOVTMOD,#0
MOVDPTR,#STAB;
送键盘的表首地址
MOVP1,#0F0H
LCALLDELAY
MOVDPTR,#TAB;
送初始化显示的表首地址
MOVR3,#16;
字符的个数
CHUSHI:
;
使液晶显示的一些初始设置
LCALLBUSY
MOVP2,#00000001B
LCALLENABLE
MOVP2,#00111000B
MOVP2,#00001111B
MOVP2,#00000110B
MOVP2,#80H
LP2:
MOVA,#00H
MOVCA,@A+DPTR
MOVP2,A
LCALLDATAS
INCDPTR
DJNZR3,LP2
MOVP2,#0C0H
LP5:
MOVDPTR,#MMTAB;
送按键显示代码表首地址
LP3:
CJNER7,#01H,LP3
MOVA,30H
MOVCA,@A+DPTR;
查表
MOVP2,A;
将数据输入到液晶显示器
MOVP2,#00H
MOVDPTR,#DATA0;
送正弦波的表首地址
MOVR0,#1000;
显示正弦波
LLP:
MOVR4,#0FFH;
FFH为DATA0表中的数据个数
LP10:
CLRA
MOVCA,@A+DPTR;
从表中取数据
MOVR3,DPH
MOVR5,DPL
MOVDPTR,#7FFFH
MOVX@DPTR,A
MOVDPTR,#3FFFH
MOVDPH,R3
MOVDPL,R5
INCDPTR;
地址下移
DJNZR4,LP10
DJNZR0,LLP
使液晶始终显示当前键盘输入的代码
LP8:
CJNER7,#00H,LP7;
没有代码输入时等待
LJMPLP8;
新代码输入时重新读入代码
LP7:
MOVR7,#00H
SJMPLP5
ENABLE:
;
显示器端口设置
SETBE
CLRRS
CLRRW
CLRE
RET
DATAS:
SETBRS
BUSY:
MOVP2,#0FFH
SETBRW
JBP2.7,BUSY
INT:
MOVR7,#1
CLREX0
MOVA,P1
MOVP1,#0FH
MOV31H,P1
JNBACC.4,E1
JNBACC.5,E2
JNBACC.6,E3
JNBACC.7,E4
RETI
E1:
MOV20H,#0
LJMPKEYH
E2:
MOV20H,#4
E3:
MOV20H,#8
E4:
MOV20H,#12
KEYH:
MOVA,31H
JNBACC.0,D0
JNBACC.1,D1
JNBACC.2,D2
JNBACC.3,D3
LJMPDELAY
D0:
MOVA,#0
ADDA,20H
MOV30H,A
D1:
MOVA,#1
D2:
MOVA,#2
D3:
MOVA,#3
DELAY:
延时子程序
MOVR5,#0F0H
MM0:
MOVR6,#30H
MM1:
DJNZR6,MM1
DJNZR5,MM0
RET
STAB:
DB1EH,2EH,3EH,8EH;
1,2,3,A
DB1DH,2DH,3DH,8DH;
4,5,6,B
DB1BH,2BH,3BH,8BH;
7,8,9,C
DB17H,27H,47H,87H;
*,0,#,D
TAB:
DB20H,43H,4FH,52H
DB52H,45H,4EH,54H;
"
CURRENTCODE:
代码
DB20H,43H,4FH,44H
DB45H,20H,3AH,20H
MMTAB:
DB31H,32H,33H,41H;
1,2,3,A显示代码
DB34H,35H,36H,42H;
4,5,6,B显示代码
DB37H,38H,39H,43H;
7,8,9,C显示代码
DB2EH,30H,23H,44H;
*,0,#,D显示代码
正弦波表格,表格长度为256
DATA0:
DB80H,83H,86H,89H,8DH,90H,93H,96H
DB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
DB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
DB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
DB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH
DB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH
DB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
DB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
DB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
DB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
DB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
DB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H
DB96H,93H,90H,8DH,89H,86H,83H,80H
DB80H,7CH,79H,76H,72H,6FH,6CH,69H
DB66H,63H,60H,5DH,5AH,57H,55H,51H
DB4EH,4CH,48H,45H,43H,40H,3DH,3AH
DB38H,35H,33H,30H,2EH,2BH,29H,27H
DB25H,22H,20H,1EH,1CH,1AH,18H,16H
DB15H,13H,11H,10H,0EH,0DH,0BH,0AH
DB09H,08H,07H,06H,05H,04H,03H,02H
DB02H,01H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,01H,02H
DB02H,03H,04H,05H,06H,07H,08H,09H
DB0AH,0BH,0DH,0EH,10H,11H,13H,15H
DB16H,18H,1AH,1CH,1EH,20H,22H,25H
DB27H,29H,2BH,2EH,30H,33H,35H,38H
DB3AH,3DH,40H,43H,45H,48H,4CH,4EH
DB51H,51H,55H,57H,5AH,5DH,60H,63H
DB69H,6CH,6FH,72H,76H,79H,7CH,80H
END
第四章系统仿真及结果
4.1仿真环境
该系统仿真可利用ProtusISIS环境中实现仿真。
利用Protus软件具有强大的仿真功能,可以实现单片机的系统仿真。
心得体会:
通过本次课程设计的制作,我对DTMF技术有了更深刻的体会,进而对单片机也产生了更浓厚的兴趣。
以前做实验时,有些东西不是特明白,通过这次的学习,我收获很多,我了解了DTMF技术的先进性,实用性,从而也明白学好单片机的重要性。
由此也终于体会到老师的苦心了。
我相信很多人还不知道DTMF是DualToneMulti-Frequency的缩小,至少我知道了。
现在DTMF技术很流行,也很实用,正如在前面提到过的,除了取代传统转盘式电话机使用的拨号脉冲信令,也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行等。
我明白自己现在对DTMF的了解还只是皮毛,不过,我会沿着这个兴趣,在以后继续关注它的发展,并不断学习和掌握它。
同时通过此次课程设计的制作,让我知道自学的重要性,以及它带来的乐趣。
也正是这次的制作,让我对单片机更加“另眼相看”,原来单片机真的用途很广,作用好大,我要学的东西很多,从而也增加我对单片机学习的兴趣。
参考文献
[1]黄葆华,杨晓静,牟华坤.通信原理【2007年2月第一版】.西安:
西安电子科技大学出版社,2007,P191—193
[2]高如云,陆曼如,张企民,孙万蓉.通信电子线路【第二版】西安:
西安电子科技大学出版社,2007,P281--282
[3]谢自美.电子线路设计实验测试【第二版】.武汉:
华中科技大学出版社,2003,P98—P99
[4]张迎新等.单片机初级教程—单片机基础【第二版】.北京:
北京航空航天大学出版社,2008,P31—59,P176—P198,P244--265
[5]张万奎.模拟电子技术基础【第一版】.长沙:
湖南大学出版社,2004,P31—39,P51--73
[6]刘洪志.用AVR单片机实现DTMF信号.世界电子元器件.2004年第七期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电话 终端 DTMF 编码器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)