




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州航空工业管理学院单片机原理与应用课程设计说明书 07 级 电气工程及其自动化 专业 0706073 班级题 目 基于单片机实现远距离dtmf通讯 姓 名 学号 指导教师 职称 讲师 二一 年 12 月 22 日摘要:dtmf( dual tone multi-frequency )是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16个按键,其中有10个数字键09和6个功能键*、#、a、b、c、d。由于按照组合原理,一般应有8种不同的单音频信号。因此可采用的频率也有8种,故称之为多频,又因它采用从8种
2、频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。根据ccitt的建议,国际上采用的多种频率为687hz、770hz、852hz、941hz、1209hz、1336hz、1477hz和1633hz等8种。用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键。关键词:dtmf 编码 程序 远程控制 信号一、 基于单片机实现远距离dtmf通讯的基本原理dtmf ( dual tone multi-frequency ),在全世界范围内,逐渐使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来 dtmf 也应用在交
3、互式控制中,诸如语言菜单、语言邮件、电话银行等。这也是 dtmf 为手机使用添辉的所在。手机在 dtmf 的功能下,就能自动根据对方系统提示恢复数字或者符号,从而实现自动拨叫功能,这在如今的电话银行、语音菜单、分机呼叫系统中使用尤其明显,可见 dtmf 逐步在手机上的使用使得手机给我们带来更多的便利和精彩。二、设计方案dtmf( dual tone multi-frequency )是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16个按键,其中有10个数字键09和6个功能键*、#、a、b、c、d。由于
4、按照组合原理,一般应有8种不同的单音频信号。因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。根据ccitt的建议,国际上采用的多种频率为687hz、770hz、852hz、941hz、1209hz、1336hz、1477hz和1633hz等8种。用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合见下表。三、硬件设计通信接口电路如图1所示。话机与接口电路并联,通过光耦输出电平检测用户是否摘机。用户摘机后通过line1,line2直接收码,降低了接口电路对拨号的影响。数据通信时mpu通过i
5、/01控制继电器断开话机,同时i/04置高,电路模拟摘机,三极管组成恒流源维持摘机状态。通信中断开话机可减少干扰,恒流源设计可保证电路具有较小的直流阻抗(600),使电路具有较好的收发码特性。line1,line2间接接入压敏电阻或瞬态抑制二极管可达到抗雷击保护作用。i/02,i/03输出电平与相关软件配合可实现脉冲拨号接收和反术信号检测。tf1 out pf1 gnd in timc vcc timrlm56710uf12in-201ufvcc34547kvcc20k20k01uf678电源部分:电源部分有二部分组成。一部分是由220v的市电通过变压、整流稳压来得到+5v电压,维持系统的正常
6、工作;另一部分是由3v的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。at89c2051单片机及其引脚说明at89c2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2k字节可编程flash存储器的低电压、高性能coms八位微处理器,与intel mcs-51系列单片机的指令和输出管脚相兼容。由于将多功能八位cpu和闪速存储器结合在单个芯片中,因此,at89c2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的ram、rom和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。at89c205
7、1是一个有20个引脚的芯片,引脚配置如图2所示。与8051相比,at89c2051减少了两个对外端口(即p0、p2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。图2 at89c2051引脚配置at89c2051芯片的20个引脚功能为:vcc 电源电压。gnd 接地。rst 复位输入。当rst变为高电平并保持2个机器周期时,所有i/o引脚复位至“1”。xtal1 反向振荡放大器的输入及内部时钟工作电路的输入。xtal2 来自反向振荡放大器的输出。p1口 8位双向i/o口。引脚p1.2p1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。p1.
8、0和p1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(ain0)和反向输入(ain1),p1口输出缓冲器能接收20ma电流,并能直接驱动led显示器;p1口引脚写入“1” 后,可用作输入。在闪速编程与编程校验期间,p1口也可接收编码数据。p3口 引脚p3.0p3.5与p3.7为7个带内部上拉的双向i/0引脚。p3.6在内部已与片内比较器输出相连,不能作为通用i/o引脚访问。p3口的输出缓冲器能接收20ma的灌电流;p3口写入“1”后,内部上拉,可用输入。p3口也可用作特殊功能口,其功能见表1。p3口同时也可为闪速存储器编程和编程校验接收控制信号。实现dtmf信号原理因为了系统主要目的是
9、为了降低成本,所以系统中没有采用现成的d/a芯片,而是自行设计了一新颖的型电阻网络d/a转换器和滤波网络。如图2所示。该d/a转换器的新颖之处在于其电阻网络。由于其基本单元(1位二进制)的电阻网络很像一个的形状,帮称型。众所周知,通常的位权电阻d/a网络,虽然电路简洁,只用了9个电阻,但最高位与最低位电阻阻值相差128倍,很难从系列电阻中选取,帮精度较差。典型的r-2r t 型d/a电阻网络,虽然电阻选取方便,精度较高,但需要18只电阻。现作者参考多方面资料给出的d/a电阻网络,集权电阻d/a网络电路简洁和t型d/a电阻网络电阻选取方便,精度高之优点于一身,理论推算和实验均验证了该电路的合理性
10、。当图2中的电阻r=10k时,不难求得其输出电压的交流分量表达式:式中的vout为d0位至d7位输出高电平时的电压值。图3中的r1,r2,c1,c2和运放组成你通平滑滤波网络,参数的选取应使该网络具有最佳的阻率和最平坦响应的butterworth滤波特性。由图可求是其传递函数为:四、软件设计本系统的软件系统主要可分为主程序、定时计数中断程序、基于pwm实现dtmf信号程序等。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。程序功能如下: l 通信中断开话要可减少干扰,提高通信可靠性。l 摘机后不能即拨号,要延时或检测到拨号音后再拨号。l 通信中不允许无限等待,可限时接收,超时
11、应退出通信。l 判断是用户呼出摘机还是外线呼入用户接听摘机。l 判断是主机呼入还是他人呼入。l 判断是用户正常拨号还是用户完成功能设置。l 具有振铃检测和自动摘机功能。振铃4次无人接听电路即自动摘机。31 系统主程序设计退出通信断开话机 电路摘机延时待拨号音拨叫主机号码进入通信程序是否收到应答?等待时间到否?通信开始电路挂机,接上话机 图4 系统流程图 数据通信程序设计程序功能如下:l 采用固定格式报文方式,方便接收。l 采用固定字节接收方式和简单异或校验方式即可实现可靠通信。l 出错重发一次可提高通信成功率。从机发送通信发送报文数据发送校验码接收应答?时间到?置重发标志已重发退出通信重发请求
12、?通信完成退出通信 图5 数据通信程序框图发送电路程序设计发送数据时,数据总线上d0d3四位二进制码被锁存在发送数据寄存器中,发送的dtmf信号频率由358 mhz的晶振分频产生。分频器首先从基准频率分离出8个不同频率的正弦波,行列计数器根据发送数据寄存器中的数据,以八取二方式分离出一个高频信号和一个低频信号,经开关电容做da转换,在加法器中合成dtmf信号,并从tone端输出。程序框图如图6所示。开始发送 图6 发送程序流程图50ms延时相应数据初始化 串口初始化 r1=1? 接收数据 r1清“0”n y 接收电路程序设计接收数据时,dtmf信号经由in和in输入,经过运算放大滤除信号中的拨
13、号音频率,然后发送到双音频滤波器,分离出低频组和高频组信号,通过数字计数的方式检出dtmf信号的频率,并且通过译码器译成4位二进制码。4位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外而言,当寄存器中的延时控制识别位复位时,irqcp由高电平变为低电平。如果用irqcp作为单片机的中断信号,irql由高电平变为低电平,向cpu发出中断请求,当cpu响应中断,读出寄存器中的数据后,irq返回高电 平。程序流程图如图7所示。开始接收 相应数据初始化 串口初始化 n p1.2=1?y 接收数据 n t1=1?y 发送数据 t1
14、清“0”图7 接收程序流程图部分源程序代码org0000hmain: movr0,#00hmovr5,#0ffhloop: mova,r0movdptr,#tabhmova,a+dptrmovdptr,#7fffhmovxdptr,aincr0djnzr5,loopajmpmaintab: db 80h,83h,86h,89h 产生正弦波程序db 8dh,90h,93h,96hdb 99h,9ch,9fh,a2hdb a5h,a8h,abh,aehdb b1h,b4h,b7h,bahdb bch,bfh,c2h,c5hdb c7h,cah,cch,cfhdb d1h,d4h,d6h,d8hdb
15、 dah,ddh,dfh,e1hdb e3h,e5h,e7h,e9hdb eah,ech,eeh,efhdb f1h,f2h,f4h,f5hdb f6h,f7h,f8h,f9hdb fah,fbh,fch,fdhdb fdh,feh,ffh,ffhdb ffh,ffh,ffh,ffhdb ffh,ffh,ffh,ffhdb ffh,ffh,feh,fehdb fdh,fch,fbh,fahdb f9h,f8h,f7h,f6hdb f5h,f4h,f2h,f1hdb efh,eeh,ech,eahdb e9h,e7h,e5h,e3hdb e1h,deh,ddh,dahdb d8h,d6h,d4h
16、,d1hdb cfh,cch,cah,c7hdb c5h,c2h,bfh,bchdb bah,b7h,b4h,b1hdb aeh,abh,a8h,a5hdb a2h,9fh,9ch,99hdb 96h,93h,90h,8dhdb 89h,86h,83h,80hdb 80h,7ch,79h,76hdb 72h,6fh,6ch,69hdb 66h,63h,60h,5dhdb 5ah,57h,55h,51hdb 4eh,4ch,48h,45hdb 43h,40h,3dh,3ahdb 38h,35h,33h,30hdb 2eh,2bh,29h,27hdb 25h,22h,20h,1ehdb 1ch.1
17、ah,18h,16hdb 15h,13h,11h,10hdb 0eh,0dh,0bh,0ahdb 09h,08h,07h,06hdb 05h,04h,03h,02hdb 02h,01h,00h,00hdb 00h,00h,00h,00hdb 00h,00h,00h,00hdb 00h,00h,01h,02hdb 02h,03h,04h,05hdb 06h,07h,08h,09hdb 0ah,0bh,0dh,0ehdb 10h,11h,13h,15hdb 16h.18h,1ah,1chdb 1eh,20h,22h,25hdb 27h,29h,2bh,2ehdb 30h,33h,35h,38hdb
18、 3ah,3dh,40h,43hdb 45h,48h,4ch,4ehdb 51h,55h,57h,5ahdb 5dh,60h,63h,66hdb 69h,6ch,6fh,72hdb 76h,79h,7ch,80hend;产生dtmf信号 org 0000h ljmp startstart:mov r0,#30hmov r1,#3bhmov r2,#00hloop1:cjne r0,#3bh,loop2mov r0,#30hloop2:mov a,r0add a,r1mov dptr,#7fffhmovx dptr,alcall delayinc r0inc r1cjne r1,#42h,loo
19、p1inc r2mov r1,#3bhcjne r2,#122,loop1ljmp startdelay:mov r7,#58loop:djnz r7,loopretdb 47h,6dh,88h,8dhdb 7dh,5bh,33h,11hdb 07h,06h,20h,38hdb 63h,6fh,50h,20hdb 01h,0ch,00hend;发送程序段 org 1000hsend:mov 30h,#08h ;赋初值给30h36h范围的地址单元 mov 31h,#04h mov 32h,#07h mov 33h,#09h mov 34h,#04h mov 35h,#06h mov 36h,#0
20、2h clr p1.6 clr p1.4 clr p1.7 setb p1.5 mov p1,#0dh setb p1.4 nop nop clr p1.4 mov p1,#00h setb p1.4 nop nop clr p1.4 setb p1.6 clr p1.6 clr p1.4 clr p1.5 clr p1.7loop: mov r0,30h mov r1,7h mov a,r0 mov p1,a setb p1.4 acall delay clr p1.4 inc r0 djnz r1,loop setb p1.6 ;接收程序段 org 1200hreceive: mov 30
21、h,#00h ;赋初值给30h36h范围的地址单元mov 31h,#00hmov 32h,#00hmov 33h,#00hmov 34h,#00hmov 35h,#00hmov 36h,#00hmov tmod,#20 ;初始化定时器/计数器1作为波特率发生器mov tl1,#0fdh ;装入初值mov th1,#ofdhclr et1setb tr1mov scon,#40hmov pcon,#00hclr p1.4clr p1.7clr p1.6setb p1.5mov p1,#2dhsetb p1.4nopnopclr p1.4mov p1,#20hsetb p1.4nopnopclr p1.4setb p1.6nopnopmov r0,30hmov r1,#7h系统调试与测试结果分析软硬件结合后,本系统也大致完成了,但还有一个重要的环节那就是调试和测试。使用的仪器仪表 数字万用表dt9203单片机仿真器wave6000烧写器 gf2100双踪稳压稳流电源dh1718e-5数字示波器 tds1002系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试等,最后将各模块组合后进行整体测试。测试结果分析采用简单校验手段,发现dtmf通信中容易出现漏码,而重码、误码较少
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力合同回购协议书范本
- 申请无固定期合同协议
- 白酒转让股份合同协议
- 2025年压电陀螺测斜仪项目合作计划书
- 服务购买合同
- 企业聘用总经理合同
- 著作权使用报酬收转服务企业数字化转型与智慧升级战略研究报告
- 发动机加热器企业数字化转型与智慧升级战略研究报告
- 不锈钢盘企业数字化转型与智慧升级战略研究报告
- 石棉管类制品企业ESG实践与创新战略研究报告
- 中铁开投、中铁云投招聘笔试冲刺题2025
- 科室病历书写与管理制度
- 地震监测系统服务方案及故障维修处理措施
- 新工会制度财务知识大赛题库(预算、决算部分)
- 《交通事故车辆及财物损失价格鉴证评估技术规范》
- 以茶为媒的小学跨学科教育研究
- 电力设备交接和预防性试验规程
- 2024年度高速公路机电设备维护合同:某机电公司负责某段高速公路的机电设备维护2篇
- 中考道德与法治复习题型专项漫画式课件
- 面点师招聘面试题与参考回答(某大型国企)
- 教育部《中小学德育工作指南》-德育工作指南
评论
0/150
提交评论