桂林电子科技大学2010届测控技术与仪器专业本科生优秀毕业论文_第1页
桂林电子科技大学2010届测控技术与仪器专业本科生优秀毕业论文_第2页
桂林电子科技大学2010届测控技术与仪器专业本科生优秀毕业论文_第3页
桂林电子科技大学2010届测控技术与仪器专业本科生优秀毕业论文_第4页
桂林电子科技大学2010届测控技术与仪器专业本科生优秀毕业论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

编号: 060 学 士 学 位 论 文 题 目:家用电器远程智能测控系统的设计与实现 学 院: 电子工程与自动化学院 专 业: 测控技术与仪器(国家级特色专业) 学生姓名: 李玮 学 号: 0600820315 指导教师: 殷贤华 职 称: 讲师 评 委: 颜学龙、陈寿宏、胡聪 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2010年6月 15日 摘 要 本文主要介绍了一种以单片机AT89S52和双音多频解码集成电路MT8870为核心,通过电话线路遥控的远程多路智能家用电器控制器。该系统实用、功能灵活多样,可以对被遥控对象的状态进行查询以及控制,可以广泛的应用于家用电器或者其它场所的各种控制设备 。首先论文概述了电话远程控制的发展及原理,介绍双音多频解码原理及特性,对于系统的一些主要参数、技术进行了讨论。针对AT89S52单片机系统以外的硬件部分电路,例如振铃检测、自动摘挂机、双音多频解码、家电控制、音频放大的设计方案进行了模块原理介绍。然后介绍了单片机在系统中的应用以及软件部分的设计思想和具体实现。最后对系统的整体结构进行了阐述。文章总结了整个系统的性能和特点,提出了值得进一步研究和优化的地方,并展望了其应用前景。关键词: 电话遥控 双音频编解码 单片机控制技术 通信系统Abstract This paper introduces a single-chip microcomputer to AT89S52 and DTMF decoder IC MT8870 as the core, through the long-distance telephone line remote multi-channel intelligent controller. The system practical, flexible and diverse functions can be remote-controlled targets on the status of inquiries and control can be widely used in household appliances or other places of control equipment.First of all papers outlined the telephone remote control and the development of principles, introduced dual-audio decoding principles and characteristics. For some of the main parameters of system, technology was discussed. SCM system for AT89S52 outside the hardware detection circuit in the ring, automatically pick hang up, double audio decoder, control of home appliances, audio amplification of a modular design principle introduced. Then the software part of the design ideas and concrete realization, the MCU in the system on the application software will interrupt handling and data sent. Finally, the systems overall structure has been elaborated. The article summed up the whole systems performance and characteristics, made worthy of further study and optimize the place and prospects in its application.Key words Tel remote control Dual audio code Micro-controller control Communication system 目 录1 引 言52 系统综述62.1家用电器远程控制器的基本工作过程62.2家用电器远程控制器的总体构成62.3系统编程语言和编程工具72.4系统仿真软件83 硬件电路设计83.1 中央处理电路83.2 振铃检测电路93.3 模拟摘挂机电路113.4 双音多频解码电路123.5 语音电路143.6 控制电路144 软件程序设计154.1 总体流程图154.2 主程序164.3摘机中断服务程序174.4 语音播报子程序194.5 双音多频解码中断服务程序194.6 控制电器程序215 系统调试225.1 5V稳压电源调试235.2 振铃音检测调试235.3 模拟摘挂机调试235.4 双音多频检测调制245.5控制电器调试246 结论246.1 系统功能246.2 系统缺陷276.3 功能扩展276.4 前景展望28致 谢29参考文献30附 录311 引 言 随着社会的发展和科技的进步,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了极大的方便。与此同时,近十年来,中国的固定电话业务呈现出举世瞩目的快速增长。1997年8月局用电话交换机总容量突破1亿门,网络规模跃居世界第二位,2009年6月固定电话用户总数更是突破了10亿户大关。随着电话在家庭的普及,电话机的功能将进一步得到开发和利用。调查显示,用户迫切需要利用电话来传递更多的信息。随着通讯产业的发展,利用个人通信终端进行远程控制的技术也日益用于生活中。电话属双工通信手段,现代电话网络是由交换机和电话传输线共同组成,它的性能已经有了很大的进展,而且可靠性非常高。因此,这可以大大体现出利用电话进行遥控的更大优越性。操作者可以通过各种提示音即时了解受控对象的有关信息,从而进行进一步的操作。目前,我国已具备程控交换机开放多种新业务的条件:首先有发达的公众通信网络基础。其次有先进的传输技术和交换技术,再次有社会需求的增长和提高。利用电话实现家用电器遥控是家电未来的发展方向之一,具有广阔的市场前景。电话遥控这一课题在国内外目前都已经有涉足者,但是目前都处于实验阶段,因而距离实际应用及其日常生活尚有一定的差距,故不能完全体现出电话遥控方式的双工通信的特点,并且开发思维都仅仅局限于家用电器这一方面,沿着单一的单片机及其软件行业冲刺,竞争压力大,瓶颈比较窄,设计的产品往往都受制于人,如“需要电信或者移动等通信部门的技术支持以及规划;开展各种业务平台”等等。在本课题中,着重研究基于电话控制的家庭智能系统。这个系统可以用于控制家庭中的电器设备。在把系统与固定电话线相连之后,用户可在拨号之后听到操作提示,就像使用电话问答机一样。在用户拨通他们家的电话时,根据语音提示键入特定的电话按键,电话会告诉系统做相关的操作,比如开空调请拨1号键,关空调请拨4号键;开洗衣机请拨号键2,关洗衣机请拨5号键,开电饭锅请拨3号键,关电饭锅请拨6号键,退出系统请拨#号键等等,用户通过语音提示并根据实际需要进行选择,从而实现对家用电器的远程控制。本系统的目的在于不需要对电话线路进行任何的修改,只需要将受控电器的控制端口与中央处理单元连接,即可在24小时内的任意时间段,达到远距离控制电器设备的目的。它实现了低成本单一器件与大多数家电及其设备多元一体化互补结合,进而解决了现有家电使用单一,操作功能具有局限性的问题,让家电及其设备按照人们的意愿达到远距离的智能化控制。 “电话遥控”作为一种新的课题研究,与常规的遥控方式相比,显示出很大的优越性,例如:不需要进行专门的线路修改,不占用无线电频率资料,不需要与通信部门进行交涉,而且避免了电磁污染。同时,由于电话线路各地联网,故可以充分利用现有的电话网,并且遥控距离无所限制,可以跨越省市,甚至可以跨越国家。2 系统综述2.1 家用电器远程控制器的基本工作过程基于AT89S52单片机的家用电器电话控制系统的工作原理是:当有电话打入时振铃电路检测到电话振铃信号,等待系统默认的振铃次数后启动自动摘机电路实现摘机,同时送出提示音信号,用户输入预先设定的密码,控制装置通过双音多频解码电路读取输入密码,与预设在控制装置中的密码进行对比验证。如果密码错误系统自动挂机;密码正确则进入控制状态。进入系统后,该装置通过双音多频解码电路获得用户发出的命令并根据用户的命令执行开机关机等操作。当人在默认的振铃次数之前接电话不进入电话控制状态,因此不影响电话的正常使用。2.2 家用电器远程控制器的总体构成本系统是以单片机AT89S52为核心、基于电话网络开发的家用智能电器远程控制器。利用电话网传输数字和语音信息,利用基于ISD1760的语音处理技术以及DTMF解码技术的远程控制部分接收电话网发送来的DTMF信号,并对其进行解码,解码后由中央处理器AT89S52根据解码信息控制对应的家用电器的开与关, 从而实现智能住宅中电器远程可控化。该系统主要包括电话振铃检测电路,电话自动摘机和挂机电路,DTMF信号解码电路,语音提示电路,以及音频放大电路,其系统框图如图2.1所示: 图2.1 家用电器远程控制器的系统总体框图在家用电话远程控制器系统中,振铃音检测是整个系统工作的前提,该部分通过光电耦合器4N25进行隔离转换,并通过反相器74LS04进行整形,得到标准的方波,方波信号就可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。自动摘挂机电路是整个系统工作的基础,只有电话接通,才能够完成后续的一系列操作。自动摘挂机电路可以通过一个由单片机控制的电子开关,它负责将电话线与实验板内部电路的接通和断开。平时该开关处于断开(即挂机)状态,以免影响线路上其他电话设备的正常工作,当实验板接收5次铃流信号以后,该开关将在单片机的控制下输出一个摘机信号,完成自动接通(即摘机),此时远程信号才能进入到实验板内部的后续电路中。双音多频解码电路使整个系统工作的关键,它的工作情况直接决定了系统的可靠性。经过翻阅大量的文献资料,我发现使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法。使用集成电路不但外围电路简单,而且可靠性强。经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取。一般常用的电话双音频编解码集成电路有MT8870、MT8880、MT8888等,经过反复论证比较,我决定使用双音频解码集成芯片MT8870来完成此功能模块。双音频解码电路的作用就是将线路上远方送过来的各种控制信号转换为4位二进制的数字信号。由于电话机按压按键时,每拨一个号码,发出去的都是由两个不同频率的音频信号组合起来的双音频成分,因此叫“双音多频”。比如拨0号键时,发出去的两个音频信号分别是941Hz以及1336Hz。这就是说,远程控制指令在电话线路上传输的是双音多频信号。由于单片机不能识别双音多频信号,因此实验板在接收到双音多频信号之后,必须首先将其转变为数字信号,才能被单片机识别和处理。语音录放电路的主要作用是用于方便的录制以及播放用于遥控操作过程中的语音提示。本实验板选择的是常见的ISD1760语音芯片,该芯片具有可以录音时间为60秒,可分段录放音,掉电后存储内容不丢失等多种优点,完全能够满足试验需求。控制电路比较简单,即通过单片机控制多路继电器的开关即可,常用的电路已经很成熟,在此就不累述了。 根据电话机和交换机发出的不同信号音以及电话线各种状态的不同要求,我结合实际情况对具体的单元功能模块作出软件或硬件上的不同分工,具体如下: 理论上交换机所发出的各种信号音都可以通过软件编程而识别,即通过单片机发出的脉冲信号来检测信号音单位时间内的脉冲个数计算出其频率,从而完成信号音识别。但是从系统的可靠性和程序的结构设计上分析,我选择了硬件来解决振铃音检测、双音多频信号解码等功能模块。 自动摘挂机和语音提示以及电器的控制必须使用具体硬件电路来实现。 振铃音计数、输入信息分析、控制电器开关、电器状态查询等功能模块使用软件编程方式要比硬件电路简单的多,实现也很容易。 综上所述,我设计的振铃音检测、自动摘挂机、控制电器、双音多频解码、语音提示播报等功能模块使用硬件电路实现。而信号音计数、信息分析、电器状态查询等功能模块使用软件编程完成。2.3 系统编程语言和编程工具汇编语言是一种最接近计算机核心的编码语言。不同于任何高级语言,汇编语言几乎可以完全和机器语言一一对应。汇编语言是除了机器语言之外最接近计算机硬件的编程语言。由于它如此的接近计算机硬件,因此,它可以最大限度地发挥计算机硬件的性能。用汇编语言编写的程序的速度通常要比高级语言和C/C+快很多-几倍,几十倍,甚至成百上千倍。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的。使用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具会令你事半功倍。2.4系统仿真软件Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,可以尽可能减少仪器对测量结果的影响。Proteus软件提供丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。 鉴于此,我选择汇编语言作为软件编程的语言,编程工具为Keil C51,仿真工具为Proteus。下面就硬件以及软件实现的单元电路分别进行具体分析。3. 硬件电路设计本系统使用了大量的硬件电路完成部分功能模块,其目的就是充分利用硬件电路的可靠性、稳定性,使整体电路达到比较高的稳定性。3.1 中央处理电路 单片机是整个电话遥控系统的核心。系统所有电路都是在它的控制下工作的。经过比较,本装置采用的中央处理器是ATMEL公司生产的AT89S52单片机。AT89S52单片机是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在其单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,两个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,且允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52芯片引脚如图3.1所示: 图3.1 AT89S52芯片引脚3.2 振铃检测电路当用户被呼叫时,电话交换机发来铃流信号。振铃铃流为253Hz的正弦波,谐铃失真不大于10%,电压有效值9015V。振铃以5秒为周期,即1秒送,4秒断。根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器。经过光耦的隔离转换,从光电耦合器输出的波形是时通时断的正弦波,经过反相器74LS04进行整形,输出很标准的方波。方波信号就可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。具体电路如图3.2所示。原理说明:电话振铃信号通过电容C21隔直滤波、D6稳压二极管、R12限流电阻输入至光电耦合器4N25的输入端1口,C21、D6和R12共同组成振铃信号变换电路,它们使输入电压和电流不会太大,对后面的光电耦合器起保护作用。采用光电耦合器4N25起的是隔离作用,光电耦合器是一种电信号的耦合器件,它一般是将发光二极管和光敏三极管的光路耦合在一起,输入和输出之间不可共地,输入电信号加于发光二极管上,输出信号由光敏三极管取出。 光电耦合器以光电转换原理传输信息,它不仅使信息发出端(一次侧)与信息接收并输出端(二次侧)是绝缘的,从而对地电位差干扰有很强的抑制能力,而且有很强的抑制电磁干扰能力。同时还具有速度高、价格低、接口简单等优点。振铃信号通过光耦4N25的4脚输出振铃正弦信号,连接到单片机AT89S52的/INT0/P3.2口,中断方式采用外部中断,计数100次产生T0中断,控制作为电子开关的三极管模拟摘机,完成振铃音检测。 图3.2 振铃检测电路原器件选取原则:1. C21隔直电容,因为是过滤直流,滤出低频信号,而且振铃信号的电压比较高,因此选取0.22F耐压250V的瓷片电容;2.D1为稳压二极管,选取整流二极管1N4004;3.R12是4N25的限流电阻,取10k;4.IC1选取光电耦合器4N25;5.74LS04两组反向器,起整型作用;由于从来没有接触过电话方面的问题,对电话原理不甚了解,感到这一部分比较抽象,因此采用Proteus进行仿真。下面是仿真原理图及仿真结果,如图3.3及3.4所示: 图3.2 振铃检测仿真原理图图3.3 振铃检测仿真原理图图3.3 振铃检测仿真结果图3.4 振铃检测仿真结果(黄线为输入的振铃信号,绿线为光耦输出端信号)3.3 模拟摘挂机电路设计主要思路:根据国家有关标准规定:不论任何电话机,摘机状态的直流电阻应300,有“R”键的电子电话机的摘机状态直流电阻应350。在挂机状态下,其漏电流5A。 当用户摘机时,电话机通过叉簧接上约300的负载,使整个电话线回路流过约30mA的电流。交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。根据有关技术指标,模拟摘挂机电路设计如图3.5所示: 图3.5 自动模拟摘挂机电路原理说明:电路如图所示,由QD1、VT1以及VT2等元件组成,L1,L2是电话线,QD1的作用是将电话线上的不确定极性的电压转换成确定极性的电压。TP3为开关的控制端,当TP3为低电平0时,三极管VT2截止,其集电极没有电流流过,此时VT1由于没有偏置电压也不导通,相当于开关断开,此时电路处于挂机状态。当TP3为高电平1时,三极管VT2导通,其集电极电流通过电阻R19给VT1提供偏置电流,此时VT1导通,相当于开关接通,电路处于摘机状态。此时,VT1就是一个受TP3控制的电子开关。TP3与单片机的P3.0端口相连,通过控制单片机P3.0端口的状态就能够实现开关的导通与断开,从而实现摘机和挂机。根据设计原理,原器件选取如下:1. VT1三极管是起模拟电子开关的作用,取5401; 2. QD1由四个稳压二极管1N4004构成,进行极性转换;3.4 双音多频解码电路 双音多频DTMF信号解码电路由MT8870主要承担。它的2、3脚接收来自电话机的双音多频脉冲信号。该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11-14脚)输出相对应的8421BCD码。双音多频解码芯片MT8870内部结构图如图3.6所示: 图3.6 双音多频解码芯片内部结构图MT8870的数据输出端Q4 Q1连到AT89S52的P0口的P0.0 P0.3,CPU经P0口识别4位代码。电话按键与相应译码(Q4Q1)输出见附录。其中,A,B,C,D 4个按键常被当作R/P,REDIAL,HOLD,HANDSFREE等功能使用。注意,需要特别指出的是,对于“0”号码,MT8870输出的8421码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,MT8870输出的8421BCD代码分别为“1011”和“1100”。有些技术资料会出现错误,包括比较权威的手册,所以在编程时要特别注意按键对应的BCD码,不能想当然。双音多频解码芯片MT8870引脚图如图3.7所示: 图3.7 MT8870引脚图为了使单片机AT89S52获取有效数据,MT8870的STD有效端经反相后接CPU的/INT1引脚。当MT8870获取有效双音多频信号后,STD电平由低变高,再反相为低,CPU检测后,指示P0口接收有效二进制代码。而无效的双音频信号(电话线路杂音、人们的语音信号等)不会引起MT8870的STD端变化的。DTMF解码器外围电路如图3.8所示: 图3.8 MT8870双音多频解码电路3.5 语音电路语音电路的主要作用是用于方便的录制以及播放用于遥控操作过程中的语音提示。本录音电路采用了两种工作模式:即独立按键工作模式以及单片机模拟按键模式。电路图如图3.9所示: 图3.9 语音电路原理说明:独立按键模式控制语音录入及播放功能。在独立按键模式下,与2脚相连的LED1为录放音指示灯,与按键S3相连的第24脚为录音控制端,低电平有效,就是按压S3不松手,使24脚保持低电平,才能进行录音,在录音时LED1会一直保持点亮状态,直到录音结束。一旦将按键松开,该引脚变成高电平,录音就会停止,由于选择的采样电阻为60K,它介于53K和80K之间,因此理论上可以录音50秒左右,实测总的录音时间为54秒左右。与按键S2相连的第23脚为放音控制端,下降沿有效,就是按压一下按键S2,即给23脚一个下降沿脉冲,该芯片就能进入放音状态,直到一段声音放完为止,在放音的过程中,指示灯会一直闪亮直到放音完毕。在单片机模拟按键模式下,芯片的23脚不仅要与与按键S2相连外,还要与单片机的P1.0口相连,以便实现远程放音控制,即通过电话遥控放音。只要控制单片机,使其P1.0输出一个低电平,并延时1S左右,然后再输出一个高电平,就可以完成模拟按键,从而实现播音。芯片的10、11脚为录音输入端,MIC为本地录音话筒,第13、15脚为放音输出端,虽然该芯片内部输出的声音信号非常微弱,但是在13、15脚之前已经皆有内部功率放大,因此输出声音仍然很清晰。3.6 控制电路 图3.10 控制电路本单元电路主要由大电压大电流八达林顿阵晶体管阵列ULN2804和继电器控制电路组成,电路图如图3.10所示。原理说明:首先,单片机AT89S52从P3口的高三位P3.5、P3.6、P3.7输出三位控制信号OUTA、OUTB、OUTC,一同加在反相器ULN2804的输入端IN1、IN2、IN3。当解码成功后,单片机输出的三位控制信号为高电平,经过反相器ULN2804反向放大之后,在反相器的输出端OUT1、OUT2、OUT3输出为低电平。反相器的每个输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。二极管指示灯串联在每一个控制电路中作为电器开关指示灯。这样就可以完成单片机对多路电器的远程控制。4 软件程序设计本系统的软件设计主要分为系统初始化、振铃检测计数、自动摘挂机、双音多频信号分析处理、控制电器、语音提示等部分。每个功能模块对于整体设计都是非常重要的,单片机AT89S52通过软件程序才能很好的对外部的信息进行采集、分析和决策。下面,就整体设计以及每个单元功能模块分别进行说明。4.1 总体流程图 图4.1给出了家用电器远程智能测控系统的总体流程图。 图4.1 总体流程图4.2 主程序该家用电器远程控制器的主程序主要完成的功能是:定义IO端口、CPU内部初始化、初始化内部RAM、检测振铃等工作。图4.2给出了家用电器远程控制器的主程序流程框图。 图4.2 主程序流程图4.3 摘机中断服务程序摘机中断服务程序主要完成的功能是4S铃流后自动摘机,并控制语音芯片播放提示语音,将提示音传送到电话线上,用以告知用户。自动摘挂机电路是整个系统工作的基础,只有电话接通,才能够完成后续的一系列操作。由于振铃铃流为25Hz的正弦波,而且振铃1秒送,4秒断,即以5秒为周期。通过计数器T0的外部中断方式来实现。即对振铃音计数100次,就可以实现4S定时,引起外部中断T0,于是进入中断服务程序,使单片机P3.0输出高电平的摘机信号,从而完成自动摘机。自动摘机之后,单片机采用模拟手动按键的方式控制语音芯片播音。图4.3给出了家用电器远程控制器的摘机中断服务程序流程框图。摘机中断服务程序代码如下:INT0_RING:NOPPUSH PSW ;现场保护INC RING_COUNT ;振铃来一次计数一次MOV A,RING_COUNTCLR CCJNE A,#100,INTR_EXIT ;计数100次后,即等待4秒,自动摘机MOV RING_COUNT,#00H ;振铃计数器清零SETB HOOK ;摘机SETB HOOK_FLAG ;置摘机标志NOPCLR PLAY ;播放录音LCALL DELAY1S ;单片机模拟放音,延时1SSETB PLAY ;播放录音控制完毕,录音播放到电话线上CLR EALCALL DELAY5S ;延时15S,ISD1720录音时间约为14秒 LCALL DELAY5SLCALL DELAY5SSETB EA INTR_EXIT:NOPRETI 图4.3 摘机中断服务程序流程图4.4 语音播报子程序语音录放电路的主要作用是用于方便的录制以及播放用于遥控操作过程中的语音提示。语音提示子程序已经嵌套在摘机中断服务程序中,这里着重描述如何实现单片机模拟按键实现语音播报的功能。在独立按键模式下,放音操作有两种工作模式,分别是边沿触发和电平触发,都由/PLAY 管脚触发。在边沿触发模式下,点按一下PLAY 键,/PLAY 管脚电平变低便开始播放当前段的语音,并在遇到EOM 标志后自动停止。放音结束后,播放指针停留在刚播放的语音起始处,再次点按放音键会重新播放刚才的语音。在放音期间,LED灯会闪烁直到放音结束时熄灭。点击按键的时间一般为几百毫秒,因此,为了保险起见,在采用单片机模拟按键的时候,延时一秒左右,形成确定的低电平,从而启动放音功能,在调用延时15秒左右,将语音信号送到电话线上面,最终完成语音播放。语音播放的时序图如图4.4所示: 图4.4 语音播放时序图语音播放子程序代码如下:CLR PLAY ;播放录音LCALL DELAY1S ;单片机模拟放音,延时1SSETB PLAY ;播放录音控制完毕,录音播放到电话线上CLR EALCALL DELAY5S ;延时15S,ISD1720录音时间约为14秒 LCALL DELAY5SLCALL DELAY5S4.5 双音多频解码中断服务程序双音多频DTMF信号解码电路由MT8870主要承担。它的2、3脚接收来自电话机的双音多频脉冲信号。该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在数据输出端(1114脚)输出相对应的8421BCD码,与此同时,在延时导引输出端(15脚)会输出一个正脉冲,该正脉冲经过反向器74LS04反向之后,变为负脉冲,联结至单片机P3.3脚INT1口,引起外部中断,进入中断服务程序。在中断服务程序中,单片机通过P0口的低4位读取DTMF输出的8421BCD码,此时需要屏蔽P0口的高四位。然后单片机通过分析DTMF信号与二进制的对应关系确定输入的DTMF所对应的键值。例如,如果单片机接收到的8421BCD码是0001H,那么由DTMF信号与二进制的对应关系可知,对应的为1号键,因此,将P3.5脚置高,用以控制对应的家电。其余键值的分析以此类推。双音多频解码中断服务程序代码:DTMF_START: SETB EX1 ;初始化外部中断1,即DTMF输出中断 SETB PX1 SETB IT1SSS: CPL RUN JB HOOK_FLAG,DTMF_START ;有振铃及摘机后,准备接收DTMF信号 NOP LCALL DELAY1S NOP NOP LJMP SSS双音多频解码中断服务程序的流程图如图4.5所示: 图4.5 双音多频解码中断服务程序流程图4.6 控制电器程序 控制电路主要由大电压大电流八达林顿阵晶体管阵列ULN2804和继电器控制电路组成,单片机通过分析DTMF信号与二进制的对应关系确定输入的DTMF所对应的键值。如果输入的是1号键,则单片机P3.5脚输出高电平,经过ULN2804反相,输出低电平,继而驱动继电器1闭合,点亮对应的LED1,完成模拟打开电器的功能;如果输入的是4号键,则单片机P3.5脚输出低电平,经过ULN2804反相,输出高电平,继而驱动继电器1断开,熄灭对应的LED1,完成模拟关闭电器的功能;本系统总共可以模拟控制三路电器,其余两路电器的控制过程以此类推。控制电器的流程图如图4.6所示: 图4.6 控制电器流程图控制电器程序如下所示:DTMF_OUT: MOV A,P0ANL A,#0FH ;屏蔽高位,DTMF信号来自低4位D0-D3 CJNE A,#01H,DTMF_OUTB ;判断输入是否为1号键 SETB OUTA ;为1号键,则控制继电器A输出 LJMP DTMF_EXIT DTMF_OUTB: CJNE A,#02H,DTMF_OUTC ;判断输入是否为2号键 SETB OUTB ;为2号键,则控制继电器B输出 LJMP DTMF_EXITDTMF_OUTC: CJNE A,#03H,DTMF_OUTA_OFF ;判断输入是否为3号键 SETB OUTC ;为3号键,则控制继电器C输出 LJMP DTMF_EXITDTMF_OUTA_OFF: CJNE A,#04H,DTMF_OUTB_OFF ;为4则关闭继电器A输出 CLR OUTA LJMP DTMF_EXITDTMF_OUTB_OFF: CJNE A,#05H,DTMF_OUTC_OFF ;为5则关闭继电器B输出 CLR OUTB LJMP DTMF_EXITDTMF_OUTC_OFF: CJNE A,#06H,DTMF_HOOK_OFF ;为6则关闭继电器C输出 CLR OUTC LJMP DTMF_EXITDTMF_HOOK_OFF: CJNE A,#1011B,DTMF_EXIT ;为*则挂机 CLR HOOK ;挂机 CLR HOOK_FLAG 置挂机标志位DTMF_EXIT: NOP NOP NOP RETI5 系统调试本装置的调试主要分为硬件调试、软件调试和联机调试等三大部分。经过初步的分析设计后,在制作硬件电路的同时,调试也在穿插进行。这样有利于问题的分析和解决,不会造成问题的积累,而且不会因为一个小问题而进行整体电路的检查,从而可以节约大量的调试时间。软件编程中,我是首先完成单元功能模块的调试,然后进行系统调试,整体上与硬件调试的方法差不多。联机调试是最重要的一部分,同时也是本装置成功的关键。5.1 5V稳压电源调试电源部分采用我大三时自己制作的正负12V双边可调直流稳压电源。该系统使用单5V稳压电源供电,要求交流成分小。经过示波器测量5V稳压电源输出端,其交流部分电压的峰-峰值为6mV,符合本装置的电源要求,稳压电源调试完毕。5.2 振铃音检测调试在本单元电路制作前期,实验室中无模拟交换机,无法产生振铃信号,我只好在完成此部分的焊接后回宿舍中完成其测试。将实验板的电话线两端并联在电话机两端,摘机拨打宿舍的电话号当送来测试振铃音时,用万用表的直流档测量光电耦合器4N25的输出端,有明显的电压,这说明可以形成中断响应信号。单片机INT0所响应的外部中断信号是低电平有效,因此在光耦输出端接了两个反向器。经过两个反向器的反向整形作用,输出为标准的方波,送入单片机INT0口进行计数。经测试,本单元电路完全正常,振铃检测部分调试完毕。5.3 模拟摘挂机调试开始设计的自动摘挂机电路是通过单片机控制一个继电器的开关,继电器的控制端连接一个大约300的电阻接入电话线两端,从而完成模拟摘挂机。本电路难点在于耦合变压器的选取,因为电话线中直流电压比较高,而且还有各种信号音,这些都会影响到语音信号加载到电话线上,因此本系统必须使用一个耦合变压器作为隔离器件。这个耦合变压器的阻抗匹配问题是设计的难点。起初我查阅有关资料并没发现具体参数,就在市面上买了一个普通的话音变压器,但是实测的时候效果不佳,测试发现话音变压器实际的输入输出阻抗并不是1:1,即阻抗不匹配。后来看到可以邮购这种电话语音专用耦合变压器,其具体性能都很优秀,但是价格太高,不符合我的设计原则,只得放弃。经过查阅大量的资料,后面自动摘挂机电路修改为通过一个由单片机控制的电子开关,它负责将电话线与实验板内部电路的接通和断开。平时该开关处于断开(即挂机)状态,以免影响线路上其他电话设备的正常工作。当实验板接收5次铃流信号以后,该开关将在单片机的控制下自动接通(即摘机),此时远程信号才能进入到实验板内部的后续电路中。实测效果较好,只是在不同的地方,振铃信号的频率有所不同,导致自动摘机时间稍有不同。在调试的过程中,我遇到了一个比较奇怪的问题,就是在拨打电话时,大约经历4S之后,电话可以检测到振铃并完成自动摘机功能,可是语音芯片并没有播放提示音,而每当我用起子碰触光耦4N25的6脚时,语音芯片就可以正常工作。查阅光耦的芯片资料发现,通常应用中6脚是悬空的,在数字电路中,虚空就意味着状态不定,可能是高电平,低电平,也可能是高阻态。在同学和导师的提示下,我将6脚接到电源上面,给它一个稳定的高电平,从而避免了干扰。在解决了光耦引脚悬空的问题之后,语音芯片任然不能按照理论上的时序工作。可是在独立按键模式下,录放音都很顺利。因此我怀疑问题应该出在单片机模拟手动按键的过程中。我仔细阅读了ISD1760语音芯片的放音工作时序图,发现了自己曾经忽略的问题。在时序图中,要想启动放音功能,必须给PLAY引脚足够长的低电平,这个时间必须大于Tdeb才能完成启动工作。Tdeb这个时间也就是在独立按键状态下,人手工按键的时间。这个时间一般至少有几百毫秒,为了形成确定的低电平,这里我首先延时500毫秒。实测之后发现效果不理想,然后将延时时间改变为1秒,实测之后效果较好,自动摘机后即可顺利播放语音。5.4 双音多频检测调制双音频检测是整体电路一个比较重要的过程,它的调试主要围绕着双音多频解码芯片MT8870展开的。在调试的时候,解码电路经常会出现解码出错的情况。经过仔细检查电路,仿真机单步执行进行调试,确认硬件电路无误,诊断为MT8870的问题。根据我的初步分析认定可能是芯片老化的原因,因为该芯片的生产时间是99年。后更换MT8870发现本装置工作很正常,而且更换上MT8870工作了将近一个月,整体电路没有发生任何解码误码情况,MT8870在最后的联机调试过程中也没有出现任何问题。芯片MT8870中的STD端是高电平有效,而AT89S52中的/INT1端是低电平触发产生中断,所以STD端要与/INT1端连接,应该加个反向器74LS04,否则系统将会出错,无法进行下一步调试。5.5控制电器调试单片机AT89S52从P3口的高三位P3.5、P3.6、P3.7输出三位控制信号OUTA、OUTB、OUTC,一同加在反相器ULN2804的输入端IN1、IN2、IN3。当解码成功后,单片机输出的三位控制信号为高电平,经过反相器ULN2804反向放大之后,在反相器的输出端OUT1、OUT2、OUT3输出为低电平。反相器的每个输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。二极管指示灯串联在每一个控制电路中作为电器开关指示灯。这样就可以完成单片机对多路电器的控制。控制电器这部分的外围硬件电路很容易,在调试过程中顺利完成。6 结论6.1 系统功能本系统使用起来非常方便,下面我就系统使用流程图做一下简单的使用方法介绍。首先用户把本装置的信号线并联在电话线的两端,插上电源线,打开电源开关,本装置自动复位,就能正常工作了。当用户从异地打来电话,本装置接收到电话振铃音,开始计数。当电话铃声计到五次,装置自动摘机,回送提示音提示输入想要控制的电器,用户就可以对装置所连的电器进行选择,然后根据需要对其进行开关控制。当用户输入正确的密码后,用户就可以对装置所连的电器进行选择,然后根据需要对其进行开关控制。按“1”键对 电器进行开控制,按“4” 对 电器进行关控制;按“3”键对 电器进行开控制,按“5” 对 电器进行关控制;按“3”键对 电器进行开控制,按“6” 对 电器进行关控制,按“*”退出本系统,电话挂机。用户可以在一次“通话”中同时控制几个电器。如果用户控制完毕,可以按*键让装置自动挂机,结束“通话”。而已经开启的电器将保持其开启的状态,直到下一次的“通话”控制使其关闭。本装置使用起来简单易学,而且功能强大。下面的一组图片显

温馨提示

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

评论

0/150

提交评论