基于固定电话线的远程控制与防盗报警器的设计与制作教学教材.doc
Good is good, but better carries it.精益求精,善益求善。基于固定电话线的远程控制与防盗报警器的设计与制作-基于固定电话线的远程控制与防盗报警器的设计与制作刘方威(陕西理工学院物理与电信工程学院通信工程专业,2009级1班,陕西汉中723003)指导教师:龙光利摘要为了利用现有的电话线路对家庭中设备和电器进行远程控制,采用单片机和DTMF解码芯片,设计并制作了一种基于固定电话线的远程控制器。控制器包含硬件和软件两部分,硬件电路由MT8880电话电路、摘机挂机电路、响铃检测电路、红外检测电路、触发开关电路、液晶显示电路、I2C存储电路、继电器输出控制电路、键盘控制电等电路组成;软件由主程序、振铃检测计数程序、DTMF解码处理程序、键盘扫描程序、语音控制程序、EEPROM读写程序、LCD显示等子程序组成。软件用C语言编程,利用Keil软件编译,通过后将生成的HEX文件下载到单片机STC89C52上,Proteus硬件仿真通过后,用AltiumDesigner设计PCB板,手工制作PCB板,将单片机和其它相关元器件焊接在PCB板上,和固话连接,上电,当家中发生警情时,此时家中设定的无线模块或者其他传感器模块会发出异常信号给单片机,单片机接受到信号后立即发出现场声光报警信号来威慑侵入者,同时将单片机自动拨打预先存储在存储芯片中的电话号码给主人或者小区物业报警,以便及时采取防盗措施避免财产损失。通过拨打连接的固定电话的号码,可控制家用电器开启和关闭,液晶显示有关号码,通过蜂鸣器报警。关键词电话线;控制器;防盗报警;单片机;双音多频;红外感应DesignandproductionofremotecontrollerbasedonthefixedtelephonelineLiuFangwei(Grade09,Class1,MajorofCommunicationEngineering,SchoolofPhysicsandtelecommunicationEngineering,ShaanxiUniversityofTechnology,Hanzhong723003,Shaanxi)Tutor:LongGuangliAbstract:Inordertocontroldevicesandapplianceswhichbasedthelineoffixedtelephone,aremotecontrollerbasedonthefixedtelephonelinewasdesignedandproductionbyusingMCUandDTMFdecoder.Theimplementationofthecontrollerincludeshardwaredesignandsoftwaredesign,hardwarewascomposedofMCUminimumsystem,ringingcircuit,simulationofoff-hookandon-hook,drivecircuitofappliances,decoderofDTMF,LCD,keyboardandEEPROMCell;softwarewascomposedofmainprogram,programwhichcouldcountthenumberofringing,DTMFdecodeprogram,keyboard-scanprogram,voiceprogram,EEPROMreadingandwritingprogram,displayprogram.ThesoftwarewasbasedonprogrammedwithClanguage,usingKeilC51fordevelopingprogram,compiledHEXfileanddownloadedtotheMCUAT89S52,circuitsimulationbyProteus.TheboardofPCBwasdesignedbythesofwarewhichnamedAltiumDesignerandwasweldedmanuallywithotherelectroniccomponents,whichwillbeused.Afterconnectingwiththelineoffixedtelephoneandpoweron,thehomeappliancesiscontrolledtoturnonorturnoff,thepasswordisshowedontheLCD,thetipofvoiceisplayedwhenthetelephonenumberwascalled.Keywords:Telephoneline;Controller;Appliances;MCU目录引言11方案论证与选择31.1基于FPGA的电话远程控制器31.2基于PLC的电话远程控制器31.3基于单片机的电话的远程控制器31.4方案选择42硬件电路设计52.1单片机最小系统设计52.2振铃检测电路的设计62.3模拟摘机及电话接口电路的设计72.4DTMF解码和语音录放电路设计92.4.1DTMF解码电路设计92.4.2语音录放电路设计92.4.3功率放大电路设计102.5显示、输入和存储电路设计112.6家电驱动电路及电源模块133软件设计143.1主程序设计143.2子程序设计143.2.1振铃检测及模拟摘机程序设计143.2.2DTMF解码程序设计153.2.3EEPROM读写程序设计153.2.4语音录放程序设计163.2.5LCD1602液晶显示及键盘扫描程序设计163.3程序编译173.4程序下载174仿真、制作和调试194.1Proteus仿真194.2PCB板设计与制作214.3硬件制作调试234.3.1元器件的检测和焊接234.3.2硬件调试23结论27致谢28参考文献29附录A英文文献原文30附录B英文文献翻译40附录C系统总体原理图48附录D源程序50附录E元器件清单671引言近年来,随着网络通信技术、电子技术和计算机技术的迅猛发展,以及社会经济的飞速发展和人民生活水平的日益提高,人们对其住宅的要求也越来越高,大家不仅希望居室温馨、舒适,而且对其安全性、智能化方面也提出了更高的要求。现代电子信息技术和通讯技术的飞速发展己经为智能化安全住宅的研究提供了强有力的技术支持。如何有效地保护自己的财产不受侵害一直是人们关心的问题,无论是建筑坚固的保管场所还是采取各种报警防盗系统都是想达到这一目的。电话已在家庭中普遍使用,电话机的功能将进一步得到开发和利用。利用电话实现家用电器遥控是家电和防盗报警是未来的发展的重要方向。 电话远程控制及防盗报警器工作稳定,控制可靠,应用广泛,不仅在家庭中实用,在工业控制,安防监控等行业都是非常可靠地选择,如电脑网络设备启动和关闭、大屏幕启动和关闭、无线电发射塔设备控制、水塔抽水泵控制、工矿厂远程设备控制、高安全性电话锁、安防视频监控设备控制、有线电视设备起停控制等。基于电话线的远程控制及防盗报警系统具有一种全新的时代特色,适用于大众家庭,可实现对各种家居电气设备的远程管理,方便居民生活,且产品具有效率高,稳定性好,安全可靠等优点,适合大面积普及和应用。1.1课题研究的背景和国内外研究现状随着我国国内生产总值稳定而快速的增长,人们的生活水平有了很大的提高,与此同时,科技的发展也有了相应要求,社会结构和社会治安都日趋复杂,家电控制和管理等诸多社会问题的频繁发生,使人们对各种家具的科学管理方法越来越重视。传统的家具管理方法在家居系统的实际使用中暴露了很多隐患,如报警系统得不到及时的发现、电器设备得不到及时有效的控制、人机界面得不到友善的交互等等。电话远程控制及防盗报警系统作为一种方便、快捷、安全的智能控制系统,目前已有所研究,但还只是在实验阶段,距离实际应用、尤其是作为人们普遍使用的一种安全快捷的智能系统,尚有一定的差距。并不能完全体现出电话远程控制防盗报警的优越性。本设计采用单片机智能控制系统,另外还利用了语音芯片进行语音的存取。用预先录制的专用提示音对操作者进行提示,方便的用于家用电器及其他电器设备的远程控制。国外智能监控防盗技术发展已处于一个较高水平阶段,从具有代表性的北美发展过程可以清楚的看出世界智能监控防盗技术的发展概况。目前对北美的安防产业来说最成功的经营模式就是联网报警服务模式。联网报警将整个北美的安防产业从横向到纵向进行整合串并,形成了一个集中许多高科技手段和产业化管理水准的一体化综合性产业。比如世界排名第一,北美最大的安防跨国公司一美国祺诺亚公司,它在20世纪30年代开始搞简单的防盗报警,其当时的业务范围和技术水平跟中国现在很多安防企业是相当的。到70年代它对其产业的整体发展方向做了很大的调整,变为联网报警服务商,建立了首家网管中心尤其是在90年代引用了大量的网管技术、系统集成技术和电子技术,现已成为十分先进的联网报警服务平台。它在美国、加拿大、英国等多个国家和地区都有分公司。北美的客户数已超过600万,2003年防盗报警收入总产值达105亿美元。1.2课题研究的目的和意义科技的发展归根到底就是要改善人们的生活,科技的进步其目的就是为人们服务,本系统的研究目的就是为了能够更好的满足人们生活的需要,提高生活便捷的家电管理方法,方便大众生活的各个方方面面。所以本系统的研究是为了突破传统的管理方法,使得家庭、办公室的家电管理模式符合新的现代管理系统。该控制器因为成比低,性价比较高,在智能家居、工业控制等方面的应用尤为突出。它通过与各种通信网络的连接,即可实现对家电的防范和管理,设备通过网络技术进行监测、控制与管理,使得新时代的家电管理系统被普遍的应用于智能住宅小区,家居远程防范。家居远程控制产品的发展改变社会生活,使产品走进城市,走进农村,人们的生活因此也变得多姿多彩。1.3课题研究的主要内容本文研究的主要内容为系统硬件电路设计和系统软件设计。本系统硬件电路包括:电话双音频编解码MT8880电路、摘机挂机电路、响铃检测电路、红外检测电路、触发开关电路、液晶显示电路、I2C存储电路、继电器输出控制电路、键盘输入电路等组成。硬件电路模块多,各个电路连接起来比较复杂,而且这些电气相互之间有一定的影响,所以硬件电路的研究过程难度很大。系统的软件设计中包含了许多复杂的驱动设计,如:I2C驱动程序、MT8880双音频编解码的驱动程序、1602液晶显示程序的设计、单片机的外部中断和定时计数器的初始化函数等。在研究软件程序的时候,不仅要写好各个模块的驱动程序,还要把各个程序组合起来才能完成系统的预计功能。此系统研究的功能如下:(1)能设置报警号码;(2)能设计远程控制校验密码;(3)可通过手机或电话远程控制和管理家电;(4)实现自动拨号远程报警;(5)密码校验功能;(6)具有掉电存储功能,存储预设号码等数据;(7)红外检测技术,实现防盗报警;(8)人机交换功能,采用1602液晶作为显示器,矩阵键盘控制输入。2系统硬件方案设计2.1系统整体方案设计为实现系统的总体功能,其电路主要包括:双音频编解码MT8880电路、摘机挂机电路、响铃检测电路、红外检测电路、触发开关电路、液晶显示电路、I2C存储电路、继电器输出控制电路、键盘输入电路等组成。系统整体设计如图2-1所示:图2.1整体系统设计图2.2系统各模块电路设计2.2.1直流5V稳压电源图2.1电源模块设计图2.2.2单片机最小系统设计设计的单片机最小系统如Error! No bookmark name given.所示,由单片机、时钟电路、复位电路、编程接口组成。图Error! No style name given.2单片机最小系统单片机选用ATMEL公司设计生产的STC89C52单片机,它是一种低功耗的8位CMOS微控制器,兼容51系列单片机,内部具有8K字节的FLASH程序存储空间、256字节的内部RAM、32个可编程I/O口线、三个16位的定时/计数器、全双工UART串行接口、内置看门狗定时器,双数据指针、并且支持ISP下载。其引脚功能1为:(1) P0.0-P0.7、P1.0-P1.7、P2.0-P2.7、P3.0-P3.7一共是四组32个双向I/O口,其中P0口是漏极开路的I/O,需要接上拉电阻,选择5.6K的排阻。需注意每个I/O口的拉电流较小不能超过0.4mA,灌电流较大最大可到20mA,另外要求单片机所有I/O口的总电流不能超过100mA。(2) XTAL1和XTAL2是时钟信号的输入和输出端,通过外接晶振为单片机提供时钟源。(3) RST为复位引脚,高电平复位,当该引脚被接高电平并维持了2个机器周期时,单片机进行复位。(4) ALE脚为地址锁存控制信号,在该引脚输出“晶振频率/6”的信号,可以为外部其他器件提供时钟信号。(5) PSEN脚为外部程序存储器选通信号端。(6) EA/VPP是访问外部程序存储器控制信号,接地时从外部执行程序,接电源时从内部程序存储器开始执行程序,在使用是若没有接外部ROM则一定要接电源,否则单片机无法正常运行。(7) RXD与TXD为异步串行I/O口的输入输出端。(8) INT0和INT1为外部中断0和外部中断1的输入端。(9) T0和T1为定时器/计数器0和定时器/计数器1在作为计数器是的计数信号输入端。单片机为主控制器,负责整个系统的控制以及矩阵键盘的扫描、LCD液晶显示器的显示、EEPROM存储器的读写。INT0和INT1是单片机的外部中断0和外部中断1都设置为下降沿触发,分别接振铃检测电路的输出和DTMF解码电路的解码完成信号端。因单片机I/O口资源有限,必须通过端口复用来设计,由于DTMF解码器的输出端和LCD1602的数据端口都为三态输出,即除了高低电平两种状态以外,还有一种高阻状态。可以通过控制此二者在不同的时间分时进行数据传输,来进行端口复用2。单片机的复位电路一般分三种:手动复位、上电自动复位、手动加自动复位。上电复位是通过一个电容和一个电阻串联实现的,当单片机系统上电时,电容因为充电需要一定的时间,所以在RST端保持一段时间的高电平,待电容充电完成以后由于电阻的作用RST端恢复低电平,单片机完成复位。另一种是手动复位,就是通过一个按键和一个电阻串联,当按键按下时,RST端产生高电平,当按键释放时RST端成为低电平,单片机完成复位。如Error! No bookmark name given.单片机最小系统图所示,复位电路采用手动加上电复位两种复位方式的结合,既具有上电自动复位的功能,又能够通过小按钮手动复位,是最常用的一种单片机复位电路。时钟电路是整个单片机系统最重要的部分,为单片机提供时钟。单片机时钟源一般有两种方式提供,一种是外接时钟源,为单片机提供时钟,这种方式稳定性好,但成本较高。一般都选择单片机的内部时钟。这种方式只要在单片机的XTAL1和XTAL2引脚之间接一个外部晶振单片机就可以正常工作了。如2.2单片机最小系统所示,选择用11.0592MHz的晶振,内部时钟频率就为11.0592MHz。电容C7和C10为了帮助晶振起振,一般选择30pF左右的电容。虽然电路简单,一旦出现问题,就会导致系统崩溃等严重问题。所以设计晶振电路时要注意:(1) 30pF的起振电容一定要选择相同大小、相同类型,最好也是同一批生产的这样偏差最小。(2) 布线时晶振要尽量的靠近单片机进行布线,而且附近最好不要有任何干扰源。为了给单盘复用的办法来复用I/O口。因为矩阵键盘在正常状态下处于断开状态。只要在下载的时候不去按键盘,并且在下载以后拔掉下载线就不会对系统产生任何影响。2.2.3液晶显示电路液晶显示器以其低功耗、易于操作、体积小、内容丰富、轻巧玲珑等诸多优点,在仪器仪表设备和低功耗应用设备系统中得到越来越广泛的应用。本设计系统中用到的LCD1602的字符型液晶模块是一种常用的2行16个字的液晶模块。其中1、2脚为供电端口,15脚和16脚为背光电源,直接接在5V电源上让背光一直亮,3管脚接R2的动触点,通过调节R2可使3管脚电压在0-5V间连续可调,从而达到1602液晶对比对的调节。其他管脚为数据端和控制端,都接在单片机的I/O端口上面,通过单片机来控制。图Error! No style name given.3LCD1602液晶显示电路LCD1602内部集成了英文、数字、以及各种符号的字库,在使用时只需要向1602发送所要显示字符的ASCII码即可将该字符显示在屏幕上。型号中的16表示了一行最大可显示的字符数,02则表示可显示两行。可通过指令设置每个字符块由5×7个点阵还是由5×11个点阵组成。LCD1602各引脚功能如Error! No bookmark name given.所示。表Error! No style name given.1LCD1602引脚功能引脚名功能VSS电源地VCC+5V电源VO对比度调节端RS为0输入指令、为1输入数据RW为0写操作/为1读操作E使能端,为1时读取状态和地址,正脉冲执行写操作RB0-RB7为数据端口BLA液晶屏背光电源正。BLKLCD1602液晶屏背光电源负键盘是一种最常用输入设备,与控制系统进行交互,一般按照扫描方式可分为独立键盘和矩阵键盘。设计的矩阵键盘电路如Error! No bookmark name given.所示。图Error! No style name given.4矩阵键盘电路独立键盘即将单片机的I/O口通过一个按键直接接地,这样当按下按键时I/O口为低电平,释放后为高电平,单片机通过检测该I/O口的状态监测按键是否按下。在少于4个按键的时候一般采用独立按键方式,当按键数量大于4个时,可将键盘接成如Error! No bookmark name given.所示的电路。基本工作原理是在单片机P口高四位送1,低四位送0,然后不断循环检测高四位是否为1,若为1,说明无按键按下,若其中有一位为0说明有按键按下,并且通过行列扫描的方式可以获取按键所在的行和列,从而推算出所按的按键,并执行相应的按键处理程序8。一般根据按键的个数来选择键盘的连接方式,正如Error! No bookmark name given.所示,若将这16个按键都以独立按键的方式接在单片机的I/O口上,则需要占用16个I/O口,而用矩阵键盘的接法,则只需要占用8个I/O口。所以选择矩阵方式连接键盘。2.2.4I2C存储器接口电路为了能使密码永久的保存,选择用EEPROM存储器来存储密码,设计的AT24C02硬件电路图如Error! No bookmark name given.所示。图Error! No style name given.5AT24C02硬件电路现实应用中单片机能通过I2C的地址来识别与每个器件进行通信。电路中通过两条线与单片机通信分别是I2C的时钟线CLK和数据线DATA。这两条线分别和单片机的P34和P35相连。实现对数据的存储和读取。I2C数据传送的格式介绍:在I2C总线开始信号后一般是高电平到低电平跳变时认为是开始信号,输出的第一个字节数据信号来选择从器件地址。数据的前7位为地址码,第8位为方向位来进行读写的控制。每个传送的字节数据后面必须跟一个应答位。当传输数据完成后CLK保持高电平,为下一次传输做好准备。当数据传输完后,会发送一个结束信号。信号线从低电平到高电平跳变时表示数据传输结束。方向位为“0”则表示发送,即单片机主器件把信息写到所选择的I2C从器件中;方向位为“1”则表示单片机主器件将从I2C器件读数据。开始数据信号传输之后,系统中的各个器件将自己的地址码和主器件送到总线上的地址码进行比较,如果与主器件发送到总线上的地址一致,则该器件即作为被主器件寻址的器件,而是接收信息或者是发送信息则由第8位来决定。2.2.5双音频检测电路设计系统采用双音频编解码电话芯片MT8870作为DTMF信号的解码核心元器件。设计的DTMF解码电路如Error! No bookmark name given.所示。图Error! No style name given.6DTMF解码电路MT8870是MITEL公司设计生产的音调译码器芯片,它可以用来接收DTMF信号,在它的内部将接收到的信号分成高频带和低频带,并通过内部数字译码器解调出按键值,然后以二进制的方式,通过Q1-Q4将转换结果输出。MT8870引脚功能如Error! No bookmark name given.所示。表Error! No style name given.2MT8870引脚功能管脚名功能管脚名功能IN+内部运放同相端VDD电源正极IN-内部运放反向端ST/GT动作输入/监视时间GS增益调节端EST提前动作输出VREF参考电压输出端STD延时动作输出INH禁制输入信号检出端Q4三态数据输出端口PWDN电源下降输出端Q3三态数据输出端口OSC1晶振信号输入端Q2三态数据输出端口OSC2晶振信号输出端Q1三态数据输出端口VSS接地端TOE三态输出使能端DTMF信号经C2耦合至MT8870,进行解码。在没有DTMF信号时,STD端保持低电平,经过Q1、R6和R1组成的反相器反相后变为高电平;当检测到DTMF信号时,芯片进行解码,并在解码完成后,将STD拉高,经过反相以后变为低电平,当单片机检测到由高至低的下降沿时,将TOE端置高输出使能,并将Q1-Q4的数据读入单片机进行处理。这样就完成了一次DTMF解码。另外,为了选择8KHz进行采样,查阅数据手册得知需在ROSC端对地接一个80K的电阻。而实际中80K的电阻并不常见,所以选择用100K和450K的电阻并联得到等效于80K的电阻6。双音多频编解码电路是目前在按键电话、程控交换机及无线通信设备中广泛应用的集成电路之一。它由双音频信号的发送器与双音频信号接收器组成,前者主要应用于按键电话作双音频信号发送器,发送一组双音多频信号,从而实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号,CCITT和我国国家标准都规定了电话键盘按键与双音多频信号的对应关系,话拨号数字对应的高低频率组合如2-2表所示表2-3电话拨号数字对应的高低频率组合高频组合/HZ高频组合/HZ1209133614771633低频信号/HZ697123A770456B852789C941#D2.2.6振铃检测及摘挂机电路振铃检测电路如图2-7所示。主要使用光电耦合器进行隔离和电压比较器完成波形整型。电话线经过一个稳压管进行稳压后,再通过光耦进行隔离,实现对器件的保护作用。当有来电时,稳压管稳压后驱动光耦输入端发光,使光耦的输出端导通,P3.3电位为0,单片机进入中断处理函数进行计数,实现电话的振铃检测电路。图Error! No style name given.7振铃检测电路振铃信号是在48V直流电压的基础上所叠加的峰峰值为90V/25Hz的正弦波信号,而且每隔4秒发送1秒的振铃信号。振铃检测电路的目的是将90V的正弦波信号隔离,并转换为峰值为5V/25Hz的方波信号,送给单片机进行计数。采用限流降压的办法,使得输入端小于50V时光耦无输出,而在大于50V时光耦输出随输入变化的正弦波信号,在光耦输出端得到振铃信号的正半周。然后用LM339做比较器将正弦波信号转换为标准方波。因为单片机主要是通过计算该振铃信号的周期来判断是否为25Hz的振铃信号的,所以在这里对波形的占空比并没有特别的要求,只要在信号处理过程中周期不变就可以满足设计要求。2.2.7模拟摘机及电话接口电路的设计设计的模拟摘机和电话接口电路如Error! No bookmark name given.所示,主要由电话线接口、极性转换电路、隔离变压器、继电器、光耦和三极管组成。图Error! No style name given.8模拟摘机和电话接口电路电话线接口,使用标准的RJ-11接口,用两根线,且不区分正负极所以可以随便接。极性转换电路,作用是不管输入为+/-还是-/+输出都为+/-;这其实是利用了二极管桥式整流电路的原理,而且它们的电路结构是完全一样的,都是以二极管的单向导电性为基础所设计的。隔离变压器,主要为了使电话线和控制系统隔离,另外为了简化设计还利用了其直流阻抗小于300的特点,来作为模拟摘机中所使用的负载。继电器,相当于一个可以通过单片机来控制的单刀双掷开关,以此来选择是否摘机。光耦,为了将控制器电源与继电器电源隔离开,防止继电器开合时产生的瞬间干扰影响单片机系统的正常运行。而三极管则是为了驱动继电器工作的。Error! No bookmark name given.模拟摘机和电话接口电路中,J1为电话线接口,当J1输入为左+右-时,D1和D5正向导通、D2和D4反向截至,输出LIN+为正、LIN-为负;而当J1输入为左-右+时,D2和D4正向导通、D1和D5反向截至,输出LIN+为正、LIN-为负,从而达到极性转换的目的。当片机在初始化时,OffHook为高电平,光耦P521不导通输出端断开,Q3截至继电器动触点与振铃检测电路相连,处于挂机状态。而当单片机OffHook端输出为低电平时光耦P521导通输出端导通,Q3饱和导通继电器状态切换,动触点与隔离变压器初级相连,由于隔离变压器的初级直流阻抗小于300,300是经验阻抗,一般认为接入电话线路的负载小于300交换机就会切换线路的状态。交换机检测到线路电流突然增大,认为用户摘机,并将电话线路切换为30mA左右的恒流输出,完成接续,此时电话线路忙处于摘机状态3。在继电器的线圈两端的二极管D3为泄流二极管,因为继电器是感性元件,通电时候有储能的作用,在断电的瞬间要释放内部存储的电能,如果不加泄流二极管,那么在断电的瞬间线圈产生的反向电动势有可能将Q3击穿4。在极性转换电路中,考虑二极管的最大正向平均电流、最大正向瞬时电流以及最大反向截至电压。分摘机状态和挂机状态两种情况。在挂机状态下,电话线路上一般为48V左右的直流电压,振铃信号到来时峰值约为90V。此时电话线经过极性转换电路与振铃检测电路中光耦内部的LED连接,因为一般光耦中的LED最大正向导通电流为50mA左右,又因为电话线路上最高峰值电压为90V,可以确定其最高反向峰值电压为90V。在摘机状态下,电话线路恒流输出约为30mA。综合挂机和摘机两种状态要求二极管满足:最大正向平均电流大于80mA、最大反向截至电压大于100V两个条件。1N4148的基本参数为:(1) 正常状态下的正向电流:If=150mA(2) 正向最大电流为:Imax=500mA(3) 最大反向峰值电压:Umax=100V(4) 最大正向电压:Uf=1V(5) 最大功耗:Ptot=500mW继电器是一种电控制元件,能够通过较小的电流/电压来控制开关触点的吸合与断开,在使用继电器时,继电器低压侧与高压侧是完全隔离的,但考虑到驱动能力,以及线圈通电与断电时候产生的干扰,一般要求继电器需要单独供电,防止对控制电路产生影响。所以用大功率三极管来驱动继电器,并通过光耦对继电器和主控电路进行隔离。常用继电器有5v/12v/24v直流供电的,控制端最高承受电压有110v/220v额定电流有1A/2A等等。可根据实际需求情况,一般选择220V/1A足够控制非的家用电器了。而一般的单片机系统中,多数芯片都采用5V供电,为了能与系统共用5V电源,选择5V/220v/1A的继电器。光耦作为控制系统和继电器的隔离元件,在选择的时候主要考虑电流传输比、开关速度和耐压。而继电器则主要考虑额定工作电压、吸合电流以及触点的额定电压和额定电流。在模拟摘机电路中,开关速度在数百毫秒以内是不会有任何影响的,一般继电器的开关速度在几十至几百毫秒之间,而普通光耦的开关速度都在几十微妙以内。P521光耦的参数为:(1) 电源电压VCC=5V(2) 正向电流IF=16mA(3) 集电极最大电流Icmax=10mA(4) 开关时间ton/toff=2s(5) 电流传输比Ic/If=50对于限流电阻R14的选定,首先需要确定光耦的输入电流,单片机I/O口的拉电流比较小,而灌电流相对较大,最高可达20mA,在此选择12mA,既不至于使单片机I/O口灌电流太大,也使得光耦能够正常工作。由光耦数据手册可知,当光耦的输入电流为12mA时其压降为1.15V左右,可由以下公式来计算出限流电阻的阻值:R=(VCC-1.15V)/12mA=320(Error! No style name given.Error! No sequence specified.)取近似值330。R13作为光耦输出三级管的上拉电阻,防止光耦第3管脚接地时Ice电流过大烧坏输出三极管,这个电阻一般根据经验值选择5K左右都可满足要求。其次R17作为Q3的限流电阻,防止Q3基极电流过大烧坏三极管,因为在这里Q3作为开关元件,只工作在饱和导通和截至两种状态,对限流电阻的要求并不严格,主要能够保证Q3进入饱和状态就可以了,根据经验值选择1K的电阻。对于发光二极管D7,作为指示元件,用来指示当前继电器所处的状态,亮表示继电器吸合,灭表示继电器断开。R10是它的限流电阻,其值可由公式计算5:R=(VCC-ULED)/ILED(Error! No style name given.Error! No sequence specified.)一般通过ILED来确定发光二极管的亮度,最好不要超过10mA否则会降低发光二极管的使用寿命,对于ULED可以通过查找数据手册得到不同型号LED的ILED所对应的ULED,并以此为依据,计算限流电阻的大小。在此仅仅作为指示器件,根据经验值选择1K的电阻能保证其发光就可以了。2.2.8家电驱动电路及电源模块设计的家电驱动电路如Error! No bookmark name given.所示,与模拟摘机电路基本类似,只是所驱动的负载不一样。其工作原理以及电路各元件参数选择与模拟摘机电路完全相同,唯一不同的是,模拟摘机电路控制的是电话线正极与隔离变压器相连还是与振铃检测电路相连,而家电驱动电路则设置了CON1这样一个3芯的插座,可以直接连接到家电开关处,实现家电开关控制。图Error! No style name given.Error! No sequence specified.家电驱动电路3系统软件程序设计3.1系统主程序设计系统的软件设计必须按照一定的流程才能达到预定的功能。下面将简要介绍整个系统的流程图,系统的总流程图如3-1所示,以下将分别概述流程图中各个主要部分的实现过程。图3.1系统主程序流程图1、当系统上电后,先进行系统各模块的初始化以及单片机的中断初始化程序,接着液晶显示开始显示欢迎界面。2、当欢迎界面显示的同时,首先判断P3.0是否为低(P3.0引脚与红外检测电路相连),如果为低则说明红外检测到不明信号,系统进入中断,然后摘机,初始化MT8880双音频编解码芯片,发出报警,达到远程报警的功能。3、当P3.0脚为高时,则进行键盘扫描,判断是否要修改电话号码,如果是要修改密码,则单片机会扫描在4*4键盘中输入的电话号,同时液晶会显示输入的电话号码,达到人机交互的效果。最后重新写入电话号码到存储器中。4、如果振铃标志位置位,如果是振铃3s以后则摘机,摘机后液晶显示等待输入数据的界面,此时开始等到接收数据,当手机按下控制数据信号时,液晶会显示按键的号码,相应的控制继电器闭合,达到远程控制的作用。3.2各模块电路的程序设计3.2.1振铃检测及模拟摘机程序设计设计的振铃检测中断处理程序流程图如Error! No bookmark name given.2所示。图3.2振铃检测中断处理程序流程图振铃检测电路通过外部中断1与单片机连接,当振铃信号到来时,振铃检测电路会输出25Hz/5V的方波信号,在每一个方波周期的下降沿都会触发外部中断1,并执行中断程序。又因为振铃是1s通4s断的,所以在振铃信号到来时可以通过对25Hz的信号进行计数,当计数值达到80的时候振铃了4次左右。第一次中断到来之前定时器0处于关闭状态,程序开启定时器进行计数,当第二次以及以后的中断到来时,单片机对定时器0的计数值进行判断,看两次中断间隔是否为40ms(25Hz)。若为是则将振铃信号加1,并判断振铃信号是否大于80,若大于80则摘机,否则结束。若不是则结束。3.2.2双音频检测电路程序设计设计的DTMF中断处理程序流程图如图3.3所示。图3.3DTMF中断处理程序流程图当MT8870解码完成时会在产生一个下降沿来触发外部中断0进入中断处理程序。图3.3所示中断处理程序,主要包括种模式的处理程序:正常模式、密码输入模式和家电控制模式。正常模式什么也不做,密码输入模式则将DTMF信号转换为密码并发给主程序来判断密码正确与否。而家电控制模式则根据DTMF信号不同解码值来控制不同的家电开关以及挂机命令。这三种模式之间的切换是由主程序来控制完成的。也就是所定义的一个全局变量,通过主程序来修改这个变量的值,使得DTMF中断程序根据这个变量的值来确定进入不同的工作模式。另外,为了防止用户操作完成后没有按退出按键,系统无法自动挂机,使用定时器0的中断来进行超时计数,当计数器大于130(约10s)则系统自动挂机,而在用户正常操作时用户每按下一个按键,就会在DTMF解码中断里将这个超时值清零。3.2.3EEPROM读写程序设计单片机通过I2C总线向24C64存储和读取数据,I2C总线是一种双向的、两线串行通信接口。SDA为数据线,SCL是时钟线。每根线都必须接一个上拉电阻。工作时,由主器件提供时钟信号,SCL和SDA都为高时总线处于空闲状态可以进行数据传输,每次数据传输都由START条件(SCL为高电平是,SDA的下降沿)开始,由STOP条件(SCL为高电平时,SDA的上升沿)结束。在开始条件和结束条件之间传输数据,每一个时钟信号传输一位数据,必须在时钟线为低时发送数据,在时钟线为高时由接收器读取数据,并且接收器每接收到一个字节,需要返回一个应答信号。3.2.4LCD1602液晶显示及键盘扫描程序设计DDRAM是显示数据RAM,用来存储显示的字符代码,一般不做滚屏显示的时候,DDRAM的第一行的00H-0FH与显示屏地第一行对应。第二行的40H-4FH与显示屏的第二行显示对应。1602显示字库与ASCII码完全