电话远程控制系统设计说明_第1页
电话远程控制系统设计说明_第2页
电话远程控制系统设计说明_第3页
电话远程控制系统设计说明_第4页
电话远程控制系统设计说明_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

目录第1章引言11.1学科背景11.2项目设计目标2第二章系统方案演示32.1系统整体方案对比32.2模块方案对比42.2.1DTMF解码42.2.2语音芯片52.2.3主控制器选择6第三章整体系统设计与主芯片选型73.1整体系统设计73.2主要芯片介绍83.2.1AT89C5183.2.2DTMF芯片11概述第4章系统硬件设计124.1振铃检测电路124.2模拟摘机电路124.3语音提示电路134.4微控制器控制144.5DTMF检测电路144.6继电器控制电路16第5章系统软件设计175.1系统软件设计的基本思路175.2定时中断子程序18第6章系统调试196.1使用proteus仿真系统进行物理调试的原理196.2proeus调试20第七章毕业设计小结227.1毕业设计过程中遇到的问题及解决方法227.2毕业设计过程中需要改进的地方237.3毕业设计过程中的思考23至24参考文献25附录A:遥控器示意图26附录B:遥控器PCB图27附录C:遥控器程序28第一章简介1.1学科背景1990年代初,美国、欧洲等经济发达国家相继提出“智能住宅”的概念。其基本思路是:通过家庭总线技术,将家庭中各种与信息相关的通讯设备、家用电器、家庭安防设备连接成一个家庭智能系统,进行集中或远程监控和家庭事务管理,并保持和谐与协调。这些家庭设备和居住环境。因此,住宅智能化就是通过家庭总线的通信网络将住宅安全系统、能源管理系统、公共服务系统和信息系统集成在一起。随着经济的发展,人们对生活品质的追求越来越高。人们在快速工作和学习的同时,渴望在家中拥有一个灵活舒适的环境,为人们提供便利。随着现代家庭中的设备或电器越来越多,通讯线路发展迅速,利用现有的通讯线路来控制家中的设备或电器已成为未来家庭自动化发展的趋势。遥控有它的优点。遥控不需要特殊接线,不占用射频资源,不受距离和环境的影响。可以跨省、市、甚至跨国家远程控制。因此,设计远距离控制电路必然会给人们的生活带来很多便利。利用手机远程控制家电和智能家居信息中心平台成为国家“863”计划的重点课题。目前,家庭网络是住宅的热点。虽然国外同类产品性能非常好,但价格让国人难以接受,国内系统开发商和房地产开发商只看好新房,对老房的网络需求重视不够。问题的症结在于房屋部门与外部信息交换的沟通网络。电力线载波和无线通信可以作为住房部门的通信手段,但是电力线载波通信的可靠性差,无线通信的价格高,所以使用较少。目前主流产品均采用分线的通讯方式,但对于现有房屋,难免会造成重新布线困难。由于DTMF(双音多频)编码通信技术的发展,利用低压电力线进行数据通信成为可能。遥控器主要接收线路上传输的控制家电信息,解码后通过并行通信向智能控制器发送控制家电指令。本作品的各种电气接口和标准严格遵循国家相关标准,为以后的产品化提供了良好的基础。家庭网络系统主要由遥控器、智能控制器和一些功能模块组成。遥控器主要接收线路上传输的控制家电的信息,解码后通过并行通信向智能控制器发送控制家电的指令,并将信息以形式传输给用户或直接报警的声音。1.2项目设计目标本课题的设计目的:当用户不在家时,可以通过随身携带的移动设备、身边的固定设备或其他通讯设备,按照一些预定的规则进行不同的操作,来控制不同的家电,从而实现用户的预期的目的。,全面管理,让家居生活更舒适、安全、有效。设计目标:

(1)控制系统可实现对家用电器的远程控制;(2)控制系统可以实现双方的通讯;(3)控制系统所有者的身份验证、在线密码修改和存储;(4)控制系统具有语音功能提示,方便用户操作;第二章系统方案演示随着科技的进步,家用电器的遥控已逐渐应用到日常生活中。现在,随着通信网络的发展,可以控制家用电器的方案多种多样。当然,每种方案都有其优点和缺点。让我们比较下面的每个方案。2.1系统整体方案对比方案一:采用PLC技术实现家电控制电力线通信(PLC)是指以中低压电力线为通信媒介,实现数据、语音、图像等综合业务传输的通信技术。使用PLC实现智能家居的网络控制,无需布线,不破坏住宅结构,连接方便快捷。是智能家居网络控制的理想选择。系统可以使用INT5200芯片作为电力载波芯片,网络数据通过与家用电器相连的电力线传输,通过HomePlug协议实现交互,采用OFDM(正交频分复用)技术用于调制和解调。实现家电控制、PLC上网和家庭安全。家电(如空调等)或安防控制设备可通过PLC中心局接收来自电力线的控制信息和反馈状态信息,实现与PLC主控端的通讯;通过PLC主控端,借助Modem,可以实现对智能家电的远程监控和安全控制。计算机也可以通过这种方式访问Internet。智能家电可以将状态信息反馈给远程用户。由于家电控制系统的差异,不同家电的PLC中心局实现方式略有不同,主要体现在3C2510A家电控制单元与S之间的通信接口和控制协议上。单元可以3C方案二:使用WebServer实现家电控制系统的核心部分是一个嵌入式Web服务器。该系统集成了有线和无线网络服务器。用户可以在家中使用办公室PC或手机登录Web服务器。通过用户名和密码验证后,即可查看和控制家用电器。;系统配备液晶显示器和键盘,具有良好的人机界面;用户还可以通过键盘设置系统的任务;系统具有丰富的功能扩展接口,通过这些扩展接口,未来还可以实现防火和智能抄表。和其他应用程序。方案三:用于实现家电控制该系统是利用千家万户的线路进行信息传递,是目前实现住宅与外部住宅信息交换最有效的方式。主要用于遥控控制的家用电器。用户可根据语音提示,通过室外任意双音多频(包括手机和分机)远程控制各种电器(如电饭煲、微波炉等电器)。让人们的生活更加方便和愉快。该系统可以利用单片机配合新型DTMF解码芯片和语音电路实现对家用电器的远程控制。使用时,只需将线路的进线插入设备,用户使用设备时,只需拨打家里电话,设备检测到振铃电流,设备发出模拟摘机信号,控制语音处理电路提示用户输入密码(预设),用户听到提示音后,可以在正在使用的双音频机或手机上按密码对应的数字键,密码对应的双音频信号通过电线传输到双音频收发电路,检测解码后传输给主控单元。识别无误后,语音芯片提示用户控制家电。最后,主控单元对家电信息进行解码,并通过并行通信将其传送给智能控制器。控制器执行控制家用电器的操作。综上所述,利用PLC技术和Web服务器实现家电控制成本高,一般人负担不起,但家电控制的实现解决了电力载波通信可靠性差、无线通信价格高的问题由于接线困难。.使通过低压电力线进行数据通信成为可能。而且开发周期短。所以我选择了第三个选项。2.2模块方案比较2.2.1DTMF解码1)使用PSoC芯片的嵌入式DTMF解码PSoC是赛普拉斯半导体生产的可编程片上系统。主要由8位微处理器、可编程模拟模块和数字模块组成,外加硬件乘加器、I2C、Flash、SRAM等外围外围模块。因此,除了一般MCU的功能外,PSoC还可以通过可编程的模拟和数字模块,灵活地实现嵌入式系统所需的模拟和数字外围功能。为了方便用户简单快速地实现模拟和数字外设功能的设计,赛普拉斯基于可编程数字模拟模块构建了大量的用户模块,如可编程运算放大器、比较器、6到14位模拟数字和数模转换器、滤波器、8/16/24/32位定时器/计数器、脉宽调制器、触摸感应等模块。这些用户模块配置了PSoC部分的寄存器,数字模块和模拟模块之间的连接,以及底层的API(ApplicationProgramInterface,应用程序接口)功能都设计好了。当用户需要某种数字和模拟外设功能时,只需调用相应的用户模块即可实现。使用PSoC的可编程模拟运算放大器和8位ADC用户模块,可以通过简单的接口实现DTMF信号的模数转换2)使用MT8870芯片DTMF解码8870芯片集成了陷波滤波器和数字解码功能。在滤波部分,采用了开关电容技术;在解码部分,所有16种DTMF音频对均采用数字计数法检测,编码为4字节码。通过在芯片上放置差分输入放大器、时钟晶体和可锁存三态输出,可以最大限度地减少外围组件。信号经输入放大滤除噪声,再由6阶高频组带通滤波器和8阶低频组带通滤波器组成的陷波滤波器滤除DTMF信号,然后平滑和过滤,然后过零。检测器将模拟信号转换为进入数字部分的数字信号。信号在数字部分分为两个通道,一个直接送到频率检测部分,分别检测高频和低频信号。如果输入信号的频率在预设范围内,则将检测结果送至编码部分进行编码,等待D触发器同步输出信号;如果输入信号的频率不在预设范围内,检测结果将保持为0不变。另一个通道被送到频率平均算法部分,分别将频率除以4和8,以消除干扰,例如通过初步检测信号持续时间的噪声;同时,进一步设定了更严格的频率检测范围。如果充电时间不够长,则意味着即使检测到的信号频率在DTMF频率范围内,其持续时间也不足以满足DTMF的工业标准,输出同步脉冲保持为0,编码结果不输出。2.2.2语音芯片1)ISD4004语音芯片ISD4004系列工作电压3V,单片机录放时间8~16分钟,音质不错。它适用于移动和其他便携式电子产品。该芯片采用CMOS工艺,包括振荡器、抗混叠滤波器、平滑滤波器、音频放大器、自动静噪和高密度多级闪存列。芯片信息存储在闪存中,断电情况下可保存100年,可重复记录10万次。2)ISD2560语音芯片美国ISD公司2500芯片可录播60秒。ISD2500系列与1400系列语音电路相同,具有抗断电、音质好等优点。它最大的特点是芯片E2PROM的容量为480K(1400系列为128K),所以录放时间长;10个地址输入端子(1400系列只有8个),寻址能力可达1024位;600段;有OVF(溢出)端,方便级联多台设备。2.2.3主控制器选择1)单片机控制串行和并行I/O端口,在一个芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时器/计数器和多种功能。比如Intel的8031系列等等。除了以上基本功能外,有的还集成了A/D和D/A,比如Intel的8051系列。综上所述,单片机具有以下特点:具有位处理能力,强调控制和事务处理功能,价格便宜。比如低端单片机的价格只有几元人民币。开发环境齐全,开发工具齐全,申请材料众多,后备人才充足。国内大部分高校都开设了单片机课程和单片机实验。2)DSP控制DSP器件具有高度的集成度。DSP具有更快的CPU、更大的内存、波特率发生器和FIFO缓冲器。提供高速、同步串口和标准异步串口。有些芯片集成了A/D和采样/保持电路,可以提供PWM输出。设置高速硬件乘法器,增强多级流水线,使DSP器件具备高速数据计算能力。DSP器件比16位单片机单指令执行时间快8到10倍,完成一次乘法和加法运算快16到30倍。DSP设备还提供高度专业化的指令集,可提高FFT快速傅里叶变换和滤波器的速度。此外,DSP器件提供JTAG接口,开发方式更先进,量产测试更方便,开发工具可实现全空间透明仿真,不占用任何用户资源。DSP是微控制器的一个分支。它具有专门的FFT算法、流水线指令处理所需的特殊指令。可以高速运转。我们可以根据需要选择他。如果你做遥控器,选择他没有任何优势。因为其他很多用于遥控的单片机比他更适合遥控。如果89C51用于语音或图像识别,不如DSP。产品的设计在满足需求时应考虑其成本效益。综上所述,选用MT8870型号的DTMF解码芯片、ISD4004语音芯片和单片机完成了本系统的设计。第三章系统总体设计与主芯片选型3.1整体系统设计本系统是用于控制各种家电的装置,通过来自它的控制信号实现对家电的控制。当用户不在家时,可以使用随身携带的移动设备或身边的固定设备来拔掉家里的电源。他可以按照预先设定的一些规则,通过里面的语音提示进行不同的数字按键操作,完成对不同家电的控制。用户的预期目的。系统的功能决定了具体的设计要求如下:

(1)控制系统可以通过终端通讯设备实现对家用电器的远程控制;(2)控制系统可实现自动模拟摘挂机,实现双方通讯;(3)控制系统所有者的身份验证、在线密码修改和存储;(4)控制系统具有语音功能提示,方便用户操作;本系统的主控部分由单片机组成,进行主要信息处理,接收外部操作指令,形成各种控制信号,完成各种信息的记录;接口电路提供单片机与外线的接口。包括振铃电流检测、摘机控制、双音DTMF识别、语音提示电路和电器控制。整体电路框图如图3-1所示。电话接电话接口家用电器控制单片机语音提示电路振铃检测电路振铃检测电路自动摘挂机电路自动摘挂机电路双音频解码电路双音频解码电路图3-1整体系统框图该系统主要由AT5189C单片机、DTMF解码芯片MT8870和语音芯片ISD4004组成。AT5189C单片机完成机器振铃信号次数的检测、控制和加密。本系统具有以下单元功能模块:

(1)铃声检测与计数;

(2)自动模拟摘机;

(3)密码验证;

(4)在线修改密码;

(5)双音频信号解码;

(6)输入信息分析;

(7)控制电器开关;根据机器和开关发出的不同信号音和线路各种状态的不同要求,并结合实际情况,对具体的单元功能模块在软件或硬件上做出不同的分工,如下.

理论上,通过软件编程可以识别开关发出的各种信号音,即通过单片机发送的脉冲信号检测信号音单位时间内的脉冲数,及其频率计算完成信号音识别。但是从系统的可靠性分析和程序的结构设计来看,我选择硬件来解决振铃音检测、忙音检测、双音频信号解码等功能模块。自动挂机和电器的控制必须使用特定的硬件电路来实现。铃音计数、密码验证、在线密码修改、输入信息分析等功能模块使用软件编程比硬件电路更简单、更容易实现。

综上所述,系统的信号音检测、自动摘机、电器控制、双音频解码等功能模块均采用硬件电路实现。信号音计数、密码验证、在线密码修改、信息分析等功能模块由软件编程完成。3.2主要芯片介绍3.2.1A5189C_AT89C51是美国ATMEL公司生产的低压、高性能CMOS8位单片机。该芯片包含4K字节的可重写Flash只读程序存储器和128字节的随机存取数据存储器。该设备采用ATMEL高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,8位中央处理器和闪存单元用于芯片放置,功能强大的AT89C51单片机可提供高性价比应用多,可灵活应用于各种控制领域。其引脚如图3.2所示。AT89C51主要性能参数:1、完全兼容MCS-51产品指令系统;2.4Kbytes可反复擦写到Flash存储器;3.1000次擦除周期;4、全静态运行:0Hz~24Hz;5、三级加密程序存储;6.128×8字节RAM;__7.32条可编程I/O线;8、两个16位定时器和计数器;9.6个中断源;10.低功耗空闲和掉电模式。图3.2AT89C51MCU引脚AT89C51是标准的40针双列直插式集成电路芯片。它具有32个外部双向输入/输出(I/O)端口、2个外部中断端口、2个16位可编程定时器计数器和1个全双工串行通信端口。按其功能可分为电源、时钟、控制和I/O接口四部分:1.电源引脚_VCC:芯片主电源,外接+5V。GND:电源地线。2.时钟引脚_振荡器反相放大器的AND部分时钟发生器的输入。XTAL2:振荡器反相放大器的输出。3.控制引脚(1)ALE/:地址锁存控制信号。当访问外部存储器时,地址锁存使能输出电平用于锁存地址的状态字节。在FLASH编程期间,该引脚用于输入编程脉冲。正常情况下,ALE端输出一个正脉冲信号,其频率周期恒定,为振荡器频率的1/6。因此它可以用作外部输出的脉冲或用于定时目的。但请注意,当用作外部数据存储器时,将跳过ALE脉冲。此时,ALE仅在MOVX、MOVC指令为ALE时有效。此外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁用,则设置无效。(2):外部程序存储读取选择信号。在外部程序访问手指期间,每个机器周期有效两次。但在访问外部数据存储器时,这两个有效信号不会出现。(3)/VPP:存取程序存储器控制信号。当信号为低时,只访问片外程序存储器;当它为高电平时,对ROM的读操作从内部程序存储器开始,并可以继续到外部程序存储器。(4)RST/VPD:复位/掉电保护信号输入。当输入复位信号持续超过2个机器周期时,高电平有效,用于完成单片机的复位操作。4.I/O引脚P0(P0.0~P0.7):8位双向并行I/O接口。在扩展片外存储器或I/O口时,作为低8位地址和8位数据总线的时分复用接口,是双向三态的。P0口可承载8路TTL负载电流。当P0口作为I/O输出口时,由于P0口为开漏输出,必须外接上拉电阻才能输出高电平。P1(P1.0~P1.7):8位准双向并行I/O接口。P1口的每一位可独立设置为输入输出位,P1口可驱动4路TTL电路。P1端口写1后,上拉高电平,可作为输入使用。当P1端口被外部拉低到低电平时,会输出电流,这是由该部分的上拉引起的。P2端口(P2.0~P2.7):8位准双向并行I/O接口。扩展外部数据和程序存储器时,用作高8位地址输出端口。P2口可以驱动4路TTL电路。P3口(P3.0~P3.7):8位准双向接口并行I/O。除了具有与P1端口相同的I/O功能外,每个引脚还具有第二个功能。如表3-1所示。P3端口的第二个功能信号都是单片机的重要控制信号。因此,在实际使用中,根据需要选择第二个功能信号,其余作为第一功能的数据位。I/O使用情况。表3-1P3端口各管脚对应的第二个功能P3.0P3.1_P3.2_P3.3_P3.4_P3.5_P3.6_P3.7_接收端天晓得_T0T1端口P1、P2、P3都包含固定的上拉电阻,因此被称为准双向并行I/O接口。P0口芯片没有固定的上拉电阻,由两个MOS管串联,可以开路输出,也可以处于高阻“浮空”状态,所以称为双向三态并联输入输出接口。3.2.2DTMF芯片概述MT8870是一个完整的DTMF接收和解码电路。与LCD驱动电路等其他电路一起,可以实现CALLERID功能。它集成了陷波滤波器和数字解码。在滤波部分,采用了开关电容技术;在解码部分,所有16个DTMF音频对都通过数字计数检测并编码为4字节码。通过在芯片上放置差分输入放大器、时钟晶体和可锁存三态输出,可以最大限度地减少外部组件。

信号经输入放大滤除噪声,再由6阶高频组带通滤波器和8阶低频组带通滤波器组成的陷波滤波器滤除DTMF信号,然后平滑和过滤,然后过零。检测器将模拟信号转换为进入数字部分的数字信号。信号在数字部分分为两个通道,一个直接送到频率检测部分,分别检测高频和低频信号。如果输入信号的频率在预设范围内,则将检测结果送至编码部分进行编码,等待D触发器同步输出信号;如果输入信号的频率不在预设范围内,检测结果将保持为0不变。另一个通道被送到频率平均算法部分,由4和8除以初步消除噪声等干扰检测信号的持续时间;同时,进一步设定了更严格的频率检测范围。如果信号通过检测,则ESt端输出高电平,St端通过外围RC回路充电(R和C的值根据不同的工业标准选择)。Vc>=Vtst(2.35V,由比较器比较)后,表示检测到的信号符合DTMF的工作标准,然后将引导逻辑部分的输出同步脉冲送到编码部分,使输出4位编码。,通过延迟单元,锁存到三态输出单元,并输出正确的代码;同时,引导逻辑部分在StD端产生高电平信号,同时保持GT处于高电平。如果充电时间不够长,则意味着即使检测到的信号频率在DTMF频率范围内,其持续时间也不足以满足DTMF的工业标准,输出同步脉冲保持为0,编码结果不输出。第四章系统硬件设计该系统使用大量的硬件电路来完成一些功能模块,其目的是充分利用硬件电路的可靠性和稳定性,使整个电路达到较高的稳定性。该电路主要包括线路摘机检测和线路振铃信号检测电路、语音提示电路、单片机控制、DTMF检测电路和电驱动电路。4.1振铃检测电路当线路无振铃电流时,开关提供的线路电压为48V~60V的直流信号。当用户来电时,交换机发出振铃电流信号。振铃信号频率为25±3Hz,电压峰值为90±15V。振铃以5s为一个周期(1s发送,4s关闭)。根据振铃信号电压高于正常外接电压的特点,设计了振铃电流音检测电路,如图4-1所示。图中D1为普通二极管,D3为稳压二极管,稳压值为80V。振铃电流检测的工作原理是:线路无振铃电流声时,稳压二极管D3处于截止状态,U2不工作,Q1输出高电平,当线路有振铃信号时,D3击穿,U2导通,Q1输出a低级。振铃信号从微控制器的T0输入。图4-1振铃检测电路4.2模拟摘机电路模拟摘机电路的作用是在振铃达到一定时间时开机。如果线路上有振铃信号,90VPP的振铃电压使光电耦合器U2的输出端根据振铃频率开启和关闭。在第二次振铃信号结束后,对振铃次数进行计数,并将单片机振铃次数计数器中的数据与设置的振铃摘机数据进行比较。两者等于P2.5并下拉,U1接通,Q2、Q2、Q3导通,外线从Q2的集电极改变极性后输出,输出信号送入输入MT8870结束。当P2.5为高电平时,U1关断,Q2和Q3也关断,相当于挂断。在程序控制下,系统收到6个振铃信号后启动摘机电路,实现模拟摘机。其电路如图4-2所示。图4-2模拟摘机电路4.3语音提示电路语音提示电路是本系统的重要组成部分,可以为用户提供直观的反馈信息。为了使系统更加人性化,语音提示直接使用了语音芯片,芯片中预先存储了一些操作规则。根据不同的DTMF信号产生不同的提示信息,从而完成控制整个系统的目的。本系统采用具有SPI结构的ISD4004语音芯片。ISD4004芯片的录音长度为16分钟。录音时,每段录音可以分段存储。对应一个操作地址,操作地址由微控制器P0.4-P0.7确定。播放时,只要选择对应段的地址,就可以播放对应段的录音。51单片机根据用户发送的DTMF信号选择相应段的地址89C。语音信号从ISD4004的ANDOUT口输出,经过放大,再从变压器耦合到外线。电路如图4-3所示。图4-3语音提示电路4.4微控制器控制单片机控制电路采用AT89C51单片机,其电路图如图4-4所示。图4-4单片机电路4.5DTMF检测电路这部分是整个系统的关键,其工作状态直接决定了系统的可靠性。DTMF解码方式在拨号系统中应用广泛,其突出的优点是抗干扰能力强。阅读大量文献后发现,使用专用的双音频解码芯片对输入的双音频信号进行解码是比较常用的方法。使用集成电路不仅外围电路简单,而且可靠性强。经专用集成电路解码后,将信号转换为不同的码制信号,单片机可直接读取。常用的双音频解码集成电路有8870、8880、8888等,经过反复论证和比较,决定使用双音频解码集成芯片MT8870来完成这个功能模块。DTMF检测电路如图4-5所示。图4-5DTMF检测电路当MT8870接收到来自线路的DTMF信号并准备输出时,会产生一个中断信号。MT8870的2、3脚接收机器发出的双音多频脉冲信号。双音多频信号先经过其拨号音滤波器,滤除拨号音信号,再经前置放大后送入双音滤波器。它根据高低音频信号将双音频信号分离,然后通过高低组滤波器和幅度检测器将它们发送到输出解码电路。相应地8421码。MT8870的数据输出端Q1~Q4接89CAT51的P1口的P1.3~P1.0,CPU通过P1口识别4位码。按键和对应的解码(Q4~Q1)输出如表4-1所示。其中A、B、C、D4个键常用作R/P、REDIAL、HOLD、HANDSFREE等功能。注意需要指出的是,对于“0”,MT8870的输出8421码不是“0000”,而是”1010”;另外,“*”、“#”,MT8870的输出分别8421码是“1011”和”表4-1DTMF数据输出表低通(HZ)高通(HZ)数字OED4D3D2D169712091H大号大号大号H69713362H大号大号H大号69714773H大号大号HH77012094H大号H大号大号77013365H大号H大号H77014776H大号HH大号85212097H大号HHH85213368HH大号大号大号85214779HH大号大号H94113360HH大号H大号9411209*HH大号HH9411477#HHH大号大号6971633一个HHH大号H7701633乙HHHH大号8521633CHHHHH9411633DH大号大号大号大号--任何大号ZZZZ4.6继电器控制电路电气控制可以使用继电器、晶闸管等来控制强电的通断。为了实现控制家电开关的功能,本设计使用了继电器,一共设置了4个继电器开关。为影响单片机电路的正常工作,采用光耦将继电器驱动电路与单片机电路隔开。电气控制电路如图4-6所示。图4-6电气控制电路第五章系统软件设计5.1系统软件设计的基本思想软件设计过程采用模块化设计方法,便于程序的阅读、调试和改进。程序的基本流程如图5.1所示。开始结束6次正常振铃操作完成否振铃检测模拟摘机语音提示挂机开始结束6次正常振铃操作完成否振铃检测模拟摘机语音提示挂机ñ是输三次内密码正确否输三次内密码正确否ñ功能操作是功能操作ñ是图5-1系统软件流程图为提高控制系统的可靠性、可维护性和编程效率,控制系统软件采用模块化结构,用C语言编写,简洁明了。在硬件的基础上,智能遥控器的所有功能都由软件实现,通过软件编程可以控制电器的开关、密码修改、语音提示等。因此,在电路设计中,软件编程也起着关键的作用。软件设计包括振铃检测、模拟摘机、语音提示、密码存储、各种功能操作等模块。在图5-1的系统软件流程图中,功能操作包括很多功能,如图5-2所示。功能操作功能操作密码输入与修改语音提示密码输入与修改语音提示开关电器图5-2系统功能图5.2定时中断子程序在软件编程中,需要考虑到电路中断的使用。在智能遥控系统中使用计数中断。计数中断用于当响铃次数大于6次且未收到应答时,产生中断并接通线路。/*计数器中断子程序*/voidTime0_Init(void)中断1{ TH0=0xFF; //重新设置初始值 TL0=249; P0=dofly_table[0]; wren=3;}第6章系统调试使用proteus仿真系统进行物理调试的原理根据控制系统调试的需要,我们准备了一些调试设备:

(1)proteus软件一

台(2)Keil软件一台由于没有实物调试系统,proteus软件可以很好的模拟硬件电路,所以我用proteus软件画了遥控器的基本电路图,然后用Keil软件写了C语言程序,最后将Keil软件和proteus软件关联设置,可以将Keil软件中的程序下载到单片机中运行。这不仅设计了系统的硬件电路,还调试了软件编程。由于proteus软件中没有DTMF芯片的仿真模型,而且现在DTMF芯片的功能已经非常完善,DTMF的外围电路也很简单,工作很稳定。8421码可以通过连接电路进行解码,8421码可以区分不同的按键操作。所以我直接用4×4矩阵键盘中的12位数字代替了DTMF解码电路,这样单片机就直接接在按键上了。proteus软件中也没有语音芯片的仿真模型,但是通过单片机的控制,根据预存的提示音在不同位置调用语音芯片。频率控制信号用于表示不同的语音提示,使蜂鸣器根据单片机的控制产生不同的提示音。单片机通过继电器驱动电路控制继电器的通断,实现家用电器的开关。原理是小信号控制大电流高压设备。只要能正常输出小信号,家用电器就可以正常开关。为了直观的看单片机输出的小信号是否正常,我用单片机在proteus软件中直接驱动LED灯,用LED灯的开关来模拟家用电器的开关。为了直观的看到输入键盘按下的按键,我用一个7段数码管来显示,用矩阵键盘最左边的三列来模拟按键(分别代表#键和*键)。数码管不仅可以显示按键的数字,而且当用户输入错误密码3次时,系统会自动挂断。但是在程序的后半部分,数码管的显示和LED灯的开关有冲突,所以后半部分没有显示键盘输入值。6.2Proteus调试我用软件的仿真来模拟整个系统的调试。第一步:使用按键输入T0口模拟响铃次数。当按键数大于6时,表示无人接听电话,系统自动摘机。我用LED灯D1点亮来表示这种状态,如图6-2所示:图6-2第二步:通过矩阵键盘输入密码。当输入的密码与系统设置的密码一致时,系统允许控制家用电器的运行。我使用LED灯D2点亮来指示此状态。如果密码输入错误,D2不亮。,密码输入3次错误时,LED灯和数码管全部熄灭,如图6-3所示。图6-3第三步:如果输入1到5之间的数字,则表示家用电器已开启,1到5代表不同的家用电器。如果输入1到5的数字,则表示家用电器已关闭,1到5代表不同的家用电器,如下图6-4和6-5所示。图6-4所有家用电器都打开图6-5家电部分关机第七章毕业设计总结7.1毕业设计中的问题及解决方法在毕业设计的几个月里,我不仅学到了知识,也遇到了很多困难。我开始准备做物理调试。但是由于时间和成本的考虑,我没有采用这个方案,只能用软件模拟来模拟遥控。控件的物理运行,也就是proteus软件和Keil软件关联后的仿真,在画电路图的过程中发现proteus软件里面很多器件是不存在的,而这些器件无法模拟,例如:语音芯片ISD4004,编码芯片MT8870不存在。由于编码芯片MT8870功能完善,功能简单,只需连接电路即可对按键信号进行编码。本例我直接使用4×4矩阵键盘与单片机连接,机器按键信号采用MT8870编码。后一个原理类似。即该方法用于解决proteus软件中没有编码芯片MT8870的问题。为了解决没有语音芯片的问题,在proteus软件仿真中,我用一个蜂鸣器连接到单片机的P3.2管脚来代替语音芯片的功能,即用不同频率的脉冲来控制软件编程期间的蜂鸣器。蜂鸣器使其产生不同频率的声音来模拟语音芯片的功能。为了更清楚地表达遥控家电的功能,我使用单片机来控制LED灯的开和关,而不是通过驱动电路控制继电器。在画PCB版的过程中,发现很多原件不在原库中或者不合适。我在网上查了对应芯片的资料,自己做了一些PCB的原件。为了使最终电路的布线更加合理,我采用了全手工布线。硬件电路和PCB版画好后,开始软件编写。首先,我编写了4×4矩阵键盘的按键扫描程序。用proteus软件相关调试完成后,开始调试7段数码管显示的程序。由于共阳极接错,调试花了一些时间。编程不完善,所以在后面的调试中发现只要7段数码管显示和按键扫描一起执行,程序就无法正常运行。我认为编写程序时存在时间问题。最后只能在程序的后半部分去掉7段数码管的显示。接下来,我开始编写一个通过按键来控制家用电器的程序。这个程序的思路是:如果先按下按钮,则表示用户要打开家电,然后是按下对应家电的号码;如果先按下该键,则表示用户要关闭家用电器,然后按下相应的数字键。在这个过程中,我发现初始程序无法实现按键,然后等待按下数字键来控制家电。最后,我用来检测是否按下了某个键。过一段时间(大于按键响应的时间),然后用检测语句检测上面语句部分是否有按键按下,如果有,将按键值赋给标志2,求解通过将两个标志值与设置值进行比较来解决问题。这个问题。7.2毕业设计过程中需要改进的地方在这个设计中,我一开始是想用实物进行调试,但最后没有采用这个方案。其次,想用24C02芯片组成一个外存来存储和调用用户设置的系统密码,这样即使系统断电,之前设置的密码也不会丢失,系统也非常安全。识别密码。但经过一段时间的编程和调试。论文写完的时候我还没有实现I^通信,2C只能暂时用部分存储的方法代替。7.3毕业设计过程中的思考毕业设计是大学学习过程中的一个重要环节。是我们走进社会,参与实际工程的一个极好的示范。这次毕业设计让我受益匪浅,感觉自己进步了很多。.从最初的选题、开题报告、绘制原理图、软件设计、调试直至完成整个设计。这期间我找资料,在老师的指导下,和同学交流,反复修改电路图,一步步调试电路,直到成功。每一个过程都是对自己能力的考验和充实。通过本遥控家电系统的设计,了解和掌握了89CAT51单片机的基本理论知识,对单片机的开发、应用和控制有了更深入的把握。在设计项目的过程中,遇到了很多之前学习过程中没有遇到的问题,同时对之前学过的专业基础知识进行了巩固和复习。比如在实际生产过程中,通过电路方案的确定,提高了我分析电路和计算电路中相关参数的能力,也更加熟悉了很多芯片的原理和应用。知识付诸实践。软件设计,这部分是我最薄弱的环节,但是在老师和同学的帮助下,我克服了困难,提高了我对单片机的编程能力。最后的调试和测试过程,进一步提高了理论知识和动手能力,也增加了我做事的耐心。至在毕业设计过程中给予我悉心照顾和指导的导师表示衷心的感谢。从选题到最终完成项目,老师一直给予我细心的指导和不懈的支持。另外还要感谢我的同学们,他们在系统的硬件电路和软件方面给了我很大的帮助,使我能够顺利完成毕业设计。最后,我觉得学校多年来培养了我,关心、鼓励和帮助了我所有的老师和同学。参考[1]史文清,志勇,勇,基于DTMF和单片机的远距离和红外近程测控系统[J].测控技术与仪器仪表。2007年:50~84[2]周润静,丽娜,丁力,基于PROTEUS的电路及单片机设计与仿真[J].航空航天大学。2010:60-90[3]肖玲妮,袁增贵,Protel99SE印制电路板设计教程[J].清华大学。2003:85-110[4]大明。单片机控制实训[M].机械工业。2007年:234~258[5]雪梅,秋红.AT5185C单片机在遥控器中的应用[J].现代电子技术。2006,20(4):36~41[6]冯武.基于AT51单片机的家用电器遥控装置89C[J].自动化技术与应用。2006,(08):94~97[7]建辉.基于单片机的家电遥控系统设计[J].科学技术研究所学报(工程技术版)。2006,(02):14~17[8]志白.基于单片机的家用电器远程控制系统的实现[J].信息职业技术学院学报。2006,(01):30~32附录A:遥控器示意图附录B:遥控器PCB图正面电路板图反向电路板图附录C:遥控器程序#include<reg51.h>#include<intrins.h>#defineDataPortP0//定义DataPort程序,遇到DataPort时用P0代替#defineKeyPortP1#defineuchar无符号字符#define_Nop()_nop_()//定义空指令位确认; //响应标志位sbit才济=P2^0;sbityuyin=P3^2;sbit寨机=P2^1;sbit调子=P2^2;sbit家点1=P2^3;sbit家点2=P2^4;sbit家点3=P2^5;sbit家点4=P2^6;sbit家点5=P2^7;sbitmima1=P1^5;sbitmima2=P1^6;sbitmima3=P1^7;sbit调勇=P3^0;sbit承旭=P3^1;ucharwuren,flag1,flag2,flag3,anjian1,anjian2;inti,m,n,h,k=0,biaoji1=1,biaoji2=1,biaoji3=1,wuren=0,biaoji4=1;无符号字符码dofly_table[16]={0xff,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x03,0x21,0x1b,0x71,0x09};//显示值表0-90xff表示关闭无符号字符dofly[4]={0x7d,0xbd,0xdd,0x7b};//初始密码为1234,无符号字符数据1[4]={0x00,0x00,0x00,0x00};//临时输入密码无效函数(); voidDelayUs2x(unsignedchart);//us级延时函数声明voidDelayMs(unsignedchart);//ms级延迟unsignedcharKeyScan(void);//键盘扫描无符号字符KeyPro(void); //键盘数值处理voidTime0_Init(void);//定时器初始化无效ISD4004(ucharnum1);/*uS延时函数,带输入参数unsignedchart,无返回值unsignedchar是定义一个无符号字符变量,其取值范围为0~255此处使用12M晶振,请使用组件进行精确延迟,近似延迟长度如下T=tx2+5uS*/voidDelayUs2x(unsignedchart){而(--t);}/*mS延时函数,带输入参数unsignedchart,无返回值unsignedchar是定义一个无符号字符变量,其取值范围为0~255晶振12M这里使用,请使用汇编器精确延迟*/voidDelayMs(unsignedchart){而(t--){延迟Us2x(245); 延迟Us2x(245);}}无效延迟(int时间){ 整数x,y; 对于(x=0;x<1000;x++) { for(y=0;y<时间;y++); }}/*定时器初始化子程序*/无效时间初始化(无效){TMOD|=0x01|0x04; //使用模式1,16位计数器,使用“|”使用多个计时器时符号不受影响 TH0=0xFF; //给定初始值TL0=249;//从245计数到255EA=1;//总中断ET0=1;//定时器中断开启TR0=1;}/*定时器中断子程序*/voidTime0_Init(void)中断1{ TH0=0xFF; //重新设置初始值 TL0=249; wren=3;}/*键扫描函数,返回扫描键值*/unsignedcharKeyScan(void)//键盘扫描函数,采用行列扫描方式{无符号字符值;KeyPort=0xf0;//高四位为高,低四位为低if(KeyPort!=0xf0)//表示有按键按下{延迟毫秒(10);//去抖动 如果(密钥端口!=0xf0) {//表示一个按钮被按下 密钥端口=0xfe;//检测第一行 如果(密钥端口!=0xfe) { Val=KeyPort&0xf0; val+=0x0e; 而(密钥端口!=0xfe); 延迟毫秒(10);//去抖动 而(密钥端口!=0xfe); 返回值; }密钥端口=0xfd;//检测第二行 如果(密钥端口!=0xfd) { Val=KeyPort&0xf0; val+=0x0d; 而(密钥端口!=0xfd); 延迟毫秒(10);//去抖动 而(密钥端口!=0xfd); 返回值; } 密钥端口=0xfb;//检测第三行 如果(密钥端口!=0xfb) { Val=KeyPort&0xf0; val+=0x0b; 而(密钥端口!=0xfb); 延迟毫秒(10);//去抖动 而(密钥端口!=0xfb); 返回值; } 键端口=0xf7;//检测第四行 如果(密钥端口!=0xf7) { Val=KeyPort&0xf0; val+=0x07; 而(密钥端口!=0xf7); 延迟毫秒(10);//去抖动 而(密钥端口!=0xf7); 返回值; }}}返回0xff;}/*键值处理函数,返回扫描键值*/无符号字符KeyPro(void){开关(键扫描()){case0xbe:return0;break;//0按对应键显示对应码值case0x7d:return1;break;//1case0xbd:return2;break;//2case0xdd:return3;break;//3case0x7b:return4;break;//4case0xbb:return5;break;//5case0xdb:return6;break;//6case0x77:return7;break;//7case0xb7:return8;break;//8case0xd7:return9;break;//9case0x7e:return10;break;//acase0xde:return11;break;//b默认值:返回0xff;break;}}/*语音提示功能*/无效ISD4004(ucharnum1){开关(num1){案例一:玉印=0;//播放第一段录音//语音提示密码正确开始按键操作 for(i=0;i<30000;i++);for(i=0;i<15000;i++);玉印=1;//停止播放休息;案例2:玉印=0;//播放第一段录音 //语音提示设置密码 for(i=0;i<30000;i++);for(i=0;i<30000;i++);玉印=1;//停止播放休息;案例3:玉印=0;//播放第一段录音 //语音提示开启家电for(i=0;i<30000;i++);玉印=1;//停止播放休息;案例4:玉印=0;//播放第一段录音 //语音提示关闭家电for(i=0;i<10000;i++);玉印=1;//停止播放休息;案例5:玉印=0;//播放第一段录音 //语音提示密码错误,自动挂断 for(i=0;i<30000;i++);for(i=0;i<30000;i++);for(i=0;i<30000;i++);玉印=1;//停止播放休息;案例6:玉印=0; //无人接点,开始家电操作财集=0;对于(i=0;i<30000;i++);对于(i=0;i<30000;i++);玉印=1;财集=1;对于(i=0;i<30000;i++);对于(i=0;i<30000;i++);玉印=0;财集=0;对于(i=0;i<30000;i++);玉印=1;财集=1;对于(i=0;i<30000;i++);财集=0;默认值:中断;}}无效函数(){无符号字符数;数字=KeyPro(); switch(num)//P3端口作为独立的按键输入端,检测端口电平并做如下判断{ 案例0:P0=dofly_table[1];break; 案例1:P0=dofly_table[2];break; 案例2:P0=dofly_table[3];break; 案例3:P0=dofly_table[4];break; 案例4:P0=dofly_table[5];break; 案例5:P0=dofly_table[6];break; 案例6:P0=dofly_table[7];break; 案例7:P0=dofly_table[8];break; 案例8:P0=dofly_table[9];break; 案例9:P0=dofly_table[10];break; 案例10:P0=dofly_table[11];break; 案例11:P0=dofly_table[12];break; 案例12:P0=dofly_table[13];break; 案例13:P0=dofly_table[14];break; 案例14:P0=dofly_table[15];break; 默认值:中断;//如果没有按下,直接跳出 } }/*主功能*/无效主要(无效){ Time_Init(); 功能(); KeyPro(); 表记1=1;表记2=1; 表记3=1;而(标记3==1){表记1=1;表记2=1;KeyPro(); if(wuren>=1) //响铃6次,无人接听自动连接 { 国际温度=1; 诠释j; ISD4004(6); //无应答,开始家电操作 对于(j=0;j<4;) {if(mima1==0||mima2==0||mima3==0)//等待4位密码 { 数据1[j]=KeyScan(); 功能(); KeyPro(); j++;

温馨提示

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

评论

0/150

提交评论