欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于AT89C51电话远程控制家用电器的设计.doc

    • 资源ID:975393       资源大小:484KB        全文页数:35页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于AT89C51电话远程控制家用电器的设计.doc

    1、本科毕业设计基于AT89C51电话远程控制家用电器的设计内容提要: 本文介绍了一种由单片机AT89C51、DTMF解码芯片MT8870和语音芯片APR9600组成的家电远程控制系统。本作品是针对电话遥控方式的双工通信特点进行了较大改进,采取单片机智能控制,利用不同的提示音达到对于不同操作的提示及对授控方状态的信息反馈,从而使操作者能够及时了解控方信息,使产品达到交互式与智能化。电话智能遥控器由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。该系统能够接收电话线上的DTMF信号,用户可通过拨打固定电话或移动电

    2、话,实现对家电的远程控制。关键词:电话网 远程控制 单片机 MT8870 APR9600A REMOTE CONTROL SYSTEM OF HOUSEHOLD APPLIANCES BASED AT89C51Abstract: This paper proposes a remote control system of household appliances, which contains AT89C51 MCU and the DTMF decoder MT8870. This article designs the multi-channel hospital bed call com

    3、munications system use special-purpose chip transmission, uses the monolithic integrated circuit multiple address code technology, each extension telephone establishment use different address code, when call the error rate is low, calls the main engine time does not disturb mutually. This ringing sy

    4、stem is one kind uses the address to arrange the decoding transmission mode, uses the monolithic integrated circuit to make the controller, the automatic storage newest call hospital bed number, and circulates the demonstration, the historical number use elimination key eliminates, has made the very

    5、 big improvement on the traditional ringing system, is the advanced medical multi-channel hospital bed correspondence ringing system. The system receives DTMF signal through a phone line and remote-controls the electric switches, the fixed telephone or mobile telephone. Thus it remote controls the h

    6、ousehold appliance or other equipments. Keywords: Telephone Network Remote Control Single-Chip Microcontroller MT8870目 录一、前言1二、总体方案设计2(一) 方案比较2(二)方案论证和选择3三、单元模块设计5(一)各单元模块功能介绍及电路设计5(二)特殊器件的介绍9四、软件设计14(一) 设计原理及设计所用工具14五、系统调试17(一)硬件仿真17(二) 软件调试18六、系统功能、指标参数20(一)系统能实现的功能20(二)系统指标参数测试20七、结论21八、总结与体会22致

    7、谢23附录24附录一:总电路图24附表二:主程序图25附表三:语音提示程序框图26附录四:部分设计源程序27参考文献3232基于AT89C51电话远程控制家用电器的设计一、前言近十年来,中国的固定电话业务呈现出举世瞩目的快速增长。1997年8月局用电话交换机总容量突破1亿门,网络规模跃居世界第二位,1999年7月固定电话用户总数突破1亿户。现代电话网络是由交换机和电话传输线共同组成,它的性能已经有了很大的进展,而且可靠性非常高。电话属于双工通信手段。因此,这可以大大体现出利用电话进行遥控的更大优越性。操作者可以通过各种提示音及时了解受控对象的有关信息,从而进行进一步的操作。电话遥控这一课题目前

    8、已有涉足者,但是只是还限于实验室阶段,因而距离实际应用,尤其是对于日常生活尚有一定的差距,并不能完全体现出电话遥控方式的双工通信特点。本作品正是针对这一点进行了较大改进,采取单片机智能控制,利用不同的提示音达到对于不同操作的提示及对授控方状态的信息反馈,从而使操作者能够及时了解控方信息,使产品达到交互式与智能化。本作品的各种电器接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。遥控技术是通过一定的手段对被控物体实施一定距离的控制,常用的方式有无线电遥控、有线遥控、红外线和超声波遥控等。无线电遥控既是利用无线电信号对被控物体实施远距离控制。无线电遥控不可避免的须占用一定的无线

    9、电频率资源,造成电磁污染;常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥控方式。载波方式即通过电力线传递信息,该方式只能局限于同一变电所、同一变压器所辖范围内。因此也存在距离问题,应用范围有限。基于无线寻呼的遥控方式利用了现有的寻呼频率资源,不需占用额外的频谱。而且,随着寻呼网的全国联网,其遥控的距离基本不受限制。但该方式的受控方动作滞后于控制方的操作,不具备实时性,而且不具备很高的可靠性。作品为突出电话遥控的信息反馈功能,并使产品达到非常高性价比。故未对电话装置的其他功能进行进一步的扩展,而且所有使用的集

    10、成电路和其它元器件都尽量选择廉价的。在该作品的基础上进行了功能扩展是很方便的。加上留言电路,主人不在家时客人留言。利用遥控方式可使主人很方便地在异地提取留言信息;在各路终端上接上传感器即可实现对环境声响的监听;接上自动拨码电路可定时将预定信息转至主人传呼机或特定电话,从而达到定时提醒主人的目的。本作品还可以应用于工厂企业的自动化控制等领域。二、总体方案设计 电话智能遥控器由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。其中包括铃流检测、摘挂机控制、双音频DTMF识别,及语音提示电路。系统原理框图如图1所示

    11、。电话接口语音接口振铃检测自动摘机DTMF解码CPU1# 被2# 控. . 对. . 象N# 图1 系统原理框图(一)方案比较方案一:此系统主要包括电话振铃检测电路,电话自动拾机和挂机电路,DTM信号解码电路 ,语音提示电路,以及音频放大电路,系统结构框图如图 2所示。当有电话呼入时,电话振铃检测电路检测到有振铃并等待系统默认的振铃次数后,控制器自动摘机。用户在语音提示下依次输入用户的操作密码和操作指令。DTMF解码电路将接收到DTMF解码后的数字信号送入AT89C51,若密码有误,系统自动挂机;当密码正确时,只需按语音提示依次完成一系列操作。当操作完成时,单片机根据返回的确认信息实现对相应的

    12、家用电器进行控制。电话接口APR9600语音芯片振铃检测自动摘机MT8870解码芯片AT89C51图2 方案一系统框图当有振铃信号到来时,电话接口电路送出脉冲信号,并利用单片机对此脉冲进行计数,如到到一编程振铃次数无人摘机,则系统就自动摘机,并送出语音信号,提示用户输入密码。同时,电话远程控制系统接收远端发送来DTMF信号,并由MT8870进行解码,解码后的信号再由中央处理单元AT89C51采集处理,完成用户的操作。方案二:此系统主要包括电话振铃检测电路,电话自动拾机和挂机电路 ,DTMF信号解码电路 ,语音提示电路,以及音频放大电路,系统结构框图如图 3所示。电话外线电话接口电路PIC16语

    13、音模块ISD4000被 控对象图3 方案二结构框图用ISD4000做语音存储,当振铃检测自动摘机后,送出提示音。提示用户输入密码。同时,电话远程控制系统接收远端发送来DTMF信号,并由MT8870进行解码,解码后的信号再由中央处理单元AT89C51采集处理,完成用户的操作。(二)方案论证和选择远程电话控制的基本要求都需要包括振铃检测、模拟摘机、信号音提示等各种功能,选取的关键在于各个芯片。处理器选择:处理器是整个设计环节中的关键,它主要起着数据处理和电器控制信号输出的重要作用。方案一选取了以51为核心的AT89C51单片机。对于其进行软件编程较为熟悉。方案二虽然PIC单片机在低功耗方面有很大的

    14、优势,但因其在在设计上复杂性,价格相对昂贵,在该设计中不适合使用。语音模块:语音处理芯片主要从存储音质效果好,存储时间,和容易控制方面考虑。方案一采用APR9600构成系统的语音模块。该芯片有串行和并行两种工作方式,最长可录音60秒,并且电路本身状态可查询,可以通过编程控制送出相应的语音信号。采用模拟存储技术,不怕掉电。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点,同时保留了ISD4000芯片的一些特点,都是DIP28双列直插塑料封装,在管脚排列上也基本相同。方案二采用了ISD400

    15、0芯片,其在性价比方面不如APR9600。通过以上比较,决定采用第一种方案。三、单元模块设计(一)各单元模块功能介绍及电路设计1振铃检测电路模块振铃电路的核心是振铃检测电路。在电话线路未来铃流前,电话线路由电话交换机提供大约52V的直流电压。当用户呼叫时,电话交换机发来铃流信号。振铃信号频率为253HZ的正弦波,谐铃失真不大于10%,电压有效值9015V。振铃以5秒为周期,即1秒送,4秒断。根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器。经过光耦的隔离转换,从光电耦合器输出的波形是时通时断的正弦波,经过RC回路进行滤波输出很标准的方波。方波信号就可以直接输

    16、出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。在本电路检测铃流信号时,以7次铃响为准,即7次振铃后无人摘机,便由单片机控制自动模拟摘机。振铃信号判别及振铃呼叫信号的产生由CPU软件实现。外线的25HZ/90V的振铃信号,经光耦合器耦合整形后,产生25HZ/5V的脉冲信号供CPU检测。电话振铃信号通过电容C1隔直、D1稳压二极管、R2限流电阻输入至光电耦合器4N25的输入端1口,C1、D2和R2和R1共同组成振铃信号变换电路,它们使输入电压和电流不会太大,对后面的光电耦合器起保护作用。光电耦合器4N25起的是隔离作用,光电耦合器是一种电信号的耦合器件,它一般是将发光二极管和光敏三

    17、极管的光路耦合在一起,输入和输出之间不可共地,输入电信号加于发光二极管上,输出信号由光敏三极管取出。2. 模拟摘挂机电路拟因为程控电话交换机对电话摘机的响应是电话线回路电流突然变大为约30mA的电流,交换机检测到回路电流变大就认为电话机已经摘机。当CPU检测到系统设定的振铃次数之后,送出摘机信号,驱动三极管Q6导通,电阻R9接入电路,Q4导通,实现摘机。当CPU检测到正确的密码,并按照用户设定要求工作后;或者检测到密码错误,CPU取消摘机信号,三极管Q6截止,系统挂机,如图4所示。图4 模拟摘挂机电路3. DTMF解码电路双音多频DTMF信号解码电路由MT8870负责。MT8870的连线如图5

    18、所示,它的2、3脚接收来自电话机的双音多频脉冲信号,该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高、低音频信号分开,再经高、低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(1114脚)输出相对应的8421码。MT8870的数据输出端Q1Q4连到AT89C51的P1口的P1.0 P1.3,CPU经P1口识别4位代码,为了使单片机AT89C51获取有效数据,MT8870的STD有效端经反相后接CPU的/INT0引脚。当MT8870获取有效双音多频信号后,STD电平由低变高,再反相为低,CPU检测后,指示P1口接收有

    19、效二进制代码。而无效的双音频信号(电话线路杂音)是不会引起MT8870的STD端变化的。DTMF接收器的外围电路如图3.3所示。其中,接在电源处的电容对抗干扰有一定的作用。在实际应用中,存在这样一个问题:MT8870的使能控制端不允许中断时,将使MT8870的STD端中断关闭。其解决办法是,将STD端接与非门的一输入,与非门的另一输入端接一不定电平端P。当STD有效(即中断开放)时,P = 1则/INT0中断关闭;P = 0时则/INT0中断允许。图5 双音多频解码电路此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。使用集成电路不但外围电路简单,而且可靠性强。经过专用集成电路的解码

    20、,信号转换成为不同的码制信号,可以直接被单片机读取。4音频放大电路利用 LM386低压音频功率放大器 ,LM386是为低压用户设计的功率放大器,内部增益为 20倍,在1脚和8脚接电阻和电容时,可使增益增加到200倍。用途广泛,使用方便,外接元件数目较少。本系统的音频放大电路如图6所示 。本电路比较难点在于耦合变压器T1的选取。因为电话线中直流电压比较高,而且还有各种信号音,这些都会影响到语音信号加载到电话线上,因此本装置使用一个耦合变压器作为隔离器件。音频放大集成电路LM386的连接比较简单,本装置使用的是LM386放大增益为50dB的连接方式。 图6音频放大电路(1)U3、R11、C6、C7

    21、共同组成音频放大电路,U3选取LM386,R11取1k,C6取10F的电解电容,C7取10F的电解电容;(2) T1是音频输出专用变压器。5语音提示电路电话网络为全双工通信,因此,可以通过电话线路反馈一些被控设备的信息给操作者,本作品中设计语音部分的目的就是使系统的人机界面更友好,方便操作。另外,也可以让操作者实时了解被控目标的状态。通过对一些语音电路的了解,和本系统的具体要求,我们选用APR9600构成系统的语音模块该芯片有串行和并行两中工作方式,最长可录音60秒,并且,电路本身状态可查询,可以通过编程控制送出相应的语音信号。采用模拟存储技术,不怕掉电。语音提示音电路如图7。 图7 信号音提

    22、示电路6电器控制电路此部分比较简单,通过单片机控制多路继电器的开关即可,常用的电路已经很成熟。具体电路如图8。图8电器控制电路7电源设计电路本设计所利用的电源是利用78系列组成的稳压电路。78系列的的应用电路,可实现正向的固定输出;输入端电容C12、C13用以旁路高频干扰脉冲及改善纹波。输出端所接电容C14,C15起改善瞬态响应特性、减小高频输出阻抗的作用。一般输出端无须接入大电解电容。此外,78系列稳压器自身也具有完善的短路和限流保护、过热保护和调整管安全工作区保护电路,因而它的工作是比较可靠。电路如图9。 图9电源电路(二)特殊器件的介绍1.AT89C51芯片(如图10)图10 AT89C

    23、51芯片引脚分布图AT89C51是一个低电压,高性能CMOS 8位单片机,内含4K bytes的可反复檫写的Flash只读程序存储器和128 bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双相输/输出(I/O)端口,同时内含两个外部中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将

    24、通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,

    25、将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚

    26、是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口管脚 备选功能;P3.0 RXD(串行输入口);P3.1 TXD(串行输出口);P3.2(外部中断0);P3.3(外部中断1);P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入);P3.6(外部数据存储器写选通);P3.7(外部数据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振

    27、荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储

    28、器取指期间,每个机器期两次,有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XT

    29、AL2不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.DTMF双音多频解码芯片 DTMF(Dual Tone Multi Frequency)双音多频信号解码电路是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的集成电路。它包括DTMF发送器与DTMF接受器。前者主要应用于按键电话作双音频信号发送器,发送一组双音多频信号从而实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号 。CCITT和我国国家标准都规定了电话键盘按键与双音多频信号的对应关系如表所示 表1 电话拨号数

    30、字对应的高低频率组合关系数字键盘高频组/Hz1209133614771633低频组/Hz697123A770456 B852789C941D电话远程控制系统采用MITEL公司生产的MT8870 DTMF接受器作为DTMF信号的解码核心器件。MT8870主要用于程控交换机、遥控、无线通信及通播系统 实现DTMF信号的分离滤波和译码功能输出相应16种频率组合的四位并行二进制码。MT8870具有拨号音抑制和模拟信号输入可调功能 所以在设计MT8870 DTMF解码电路时只需外加一些阻容元件即可。MT8880是我们应用电话拨号应用中常用的一款芯片,它集发送、接收于一体。如果设计得法还是一款相当稳定的I

    31、C,优点是:通过少量的几个元件就可以组成拨号及接收的电路。外部的电话线和MT8880不以直接相连,要通过隔离才能间接连接,一般隔离可以通过隔离线圈或整流桥来解决。MT8880是一款双音频的语音拨号芯片。通用二个音频信号形成一位的它数据信号发出去,一组为低频的、一是高频的信号。接收的对方把二个音频信号分别接收下来一查表就知道收到的是哪个数据了。远端用户发送的DTMF信号经耦合电容的隔直流作用后,由MT8870接收并进行译码输出的四位并行二进制数据直接与51单片机的P1.0P1.3连接 MT8870在DTMF信号码变换完成后 由STD端发送中断信号INT1 通知51数据准备好。3语音录放芯片APR

    32、9600APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、 不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格便宜,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点,同时保留了ISD2500芯片的一些特点,都是DIP28双列直插塑料封装,在管脚排列上也基本相同。在APR9600芯片的内部,录音时外部音频信号通过话筒输入和线路输入方式进入,话筒可采用普通的驻极体话筒,在芯片内话筒放大器(Pr

    33、e-Amp)中自带自动增益调节(AGC),可由外接阻容件设定响应速度和增益范围。如果信号幅度在100mV左右即可直接进入线路输入端,音频信号由内部滤波器、采样电路处理后以模拟量方式存入专用快闪存储器FLASHRAM中。由于FLASHRAM是非易失器件,断电等因素不会使存储的语音丢失。放音时芯片内读逻辑电路从FLASHRAM中取出信号,经过一个低通滤波器送到功率放大器中,然后直接推动外部的喇叭放音。厂家要求外接喇叭为16欧姆,实际试验用8-16欧姆均可,一般音量下输出功率12.2mW(16欧)。APR9600的录放控制有多种操作模式,为普通用户使用提供了极大的方便。总的来说分为串行控制和并行控制

    34、两种,由芯片MSEL1(24脚)、MSEL2(25脚)、/M8(9脚)的设置来实现,功能表如表3。其中每种操作模式都有对应的有效键,而且同一个键在不同操作模式下可能有不同的功能。因此在芯片设计、使用前用户应详尽了解芯片的各种操作模式,选择最合适自己的方式设计,电路也会变得非常简单。其中RE=0(置低电平)为录音状态;RE=1(置高电平)为放音状态。注2、/M1/M8键在有效段控放音时,按一下键即开始放音一段,放音期间再按一下即停止;如按键不放即循环放音。注3、/M1/M8键在有效段控录音时,按住不放为录音,松键即停止。四、软件设计(一)设计原理及设计所用工具从系统框图可以看出,电话前端电路完成

    35、的功能比较单一,主要完成一些信号的识别和转换,而MCU部分承担了系统大部分的工作,是本设计的重点。 我所选用的工具软件是Keil Uvision2,使用C语言编程的。本设计要实现的功能是能够准确识别用户身份和用户指令,在振铃到来时,如到编程振铃次数仍无人摘机,则本系统启动,同时提示用户输入密码,准备接受数据,进行身份识别,只有通过身份识别后系统才接受用户指令,通过MCU分析处理后执行相关的操作。系统的软件设计主要分为系统初始化、振铃检测计数、控制摘挂机、双音频信号分析处理、控制电器、信号音提示等部分。每个功能模块对于整体设计都是非常重要的,单片机AT89C51通过软件程序才能很好的对外部的信息

    36、进行采集、分析和判断。下面,就整体设计以及每个单元功能模块分别进行说明。整体流程图:根据系统要实现的功能,结合系统硬件电路,利用模块化编程思想,将程序划分为程序划分为以下几个模块:1主程序模块;2. 初始化模块3语音控制模块;4数据接收模块;5用户指令分析模块。以下给出部分模块的流程图及说明:1. 主程序模块本设计要实现的功能是能够准确识别用户身份和用户指令,在振铃到来时,如到编程振铃次数仍无人摘机,则本系统启动,同时提示用户输入密码,准备接受数据,进行身份识别,只有通过身份识别后系统才接受用户指令,通过MCU分析处理后执行相关的操作。软件通过T0对振铃脉冲进行计数,用外部中断0服务子程序来接

    37、受MT8870送来的数据,在主程序中判断当前用户本次输入是否完,要执行什么样的操作,并执行相应操作主程序模块控制整个软件的流程,根据系统当前状态调用不同子程序完成用户的各种操作,是软件系统的核心,本模块流程图(附表3)系统软件的主要功能:(1)系统身份认证功能,为了保证只有合法用户才能操作系统,电话远程控制系统上线以后,用户必须输入密码,待系统确认后才具有对系统的操作权限。(2)用户指令解释功能 对收到的用户信号,系统按照软件设定加以解释,并决定对语音提示电路寻址,播放相应的系统提示音,实现用户和电话远程控制系统间的交互操作,或者对外部受控设备发出相应的驱动信号。(3)软件定时功能系统软件设定

    38、系统自动复位的软件定时器,定时器的设置值规定了系统一次上线工作的最大时间。若一次工作超时,系统自动离线。进入待机状态。2.初始化模块本模块完成系统的数据配置,主要完成开中断T0,系统密码载入等操作。3密码检测模块密码校验的基本原理是:在系统初始化的时候把原始密码写入单片机内部的ROM存储区。当系统摘机时,要求输入密码,单片机把解码后的数据(使用者输入的密码)与存储在单片机程序存储器中的密码相比较。完全相等才能转到下一步,如果有不同,程序就跳转到出错子程序,开启语音提示,提醒用户输入密码错误。语音介绍功能提示受控对象输入密码正确?改变控制电器受控状态提示计数器加1N3次?挂机YYN 密码检测程序

    39、框图4.语音提示模块用户拨打电话,发出正确密码后,语音芯片APR9600送出提示音,让用户根据语音提示决定控制哪一个家用电器的开关。语音提示信号,是通过录音存储在芯片里,通过控制不同的状态方式,来调用相应的语音段,播放声音。在设计中,利用单片机的端口发出不同的控制信号。程序设计思路是:密码校验后,来启动语音提示,发出密码正确或错误的信号,如果错误达三次后,系统自动挂机。如果在定时时间到的情况下,用户没有做任何操作,此时,提醒用户,该次操作超过时间限制,请重新拨打电话进行操作,系统挂机。由于录音电路比较复杂,在做设计硬件电路是没有做它的录音电路,假设共录入了五段录音,第一段提示音为:“请输入密码

    40、”;第二段提示音为:“密码错,请重新输入”;第三段提示音为:“请选择您要操作的电器,若所有操作完成请以#号键结束”:第四段提示音为:“请输入您所要设置的新密码”;第五段提示音为:“操作完成,谢谢使用”。我选的放音模式为APR9600的单键控制,单段7.5秒循环模式,即将MSEL1和MSEL2置为高电平,/M8置低电平。语音提示程序框图(附表4)。5数据接收模块接收用户从电话线上发送过来的双音多频信号,通过MT8870把双音多频信号转化为用户所按键值对应的8421码,从MT8870的数据输出断Q1Q4输入单片机中,从而使单片机进行密码比较以及对电器进行控制。6控制家用电器模块本系统首先通过外围双

    41、音频解码电路解码的信息判断所选择的电器,通过单片机向P2口发送数据,这些控制信息表示对不同的电器进行控制。首先是用户输入密码MT8870 如接收到一有效的 DTMF 信号后MT8870内部的四位二进制码被更新,控制信息发出,89C51 单片机接到中断申请后,根据译码数据内容对家用电器进行控制。五、系统调试在设计过程中,通过ISIS进行电路仿真,可以验证理论上的可行性。在实际实物制作中会节约大量的时间,该系统通过了ISIS仿真调试。在设计软件时,我遵从模块化的设计思路,将软件划分为几个独立个功能模块。这样,在软件调试时很方便。(一)硬件仿真 图11硬件仿真图由于在设计过程中使用的是ISIS进行模

    42、拟仿真,所以没有做出硬件电路。因此在这里主要通过仿真进行硬件调试,当然在具体设计和调试电路板的时候还会出现更多的具体问题,因为时间紧张,没有做出实物,通过ISIS仿真来验证理论上的可行性在进行电路仿真时,用44的键盘代替电话按键和DTMF信号的输入,在自动摘机以后,提示输入密码语音,提示信号用单片机进行编程,持续的往P3.7口输出不同频率的方波,发出不同类型的提示音,提示用户进行操作。(1)密码检测:当振铃计数到7次以后,自动摘机,提示用户输入密码,如果正确提醒用户进行下一步的电器操作,否则当密码输入三次错误后关闭整个系统。在仿真中是这样进行的,设置“0”为密码,只有首先按“0”(即44键盘的

    43、第一行第四列)后,才会出现提示音,然后按其他键,相应的LED才会点亮,表示电路的可行性。通过软件的编程,此部分功能实现,证明硬件设计上具有实际上的可行。(2)语音提示:通过P3.7与一扬声器相连,从P3.7送出间隔长短不一的脉冲,来得到不同的提示音,提醒用户进行不同的操作或警告。为证明该部分的可行性,在P3.7口外接示波器,通过观察示波器是否有方波信号出现。如图12所示。 图12 提示音仿真波形输出(二)软件调试对于本系统而言,软件程序所实现的功能比较多,所以软件程序的调试显得相当的烦琐。整个程序是使用C语言进行混合编程得到的,在uVision3下编写调试完成的。在此,仅介绍调试较多的这个模块

    44、:按键部分程序。按键控制端口我用的是P1口,我刚开始写的程序如下:uchar code tkey=0xfe,0xfd,0xfb,0xf7;uchar keyscan()uchar dat,i,j,k1,k2,find=0;P1=0XFF;P1=0XF0;delay5(1);dat=P1;dat&=0x0F;if(dat!=0XFF)delay5(10); /延时防抖动P1=0XF0;delay5(1);dat=P1;dat&=0x0F;if(dat!=0XFF)for(i=0;i4;da&|=0xf0;for(j=0;j4;j+)if(dat=tkeyj)k1=i;k2=j; find=1;

    45、do/松手检测P1=0XF0;delay5(1);dat=P1;dat&=0x0F;while(dat!=0xff); if(find=1)return 4*k1+k2; else return -1;我刚开始调试的时候,当对应的按键按下去时,我发现对应的功能不能实现,当我按下密码“0”时,代表密码正确的LED数码管不亮,在按“1”时,模拟控制家用电器1的发光二极管也不亮,我以为是主程序写的有问题,一直在主程序中找问题。由于我是用C语言写的程序,在单步调试时,不能在观察特殊功能寄存器中数值的变化,这给调试带来了些问题。最后,我考虑是不是按键程序有问题,我就回到按键程序中检测,经过多次的调试观察,我发现我将一个很小的逻辑关系弄错了,将与逻辑写成了或逻辑。这也提醒我以后在写程序时要更加小心、谨慎。将这个逻辑关系改过来后,很快问题就解决


    注意事项

    本文(基于AT89C51电话远程控制家用电器的设计.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922