智能型电话远程遥控器_第1页
智能型电话远程遥控器_第2页
智能型电话远程遥控器_第3页
智能型电话远程遥控器_第4页
智能型电话远程遥控器_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1智能型电话远程遥控器摘 要本系统采用 AT89C51 单片机和双音多频解码集成电路 MT8870 为核心,通过电话线路实现遥控功能的远程多路智能控制器。该系统实用、可靠、功能灵活多样,可以对被遥控对象的状态进行查询以及控制,可以广泛的应用于家用电器或者其它场所的各种控制设备。关键词:电话 远程控制一 系统总体介绍1.1 系统硬件电话智能遥控器由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。其中包括振铃检测、摘挂机控制、忙音检测、双音频 DTMF 识别,及语音提示电路,外受电路。系统原理框图如图 1-1 所示AT89C51 单片机振铃检测 摘挂机控制双音频 DTMF 识别语音提示电路外受控电路电话机本地操作图 1-1 总体设计框图本装置并联于电话机的两端,不会影响到电话机的正常使用。用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号。本装置如果检测到振铃五次,即五次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回。本系统的每一个接口电路(振铃检测、模拟摘挂机、语音反馈、双音频解码等)都已经经过实际的交换机在线实验,具有很强的实用性。本系统使用最简单的电路、最便宜的电路芯片实现了完善的功能。语音提示电路是该作品重要组成部分,也是我们作品的一个亮点。我们采用了美国 ISD 公司的 ISD2590 语音芯片。语音事先录入芯片,根据实际情况由单片机控制产生相应的地址代码,对语音进行寻址,并通过反馈电路反馈至电话外线。从而使操作者对电器的操作达到交互式,2并能即时了解有关的信息。外受电路控制部分即受控的终端,可通过接不同的终端并对电话进行必要的改动从而达到功能的扩展。这一点,可使产品达到系列化,应用性相当广泛。本系统还有许多可以添加的功能,具有很强的市场前景。1.2 系统软件我们采用 AT89C51 单片机作为系统软件控制部分。软件主要实现振铃计数,摘挂机控制,语音芯片寻址,受控电路控制及工作状态查询等功能。二 系统各模块设计介绍2.1 铃音检测、计数模块2.1.1 可行性分析家用电话机在挂机状态下线路上存在一个约 50V 的直流电压。当用户被呼叫时,电话交换机发来铃流信号。拒参考文献:振铃为 253 伏的正弦波,失真度不大于 10%,电压有效值 9015V。振铃以 5 秒为周期,即 1 秒送,4 秒断。根据振铃信号的这个特点我们可以将这个信号整流成脉冲信号从而可以用单片机对其进行计数。2.1.2 实际电路分析如图 21 所示:根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器。经过光耦的隔离转换,从光电耦合器输出的波形是时通时断的正弦波,经过反向器后输出很标准的方波。方波信号就可以直接输出至单片机的计数器输入口,完成整个振铃音检测和计数的过程。图 2-1 振铃检测电路2.2 自动摘挂机模块2.2.1 可行性分析根据国家有关标准规定:不论任何电话机,摘机状态的直流电阻应300,有“R”键的电子电话机的摘机状态直流电阻应350。在挂机状态下,其漏电流5A。当用户摘机时,电话机通过叉簧接上约 300 的负载,使整个电话线回路流过约 30mA 的电流。交换机检测到3该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。2.2.2 实际电路分析图 2-2 摘挂机电路如图 2-2 所示: 模拟摘挂机电路主要由一个 NPN 三极管控制。摘挂机信令由单片机通过使 TXD/P3.0 口变为高电平实现。经过两个反向器驱动发光二极管 D1 指示摘机,同时改变三极管 T1 的基极电压,使 T1 处于导通状态,从而开启继电器 J1,J1 使电阻 R3 接入电话线两端。因为 R3 的电阻为 200,使回路电流变大,控制电路向交换机发出模拟摘机的信号,交换机响应摘机信号,完成电话线路接通。整个电路完成自动模拟摘机过程。2.3 双音频检测模块2.3.1 原理简介双音频检测是整体电路一个比较重要的过程,它的调试主要围绕着双音多频解码芯片MT8870 展开的。MT8870 的连线如图 2-3 所示,它的 2、3 脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(1114 脚)输出相对应的 8421 码。MT8870 的数据输出端 Q4 Q1 连到 AT89C51 的 P1 口的 P1.4 P1.7,CPU 经 P1 口识别 4 位代码。电话按键与相应译码(Q4Q1)输出见附录。其中,A,B,C,D 4 个按键常被当作R/P,REDIAL,HOLD,HANDSFREE 等功能使用。注意,需要特别指出的是,对于“0”号码,4MT8870 输出的 8421 码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,MT8870输出的 8421 码分别为“1011”和“1100”。有些技术资料会出现错误,包括比较权威的手册,所以我们是在实验中,记录下测量的每一组数据后,才把这些数据应用于程序当中。图 2-3 双音频解码电路2.3.2 可行性分析为了使单片机 AT89C51 获取有效数据,MT8870 的 STD 有效端经反相后接 CPU 的/INT0 引脚。当 MT8870 获取有效双音多频信号后,STD 电平由低变高,再反相为低,CPU 检测后,指示 P1口接收有效二进制代码。而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起 MT8870 的 STD 端变化的。DTMF 接收器的外围电路如图 2-3 所示。其中,接在电源处的电容对抗干扰有一定的作用。在实际应用中,存在这样一个问题:MT8870 的使能控制端不允许中断时,将使 MT8870 的 STD 端中断关闭。其解决办法是,将 STD 端接与非门的一输入,与非门的另一输入端接一不定电平端 P。当 STD 有效(即中断开放)时,P = 1 则/INT0 中断关闭;P = 0 时则/INT0 中断允许。2.4 语音控制部分2.4.1 可行性分析2500 系列最多可分为 600 段,只要在分段录/放音操作前(不少于 300 纳秒),给地址 A0A9赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM) ;而放音时芯片遇到 EOM 标志即自动停止放音。放音时通过耦合变压器输出到电话线上,反馈给用户。5图 2-4 语音控制部分电路2.5 电器控制部分2.5.1 电路可行性分析当需要电器开启时,有单片机给出一个高电位信号经过一个电阻至三极管的基极。此时三极管导通,加在电阻和发光二极管上的电压为+VCC,继电器吸合,电器开始工作。如需要关闭电器只须将控制信号清零即可。另外我们采用直接从外部电路读取电器工作状态的方式,而不是读取单片机 I/O 口寄存器的方式。这样可防止出现外电路已断开而单片机还保持原来状态不变的误操作。图 2-4 电器控制部分电路三 串口电脑通信模块我们的作品另一个显著的特色是增加了与电脑的通信设置,通过电话拨号可以控制电脑播放音乐等相关操作。当然由于时间关系我们仅完成了电话-电脑点歌的部分, (这相当于核心工作)对于其他功能(电脑控制各种电器, )均可在此技术上进行扩展,由此看来那只是时间问题了。下面将该模块介绍如下:3.1 硬件电路6图 3-1 单片机串口通信电路本部分所用芯片是 MAX232,采用的是单片机串口通信典型电路,功能比较简单就不做详细介绍了。3.2 电脑串口通信界面3.2.1 界面程序设计简介我们使用 Microsoft 公司的 Visual Basic6.0 制作的电脑通信界面,其中用了串口通信控件 Mscomm 控件3.2.1.1 所用控件的主要属性、事件 1、WindowsMediaPlayer 的属性WindowsMediaPlayer 的属性很简单仅有 WindowsMediaPlayer.Controls 属性。调用 Controls.stop 可使所播放的音乐停止。调用 Controls.play 可播放目前已选中的音乐文件。1、MSComm 的属性 由于 MSComm 控件属性很多,在此笔者仅介绍与实现串口通讯密切相关的核心属性。 Commport:设置通讯所占用的串口号。如设成 1(默认值) ,表示对 Com1 进行操作。Setting:对串口通讯的相关参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值 是“9600,N,8,1”,表示串口比特率是 9600bit/s,不作奇偶校验,8 位数据位,1 个停止位。 Portopen:设置串口状态,值为 True 时打开串口,值为 False 时关闭串口。 Input:从输入寄存器读取数据,返回值为从串口读取的数据内容,同时输入寄存器将被清空。 Ouput:发送数据到输出寄存器。 InBufferCount:设置输入寄存器所存储的字符数,当将其值设为 0 时,则输入寄存器将被清空。 InputMode:设置从输入寄存器中读取数据的形式。若值为 0,则表示以文本形式读取;值为 1,则表示以 二进制形式读取。OutBufferCount:设置输出寄存器所存储的字符数,当将其值设为 0 时,则输出寄存器7将被清空。 RThreshold:设置在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 事件之前要接受的字符 数。 CommEvent 属性:返回最近的通讯事件或错误。通过对它具体属性值的查询,我们就可以获得通讯事件和通 讯错误的完整信息。当其值是 comEvReceive 时表示接收到数据。 2、MSComm 的事件 除了公共事件之外,MSComm 只有一个 OnComm 事件。当 CommEvent 属性值变化时将发生 OnComm 事件,指示发生 一个通讯事件或错误。当我们设置 Rtheshold 属性值为0 时,将使得捕获 comEvReceive 事件无效。3.2.1.2 程序简介在电脑接收数据时首先用 MSComm 的事件将单片机送过来的数据接收,并从文本格式转换成十进制数字形式,然后送到接收文本框中。待电脑检测到 txtReceive_Change 事件以后就会从文本框中读出数据然后按预先设置好的地址映射找到相应路径下的歌曲进行播放。3.2.2 电脑串口通信界面运行效果如图 3-2 所示。图 3-2 电脑串口通信界面四 单片机程序设计简介4.1 程序简介单片机 T0 作为为振铃计数用,计数次数由程序设定。T1 作为等待计时所用,防止用户长时间不操作而使得单片机一直处于等待状态。INT0 用于用户按键操作通过 MT8870 芯片的解码后数据的读入。4.2 程序流图8五 设计当中遇到的问题1. 振铃信号整形不彻底,总是会出现干扰

温馨提示

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

评论

0/150

提交评论