基于gprs的远程智能家电_本科论文.doc

基于gprs的远程智能家电_本科论文.doc

ID:14137321

大小:3.60 MB

页数:42页

时间:2018-07-26

上传者:zhaojunhui
基于gprs的远程智能家电_本科论文.doc_第1页
基于gprs的远程智能家电_本科论文.doc_第2页
基于gprs的远程智能家电_本科论文.doc_第3页
基于gprs的远程智能家电_本科论文.doc_第4页
基于gprs的远程智能家电_本科论文.doc_第5页
资源描述:

《基于gprs的远程智能家电_本科论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

盐城工学院本科生毕业说明书(2011)基于GPRS的远程智能家电控制系统设计专业学生姓名班级学号指导教师完成日期 盐城工学院本科生毕业说明书(2011)基于GPRS的远程智能家电控制系统设计摘要随着网络技术和通信技术的不断发展以及人们对生活要求的不断提高,实现家庭智能的远程控制已经成为必然的趋势。本文采用嵌入式系统和GPRS通讯技术相结合的方式,搭建了一个家庭智能管理平台。通过该平台,通过短信或Internet网络等方式,实现对家庭系统的远程监控。本文设计了一个基于单片机的智能家电控制系统。系统模块主要包括GPRS无线通讯模块、家庭智能控制器模块。其中家庭智能控制器是系统的核心,主要完成了对家庭系统的智能管理以及和GPRS无线模块的通讯。本设计以实现家用电器的开关为例。硬件方面以AT89C51单片机为核心,采用了HK21F继电器控制家用电器的通断,以周立功公司ZWG-23A型号的GPRS无线通信模块为基础,基于AT指令和数据采集器,构建一个远程的智能家电控制系统,对家电进行控制,本设计以控制灯泡为例,实现了对灯泡的开关控制和状态反馈。软件方面,主要实现对用户短信的分析识别处理,根据处理好的数据对继电器进行控制,以达到控制灯泡的目的,通过光电开关对灯泡的当前状态进行检测并把数据送给AT89C51单片机,AT89C51单片机再通过GPRS模块以短信的方式把具体信息反馈给用户。实践结果表明,该系统使用效果良好,应用前景广泛。关键词:家电远程控制;GPRS;VC++;单片机 盐城工学院本科生毕业说明书(2011)BasedonGPRSwirelesshometheoverallintelligentcontrolsystemsolutionsAbstract:Asthecontinuousdevelopmentofnetworkandcommunicationtechnologyaswellastheimprovementofpeople’slivingstandard,therealizationofremotecontrolofHomeIntelligencehasbecomeaninevitabletrend.Inthispaper,aHomeIntelligentmanagementplatform,whichcombineshomeapplications,burglaryprotectionsystemandhydroelectricsystemorganicly,isestablishedbyusingembeddedsystemcombinedwithGPRStechnologyandRS485bustechniquetorealizeintelligentmanagementofhomeapplicationsandotherhomesystems.Basedontheplatform,SMSandInternetcanbeusedtorealizeremotecontrolofthehomesystem.InthethesisdesignabasedonSCMintelligentappliancescontrolsystem.SystemmodulemainlyincludingGPRSwirelesscommunicationmodule,familyintelligentcontrollermodule.Onefamilyintelligentcontrolleristhecoreofthesystem,themaincompletionofthefamilysystemofintelligentmanagementandGPRSwirelessmodulecommunications.Thefamilysystemmodulemainlyrealizesthefamilysysteminthemorecommonlyusedtheswitchquantitycontroletc.Function.HardwarewithAT89C51,usingaHK21FrelaycontrolhouseholdapplianceshigetoGPRSwirelesscommunicationmoduleasthefoundation,basedoninstructionsanddataterminaltractor,buildaremoteintelligentappliancescontrolsystem,controlofhomeappliance.SoftwarefortheuserSMS'smainrealizationanalysistoidentifytreatment,outputcontrolquantity,thecurrentstateofhomeappliancewithSMSwayfeedbackfunction.Thepracticeindicatesthatthesystemusedtogoodeffect,theapplicationprospectofextensive.KeyWords:Applianceremotecontrol,GPRS,VC++,Microcontrolle 盐城工学院本科生毕业说明书(2011)目录1.概述11.1课题设计背景11.2国内外研究历史11.3课题设计内容22.系统的总体结构与硬件电路设计22.1系统总体结构设计22.2单片机电路设计42.2.1单片机的选择42.2.2时钟(晶振)电路62.2.3复位电路72.3状态反馈模块82.4GPRSDTU的选择92.4.1GPRSDTU硬件简介92.4.2GPRSDTU的选择102.4.2ZWG-23AGPRSDTU的组网方式112.4.2串口通信电路123.下位机软件设计133.1软件开发环境133.2下位机软件的总体设计143.3状态反馈程序设计173.4串口通信程序设计194.GPRSDTU的配置214.1GPRSDTU软件简介214.2GPRSDTU的工作模式224.3DTU的配置234.3.1DTU的配置方式234.3.2本地方式下配置模式的进入234.3.3远程方式下配置模式的进入244.3.4配置模式的退出244.3.5DTU的参数配置协议244.4GPRSDTU的工作过程255.系统集成与调试256.结束语27参考文献28致谢29附录30 盐城工学院本科生毕业说明书(2011)附录1:程序清单30附录2:设计图纸33附录2.1智能家电远程控制系统电路图33附录2.2智能家电远程控制系统PCB图34附录3:元器件目录表36 盐城工学院本科生毕业说明书(2011)1.概述1.1课题设计背景家永远是人们最关心的地方,无论走到哪里人们都希望能够随时随地了解家中的情况。因此人们一直设想:将来有一天即便是外出时,也能够通过网络或者手机短信等方式时刻监控家中情况,并且当家中发生煤气泄漏或者有人恶意闯入等紧急情况时,能够第一时间得到电话或短信通知。这些设想,已经随着网络技术和电子通讯技术的迅速发展,逐步成为现实。人们的生活也因此变得越来越舒适。智能家居系统是一个开放的、使用了多项高新技术的智能化、人本化的集成型家居系统,它把宽带互联网、家电设备、家居自动化和家庭安全防护防盗有机地结合到一起。家庭智能控制器是家庭网络的枢纽,它集中控制家中的各种家电设备并能接入互联网,起到家庭系统与互联网之间的通用接口平台的作用,通过家庭智能控制器可以对家庭网络中的信息家电进行中央监控和远程控制。现阶段家庭系统接入互联网的方式主要为有线接入,目前最流行的有线宽带接入技术是ADSL(非对称数字用户线)和HFC(同轴光纤混合网)。然而,现有的无线通信网络也具备了为数据通信业务提供一定传输速率的能力,如GPRS作为一种高速、高效、经济的无线系统,具有网络覆盖范围广、数据带宽宽、适应性强、计价按数据流量计算、实时在线的优点,特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔大量的数据传输,能够满足数据采集及监控的双向数据信息传输。GPRS技术从实验室研究、地区范围内试用到正式商用,经过了长时间的完善,技术先进可靠。GPRS设备终端传输设备一开机就能自动附着到GPRS网络上,与数据中心实时在线进行实时数据通信,高速输,可靠性高。3G网络也将要全面铺开,届时能够提供宽带接入Internet,所以说,家庭网络无线接入Internet的方案具有可行性。因此,本文论述了基于GPRS技术和单片机嵌入式系统实现家庭智能系统的远程控制的方案。用户可以通过短信及Internet网络等方式,访问家庭智能控制器,达到对家用设备监控的目的。1.2国内外研究历史1979年,美国斯坦福研究所就提出了在建筑物内将家用电器、电气设备的控制线统一为家庭总线的概念,此后又成立了现代住宅研究会。1983年,美国电子工业协会开始制定家庭电气设计标准。1984年,美国住宅建筑者协会成立了现代住宅开发公司,开展有关基础性研究工作,并在1989年推出了将电力供应、空调控制和数据通讯合成为整体的布线示范单元。在这期间,智能住宅(Smart35 盐城工学院本科生毕业说明书(2011)Home)的概念在欧美等发达国家得到了广泛的认同和发展。欧洲在1986年曾把集成化的家庭系统研究列为尤利卡计划,进行了大力研究。在20世纪80年代,欧洲电气标准化委员会制定了家用数字总线标准,从而进一步规范了智能住宅的技术标准。日本在80年代初也以相当大的力度推进家庭电子化。在80年代中期,将家用电器、保安设备、通讯设备的功能综合后,提出了家庭自动化的新构想。1988年,日本建立了住宅信息化促进会,主要开展了家庭总线技术的研究,并公布了总线标准。近年来,为了适应大型住宅小区的需要,又提出了超级家庭总线系统的概念。1996年,日本推出多媒体住宅样板计划,将多媒体技术引入智能住宅,取得了重要的研究成果,并将它投入开发建设。在东南亚,新加坡的智能建筑技术研究目前已处于领先水平。例如宝得胜家庭智能化系统,已经用于30多个住宅小区。在98年亚洲家庭电器与电子消费品国际展览会上展示的“未来之家”,其智能品质受到人们的广泛关注。我国对智能住宅的研究刚刚起步,1994年,国家科委立项资助重大科技项目“2000年小康型城乡住宅科技产业工程项目”,其目标是以科技为先导,以示范住宅小区建设为载体,推进我国住宅产业现代化,构建新一代住宅产业。标志着我国家庭智能化产业发展的开端。总体来说,我国智能建筑市场有着极其广阔的发展前景,智能建筑市场也正逐渐进入成熟、完善和规范。目前,我国已成为全球最有潜力的智能建筑市场,智能建筑在我国的发展呈现出一派良好的势头。据预测,2007年全球数字家庭市场规模将高达1026亿美元。目前,数字家庭网络市场仅处于从市场导入期向市场成长期的过渡阶段。但是,随着数字化的进一步发展,随着三网融合的逐渐实现,随着高速宽带、路由器和无线技术的广泛使用,数字家庭网络必然会逐渐进入市场成长期并取得迅速发展。1.3课题设计内容a)系统方案的提出和总体设计,包括通讯方案的选择,组网方案的选择,软硬件开发平台的选择及主要芯片模块的选择。b)硬件上完成了GPRS模块外部接口的硬件电路设计,串口扩展,RS232通讯设计,并完成了以上模块的原理图和PCB的设计。c)软件上完成了家庭控制系统下位机软件设计、上位机软件设计。2.系统的总体结构与硬件电路设计2.1系统总体结构设计系统的总体设计思路是GPRS模块接收用户短信将数据传送到AT89C51单片机。单片机对数据进行处理并给出相应输出控制继电器,从而控制家用电器。传感器把家用电器的状态处理发送给AT89C51单片机,数据通过单片机处理,再由GPRS发送模块发送出去。35 盐城工学院本科生毕业说明书(2011)图2-1系统的总体框图通过系统的总体结构框图得到硬件电路设计框图,图2-2为硬件电路设计框图。硬件电路总设计主要有单片机最小系统设计;状态采集电路设计;通信模块设计;驱动电路设计。图2-2硬件电路总体电路图35 盐城工学院本科生毕业说明书(2011)2.2单片机电路设计图2-3单片机外围电路图图2-3是单片机的外围电路,主要包括晶振电路、复位电路、采集电路。单片机选用AT89C51。2.2.1单片机的选择AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。a)主要特性:与MCS-5135 盐城工学院本科生毕业说明书(2011)兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24Hz;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。图2-4AT89C51芯片引脚图b)管脚说明: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口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”35 盐城工学院本科生毕业说明书(2011)时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2.2时钟(晶振)电路35 盐城工学院本科生毕业说明书(2011)时钟电路对单片机系统而言是必需的。由于单片机内部是由各种各样的数字逻辑器件(如触发器寄存器存储器等)构成。这些数字器件的工作必须按时间顺序完成,这种时间顺序就称为时序。时钟电路就是提供单片机内部各种操作的时间基准的电路,没有时钟电路单片机就无法工作。此次设计中,我们采用由由内部方式产生时钟的方法形成时钟电路,具体如图2-5所示。图2-5时钟电路内部方式:在XTAL1和XTAL2端外接石英晶体作定时组件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频,即若石英频率fosc=6MHz,则时钟频率=3MH2,因此,时钟是一个双相信号,由P1相和P2相构成。fosc可在2MHZ—12MHZ选择。小电容可以取30PF左右。2.2.3复位电路RST引脚是复位信号的输入端。复位信号是高电平有效。高电平有效的持续时间应为24个振荡周期以上。若时钟频率为6MHz,则复位信号至少应持续4微秒以上,才可以使单片机复位。本次设计中采用按键复位的方法进行复位操作。如下图2-6所示。35 盐城工学院本科生毕业说明书(2011)图2-6按键复位电路按键复位是利用开关按钮来实现的,即通电后,按下开关,使得瞬间RST端的电位与Vcc相同,随着电容上储能增加,电容电压也增大,充电电流减少,RESET端的电位逐渐下降。这样在RST端就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲持续的时间进行调节。2.3状态反馈模块E3F-DS10C4光电开关E3F-DS10C4是欧姆龙公司一款光电开关,主要特点有:a)灵敏度高,频率响应快,重复定位精度高,瞬变过程短,输出功率大,急电特性好,工作稳定可靠,使用寿命长等优点。b)红色LED显示可以检查传感器的状态,具有耐震,耐腐蚀,防水性好等特点。c)经济并且简单的操作。d)运用广泛,可替换小型开关和限位开关。E3F-DS10C4光电开关的基本参数如下:a)电源电压:直流10-30VDC、交流90-250VACb)输出模式:NPN常开、NPN常闭、PNP常开、PNP常闭、二线常开、二线常闭、交流常开、交流常闭。在本设计中,由E3F-DS10C4光电开关组建状态检测系统。详细的电路如图2-7所示。35 盐城工学院本科生毕业说明书(2011)图2-7E3F-DS10C4状态检测电路2.4GPRSDTU的选择2.4.1GPRSDTU硬件简介GPRSDTU(DataTerminalunit)全称数据传输单元,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备。GPRSDTU就是用GPRS网络来传输数据的设备,它采用工业级嵌入式处理器,内嵌TCP/IP协议栈。为用户提供高速,稳定可靠,数据终端永远在线,多种协议转换的虚拟专用网络。GPRSDTU最基本的用法是:在DTU中放入一张开通GPRS功能的SIM卡,DTU上电后先注册到GPRS网络,然后通过GPRS网络和数据处理中心建立连接,如右图所示。这条连接涉及了无线网络运营商,因特网宽带供应商,用户公司的网络情况,以及用户的电脑配置等环节,因此要建立这条连接需要把各部分都配置好。在本质上,DTU和数据处理中心建立的是SOCKET连接。DTU是SOCKET客户端,数据处理中心是SOCKET的服务端。SOCKET连接有TCP协议和UDP协议之分,DTU和中心要使用相同的协议,这个一般都有配置软件进行配置。给DTU配置好中心的IP地址和端口号后,则把DTU通过串口和用户的设备相连。在如图所示中,DTU和水文、电力、气象、环保等设备连起来放置在现场。DTU上电后首先注册到移动的网络,然后发送建立SOCKET的请求包给移动,移动把这个请求发送到因特网。中心的服务端软件接收到请求后建立连接,并发送应答信息。DTU发送的请求信息是因特网上的数据包,有一些原因会阻止中心收到连接请求包,这样也就不能建立连接。最常见的有中心的电脑上有杀毒软件、防火墙等把这些数据包给屏蔽了。另一是中心电脑是通过路由器上网的,在路由器上要设置数据转发。SOCKET连接建立后就可以双向通信了。35 盐城工学院本科生毕业说明书(2011)2.4.2GPRSDTU的选择目前市面上的GPRSDTU产品很多,基本功能也没有太大差别。本设计选择了周立功公司的ZWG-23A型号的GPRSDTU。ZWG-23AGPRSDTU的外形如图2-8所示。图2-8ZWG-23AGPRSDTUZWG-23A是一款基于GPRS网络的无线数据传输终端设备,提供全透明数据通道,可以方便的实现远程、无线、网络化的通信方式。让您的设备轻松实现与Internet的无线连接。ZWG-23A具有网络覆盖范围广(移动网络覆盖范围,能使用移动电话的地方就可以使用)、组网灵活快捷(安装即可使用)、运行成本低(按流量计费)等诸多优点。可应用于电力系统、工业监控、交通管理、气象、水处理、环境监控、金融证券、煤矿、石油等行业。主要特性如下:a)支持数据透明传输与协议转换b)支持备用数据中心c)支持点对点互连功能d)支持APN虚拟专网业务e)支持数据中心动态域名或IP地址访问f)支持永远在线、空闲下线和空闲掉电三种工作方式g)支持短信和电话唤醒功能h)支持断线自动重连功能35 盐城工学院本科生毕业说明书(2011)i)具有连接时机可控功能,节约流量j)支持本地和远程图形化界面配置与维护k)支持短信配置与维护l)支持本地和远程固件升级m)RS232DB9串口,具有流控信号线和上线指示信号线n)支持数据中心虚拟串口功能,无缝衔接现有上位机软件o)支持5V~26V宽范围供电p)工作电流最大300mA、在线待机电流≤31mA、休眠时≤14mAq)多重软硬件可靠设计,复合式看门狗技术,使设备安全运行ZWG-23A型号的GPRSDTU参数如表2-1表2-1GPRSDTU参数参数名称参数备注网络类型GPRS移动站类型CLASSBGPRS多时隙类型CLASS10频段900/1800/1900MHzGPRS网络传输速率下行:最大:85.6Kbps上行:最大:42.8Kbps编码方式CS-1、CS-2、CS-3、CS-4SIM卡电压3V、1.8V天线接口50Ω/SMA(母头)串口电平类型RS232标准电平串口接口型号DB9母头9芯带有流控信号线和上线指示信号线串口波特率300~115200bps支持标准波特率适配电源DC:+5V~26V标准适配器:+9V/500mA功耗工作:最大300mA待机:≤31mA空闲:≤31mA掉电:≤14mA工作温度-25℃~+70℃储存温度-40℃~+80℃湿度范围0-95%非冷凝2.4.2ZWG-23AGPRSDTU的组网方式通过ZWG-23A模块可以让远端的用户设备和管理中心的电脑进行透明数据通信。35 盐城工学院本科生毕业说明书(2011)透明数据通信:意思即为用户设备与DTU之间没有通信协议,DTU将用户设备发送过来的数据不做修改的传送到目标PC上,运行于PC上的软件可以完整的接收到DTU发来的数据包。比如用户设备发送一个字节数据为0xAA,那么在PC端运行的软件就会收到一个字节数据0xAA。从PC到用户设备的通信过程与之相同。2.4.2串口通信电路为了提高串行通信的可靠性,增大通信距离,一般采用标准串行接口、RS-232C、RS422A等标准接口来进行串行通信。EIARS-232C是异步串行通信中应用最广泛的标准总线,它包括了按位串行传输的电气和机械方面的规定。在微机通信中,通常使用RS-232C接口即PC机的COM口,其引脚定义如图2-9所示。图2-9RS-232C引脚定义图PC机的COM口,输入输出为RS-232C电平,而51单片机串行口的输入输出均为TTL电平。由于TTL电平和RS-232C电平互不兼容,所以两者接口时,必须进行电平转换。电平转换最常用的芯片是传送线驱动器MC1488和接收器MC1489,其作用除了电平转换外,还实现正负逻辑电平转换。图2-10是单片机与PC机通信接口电路。图2-10单片机与PC机通信接口电路35 盐城工学院本科生毕业说明书(2011)3.下位机软件设计3.1软件开发环境本监控软件采用VisualC++作为编程语言,采用MSACCESS2000数据库,该数据库作为OFFICE办公软件的组件之一。VisualC++VisualC++是微软公司推出的开发Win32环境(Window95/98/NT)程序,面向对象的可视化集成编程系统。它不仅具有程序框架自动生成,灵活方便的类管理,代码编写和界面设计交互操作,可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE、WinSock网络、3D控件界面。因此它已经成为开发Win32程序的主要开发工具。使用VisualC++的优点很多,主要优点有:a)VisualC++面向对象的程序设计方法,数据及处理数据的函数封装于类中,程序的可维护性好;此外,VisualC++语言通过函数使程序模块化,并且可以独立编译,为结构化程序设计提供了强有力的手段;b)VisualC++语言与外部设备的接口性好,可以直接利用程序实现外部打印,扫描等功能;c)VisualC++语言具有强大的数据库功能,可以比较容易的进行数据库操作,从而为通过数据库实现图形的自动绘制打下了基础;d)VisualC++语言具有表达能力强、控制语句丰富、构造复杂数据类型的能力强、书写整洁、代码质量高等优点;e)VisualC++标准库中丰富的函数及其良好的兼容性,使得VisualC++语言成为功能极强的语言,还配备有70多个图形库函数,使利用VC++设计时具有更大的灵活性。综上所述,最终决定选择可视化语言VisualC++作为本软件的开发语言。ACCESS数据库Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access是一种关系型数据库管理系统,其主要特点如下:a)存储方式单一Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。b)面向对象35 盐城工学院本科生毕业说明书(2011)Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。c)界面友好、易操作Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。d)集成环境、处理多种数据信息Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。e)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity)利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。3.2下位机软件的总体设计在主程序流程图中,系统软件的重点在于对单片机编程。包括向AT89C51对ZWG-23A的初始化以及对串行口通信速率、短消息模式、短消息中心号码的初始化。这些初始化指令是通过AT指令写入的,因此在编程时将这些常用到的AT指令编成表格,存放在AT89C51的程序存储器内,以便使用。流程图如图4-1所示。其中A、B、C、D中断子程序只是发送数据内容不一致,对应的流程一致,因此使用一个中断子程序表示;P2.i中i=0,1,2,3对应着不同的指示灯。35 盐城工学院本科生毕业说明书(2011)图3-1下位机软件主流程图下面为部分重要代码:voidCMSComm::SetCDHolding(BOOLbNewValue){staticBYTEparms[]=VTS_BOOL;InvokeHelper(0x1,DISPATCH_PROPERTYPUT,VT_EMPTY,NULL,parms,bNewValue);}............35 盐城工学院本科生毕业说明书(2011)staticBYTEparms[]=VTS_I2;InvokeHelper(0x4,DISPATCH_PROPERTYPUT,VT_EMPTY,NULL,parms,nNewValue);}shortCMSComm::GetCommPort(){shortresult;#if!defined(AFX_STDAFX_H__68B898A5_7629_4160_84BB_8DB29F506EC3__INCLUDED_)#defineAFX_STDAFX_H__68B898A5_7629_4160_84BB_8DB29F506EC3__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000#defineVC_EXTRALEAN//Excluderarely-usedstufffromWindowsheaders#include//MFCcoreandstandardcomponents#include//MFCextensions#include//MFCAutomationclasses#include//MFCsupportforInternetExplorer4CommonControls#ifndef_AFX_NO_AFXCMN_SUPPORT#include//MFCsupportforWindowsCommonControls#endif//_AFX_NO_AFXCMN_SUPPORT#include35 盐城工学院本科生毕业说明书(2011)3.3状态反馈程序设计用户给系统发送的指令有没有得到有效的执行,系统应该及时向用户反馈实际情况。反馈系统的设计思路为AT89C51单片机一旦检测到E3F-DS10C4光电开关的上升沿或者下降沿,就调用相应程序通过GPRS向用户发送短信“XXX已开”、“XXX已关”或者“操作失败”等。状态反馈程序流程图如图3-2所示。图3-2状态反馈流程图voidCMyDlg::OnOpenRadio(){//TODO:Addyourcontrolnotificationhandlercodehere//intiSetRadio;//iSetRadio=GetCheckedRadioButton(IDC_OPEN_RADIO,IDC_CLOSE_RADIO);//if(!(iSetRadio==IDC_OPEN_RADIO))if(iSetRadio==FALSE){CStringargs,temp;intcom_num=1;this->GetDlgItemText(IDC_COMBO_COMNUM,temp);if(temp.Compare("COM2")==0)com_num=2;if(temp.Compare("COM3")==0)com_num=3;if(temp.Compare("COM4")==0)com_num=4;temp.Empty();this->GetDlgItemText(IDC_COMBO_RATE,temp);if(temp.Compare("1200")==0||temp.Compare("2400")==0||temp.Compare("9600")==0)args=temp;else35 盐城工学院本科生毕业说明书(2011)args="9600";args+=",";temp.Empty();this->GetDlgItemText(IDC_COMBO_CHECK,temp);if(temp.Compare("无校验")==0)args+="n,";if(temp.Compare("偶校验")==0)args+="e,";if(temp.Compare("奇校验")==0)args+="o,";this->SetDlgItemText;(IDC_EDIT_COMSTATE,"已关闭");this->GetDlgItemText(IDC_COMBO_DATA,temp);if(temp.Compare("6")==0||temp.Compare("7")==0||temp.Compare("8")==0)args+=temp+",";elseargs+="8,";this->SetDlgItemText;(IDC_EDIT_COMSTATE,"操作失败");this->GetDlgItemText(IDC_COMBO_STOP,temp);if(temp.Compare("1")==0||temp.Compare("2")==0)args+=temp;elseargs+="1";this->InitCOM(com_num,args);this->SetDlgItemText(IDC_EDIT_COMSTATE,"已打开");iSetRadio=TRUE;}}35 盐城工学院本科生毕业说明书(2011)3.4串口通信程序设计图3-3通信模块流程图#include#include#defineucharunsignedchar……………sbitrealy2=P0^2;//继电器3sbitrealy3=P0^3;//继电器4sbitrealy4=P0^4;//继电器5sbitrealy5=P0^5;//继电器6sbitrealy6=P0^6;//继电器7sbitrealy7=P0^7;//继电器8sbitkey1=P2^0;//开关1sbitkey2=P2^1;//开关2sbitkey3=P2^2;//开关335 盐城工学院本科生毕业说明书(2011)sbitkey4=P2^3;//开关4sbitkey5=P2^4;//开关5sbitkey6=P2^5;//开关6sbitkey7=P2^6;//开关7sbitkey8=P2^7;//开关8voidDelay_ms(uinti);voidStart_GSM(void);voidUART_init(void);voidsendchar(ucharch);voidsendstring(uchar*p);voidGSM_INIT(void);voidreceive_ready(void);voidmessage_read(void);voidread_message(void);voidsendmessage(void);CDataReceiveDlg::CDataReceiveDlg(CWnd*pParent/*=NULL*/):CDialog(CDataReceiveDlg::IDD,pParent){//{{AFX_DATA_INIT(CDataReceiveDlg)//NOTE:theClassWizardwilladdmemberinitializationhere//}}AFX_DATA_INIT}………………….{nItem=this->m_List.InsertItem(this->m_List.GetItemCount()+1,NULL);this->m_pRS->GetFieldValue("时间",var);this->m_List.SetItemText(nItem,0,(LPCSTR)var.pbstrVal);this->m_pRS->GetFieldValue("数据",var);this->m_List.SetItemText(nItem,1,(LPCSTR)var.pbstrVal);this->m_pRS->MoveNext();}}35 盐城工学院本科生毕业说明书(2011)BOOLCDataReceiveDlg::DestroyWindow(){//TODO:Addyourspecializedcodehereand/orcallthebaseclassdeletethis->m_pRS;returnCDialog::DestroyWindow();}数据发送CDataSendDlg::CDataSendDlg(CWnd*pParent/*=NULL*/):CDialog(CDataSendDlg::IDD,pParent){//{{AFX_DATA_INIT(CDataSendDlg)//NOTE:theClassWizardwilladdmemberinitializationhere//}}AFX_DATA_INIT}………………BOOLCDataSendDlg::DestroyWindow(){//TODO:Addyourspecializedcodehereand/orcallthebaseclassdeletem_pRS;returnCDialog::DestroyWindow();}4.GPRSDTU的配置4.1GPRSDTU软件简介GPRS DTU全称GPRS数据终端单元,在软件设计上,它封装了协议栈,并且具有嵌入式操作系统,硬件上可看作是嵌入式PC加无线接入部分的结合。目前国内实际上对GPRSDTU有更加明确的约定:GPRSDTU是专门用于将串口数据通过GPRS网络进行传送的GPRS无线设备。GPRSDTU具有4个核心的功能:a)支持自动心跳,保持永久在线。35 盐城工学院本科生毕业说明书(2011)GPRS通信网络的优点之一就是支持GPRS终端设备永久在线,因此典型的GPRSDTU在设计上都支持永久在线功能,这就要求DTU包含上电自动拨号、采用心跳包保持永久在线(当长时间没有数据通信时,移动网关将断开DTU与中心的连接,心跳包就是DTU与数据中心在连接被断开之前发送一个小数据包,以保持连接不被断开)、支持断线自动重连、自动重拨号等特点。b)内部集成TCP/IP协议栈。GPRSDTU内部封装了PPP拨号协议以及TCP/IP协议栈并且具有嵌入式操作系统,从硬件上,它可看作是嵌入式PC与无线GPRSmodem的结合;它具备GPRS拨号上网以及TCP/IP数据通信的功能。c)支持参数配置,永久保存。GPRSDTU作为一种通信设备,其应用场合十分广泛。在不同的应用中,数据中心的IP地址及端口号,串口的波特率等都是不同的。因此,GPRSDTU都应支持参数配置,并且将配置好的参数保存内部的永久存储器件内(一般为FLASH或EEPROM等)。一旦上电,就自动按照设置好的参数进行工作。d)提供串口数据双向转换功能。GPRSDTU提供了串行通信接口,包括RS232/RS485等都属于常用的串行通信方式,而且GPRSDTU在设计上大都将串口数据设计成“透明转换”的方式,也就是说GPRSDTU可以将串口上的原始数据转换成TCP/IP数据包进行传送,而不需要改变原有的数据通信内容。因此,GPRSDTU可以和各种使用串口通信的用户设备进行连接,而且不需要对用户设备作改动。此外,较为专业的GPRSDTU还提供了一些扩展功能。主要包括:支持数据中心域名解析、支持远程参数配置/远程固件升级、支持远程短信/电话唤醒、支持本地串口固件升级、提供短信通道、提供DTU在线/离线电平指示等。其中支持数据中心域名解析[22]功能是非常有用的一个功能,可以实现将数据中心做成一个网站,通过网站可以很方便的在任何能上网的地点进行远程监控。4.2GPRSDTU的工作模式以周立功公司ZWG-23A型号的GPRS为例有三种工作模式,“永远在线模式”、“空闲下线模式”和“空闲掉电模式”。永远在线模式:模块上电会后主动连接预先设定好的服务器,并一直维持着在线状态,随时都可以快速的进行数据传输。空闲下线模式:模块上电后会主动连接预先设定好的服务器,如果在一段时间内没有进行数据传输(数据中心端没有发数据,串口设备端也没有发数据),DTU将断开与服务器的连接,进入休眠状态。通信的空闲时间可以在“传输控制”中使用“空闲下线时间(IDLETIM)”配置命令进行设定,设定时间最短30秒,最长65536秒,步进一秒钟。35 盐城工学院本科生毕业说明书(2011)在DTU断开与服务器的连接后,有三种方法使DTU模块与服务器之间重新建立连接。一种是向DTU的串口发送数据,DTU将在连接服务器成功后将这些数据送出。第二种是通过短信激活模块,向模块发送短信内容如图4-1所示的信息,可使模块连接预定的服务器。如:123456,WAKEUP图4-1模块唤醒短信格式最后一种是通过电话唤醒,只要拨打DTUSIM卡的号码,接通后,听到DTU挂断,就说明DTU已经唤醒。该模式可以降低GPRS通信的流量费用,但是DTU从空闲状态下恢复通信能力(与服务器重新建立连接)需要一定的时间,这与当地网络情况相关,通常为数秒到数十秒。空闲掉电模式:该模式的工作情况与“空闲下线模式”类似,不同之处是工作于“空闲掉电模式”的DTU在断开与服务器的连接后,DTU将切断GPRS模块的供电,并使整个系统进入掉电状态,达到低功耗的目的。在系统掉电的状态下整机功耗小于14mA,适合用电池供电、间歇性通信的场合。在DTU断开与服务器的连接后,只有一种方法可以使DTU模块与服务器之间重新建立连接。就是向DTU的串口发送数据,DTU会被唤醒,然后自动连接数据中心服务器,模块将在连接服务器成功后将这些数据送出。4.3DTU的配置4.3.1DTU的配置方式ZWG-23A功能强大,具有众多可配置的参数,为我们提供了多种方便的配置方式。从配置界面上来分,包括“字符配置方式”和“图形配置方式”。其中字符配置方式不需要专用工具,只需一个串口调试工具即可(比如Windows自带的“超级终端”),该方式直接使用配置命令操作DTU。图形配置使用专用配置工具(软件与产品配套提供),软件界面友好并且使用方便。从本质上来说图形配置也是用配置命令来设置DTU的,只不过配置工具完成了所有命令的发出和解析。所以用户也可以编写自己的配置工具。从距离来分,包括“本地串口配置”和“远程GPRS无线配置”,它们使用相同的命令格式。要对GPRSDTU进行配置,首先要进入配置模式,在电脑上安装与之配套的配置软件,然后用串口线将DTU和电脑的串口相连接,就可以对DTU的各种参数进行配置了。4.3.2本地方式下配置模式的进入该方式适合工作人员在设备安装现场调试时使用,或者是用户设备对DTU的自动配置。需将DTU设备与电脑的串口连接。进入本地配置模式有两种方式,分别如下所述。在DTU上电时:DTU在上电时会检测串口上是否有ASCII码为“”(空格,十六进制数为35 盐城工学院本科生毕业说明书(2011)0x20)的数据出现,有则认为用户要求进入配置模式。所以我们只需要在DTU上电前,通过串口不断向DTU发送空格字符串,对应的HEX值为“0x20”(按住键盘空格键,波特率57600、8位数据为、1位停止位、无校验),然后给DTU通电,即可进入配置模式。由这种方式进入配置模式,默认是打开调试信息功能的(有回显,方便用户使用超级终端等工具进行配置),否则也不能通过上电发送“”的方法进入配置进入。在DTU上电时如果接收到字符“e”(小写,波特率57600、8位数据为、1位停止位、无校验),将进行出厂设置恢复动作。在DTU正常工作时:如如果DTU正处于正常通信状态,那么通过串口向DTU发送“+++insetr ”,可使DTU退出当前工作模式,进入配置模式。由这种方式进入配置模式,调试信息按预设参数选择输出(受DBGINF命令项控制)。4.3.3远程方式下配置模式的进入该方式适合工作人员在不方便到工程安装现场进行设备调试时使用。远程方式下使DTU进入配置模式,需要满足的条件是,DTU已经连接上目标服务器。远程方式下使DTU进入配置模式的命令与前文叙述的本地方式一致。通过发送特定数据实现。4.3.4配置模式的退出DTU配置结束后,如果要进入设置好的工作模式,则需要通过串口或远程的服务器向DTU发送控制命令中的“退出配置模式”命令(OUTSET)。如果之前的设置不影响一些关键参数,系统将直接进入工作模式,否则将自动复位DTU系统。4.3.5DTU的参数配置协议在DTU进入配置模式后,即可向DTU发送带有配置信息的命令帧,通过命令帧对DTU参数进行读写。命令帧全部使用ASCII字符,这方便用户在没有配置工具的情况下使用超级终端进行参数配置,同时也让用户在自己的设备上很容易编写DTU配置程序。命令帧结构如表4-1所示。命令分为两类,写命令与读命令,写命令用于配置DTU的参数,读命令用于查询DTU当前的配置。它们格式上的区别在于读命令不带有配置参数,并且命令代号后的字符不同,写命令为“=”,表示赋值。读命令为“?”,表示询问。表4-1配置命令帧格式命令帧类型格式写命令AT+命令代码=参数r 写应答正确OKr 命令错ERRCMDr 参数错ERRDATAr 读命令AT+命令代码?r 读应答命令代码=参数r 35 盐城工学院本科生毕业说明书(2011)命令代号因配置对象不同而各不相同,这些代号必须是符合规定的,如果使用其它的命令代号,DTU将返回“ERRCMD”。如果写命令中附带的配置参数不合法(比如波特率超出了允许范围),DTU将拒绝接受该参数,并返回“ERRDAT”。4.4GPRSDTU的工作过程GPRSDTU上电后,首先读出内部FLASH中保存的工作参数(包括GPRS拨号参数,串口波特率,数据中心IP地址等等,事先已经配置好)。GPRSDTU登陆GSM网络,然后进行GPRSPPP拨号。拨号成功后,GPRSDTU将获得一个由移动随机分配的内部IP地址(一般是10.X.X.X)。也就是说,GPRSDTU处于移动内网中,而且其内网IP地址通常是不固定的,随着每次拨号而变化。我们可以理解为GPRSDTU这时是一个移动内部局域网内的设备,通过移动网关来实现与外部Internet公网的通信。这与局域网内的电脑通过网关访问外部网络的方式相似。GPRSDTU主动发起与数据中心的通信连接,并保持通信连接一直存在。由于GPRSDTU处于移动内网,而且IP地址不固定。因此,只能由GPRSDTU主动连接数据中心,而不能由数据中心主动连接GPRSDTU。这就要求数据中心具备固定的公网IP地址或固定的域名。数据中心的公网IP地址或固定的域名作为参数存储在GPRSDTU内,以便GPRSDTU一旦上电拨号成功,就可以主动连接到数据中心。具体地讲,GPRSDTU通过数据中心的IP地址(如果是采用中心域名的话,先通过中心域名解析出中心IP地址)以及端口号等参数,向数据中心发起TCP或UDP通信请求。在得到中心的响应后,GPRSDTU即认为与中心握手成功,然后就保持这个通信连接一直存在,如果通信连接中断,GPRSDTU将立即重新与中心握手。由于TCP/UDP通信连接已经建立,就可以进行数据双向通信了。对于DTU来说,只要建立了与数据中心的双向通信,完成用户串口数据与GPRS网络数据包的转换就相对简单了。一旦接收到用户的串口数据,DTU就立即把串口数据封装在一个TCP/UDP包里,发送给数据中心。反之,当DTU收到数据中心发来的TCP/UDP包时,从中取出数据内容,立即通过串口发送给用户设备。5.系统集成与调试当系统的硬件和软件设计完成之后,需要对软、硬件分别进行调试,以验证系统各项功能是否实现,结果是否正常,精度能否达到要求。如果调试结果达不到要求就需要分析原因,找出问题所在。如果达到了预期的要求,就可以将软、硬件集成一个完整的功能系统进行调试,继而完成样机的研制。本系统的测试工作主要分为硬件测试和软件测试。对硬件测试的主要完成以下几项工作35 盐城工学院本科生毕业说明书(2011):检查硬件系统的短路、断路测试,电压、电流、接地是否正常,包括芯片输入、输出引脚电平测试。下位机硬件测试完成后可以确定硬件系统能正常工作,然后就可以对软件需要在计算机上以各种可能的数据和操作条件对软件进行测试。对软件调试的主要步骤:a)打开VisualC++软件b)在软件里进行仿真运行c)观察软件运行的输出结果d)把GPRSDTU通过串口和电脑连接e)给GPRSDTU装入SIM卡f)通过电脑向手机发送短信测试短信接收情况测试步骤如同5-1所示。图5-1系统测试流程图35 盐城工学院本科生毕业说明书(2011)6.结束语本文以智能家电控制系统为研究对象,应用PC+单片机方式,GPRS无线通信模块为基础,基于AT指令和数据采集器,构建一个远程的智能家电控制系统,对智能家电进行控制。实现了智能家电的实时控制,具有操作简单,控制安全可靠,易维护等特点。本文的主要工作主要包括以下几个方面:a.说明了智能家电的控制方法,选择了PC+单片机的控制方式。b.以GPRS无线通信模块为基础,对智能家电进行控制。c.运用了visualc++设计监控软件,实现了对智能家电的控制。由于条件有限和时间仓促本论文所建立的控制系统所实现的功能仍有需要进一步的完善,对于智能家电只进行了简单的开关控制,并没有对智能家电进行多方面(比如,参数调节、定时开关等)。希望在以后的设计中,以本论文为基础进行多方面控制的研究。35 盐城工学院本科生毕业说明书(2011)参考文献[1]张毅刚,彭喜元,董继承.单片机原理及应用[M].高等教育出版社,2009[2]王艺.基于GPRS的嵌入式智能家庭控制器设计[D].南京航空航天大学,2007[4]李志伟.基于AT指令的串行通信程序的设计[J].微计算机信息,2007.9[5]张立.C#程序设计编程经典[M].清华大学出版社,2008[6]宣彩平.利用GSM无线模块发送短消息[J].计算机应用,2004[8]朱洪波.VisualC++6.0完全自学宝典[M].清华大学出版社,2008[9]胡峪,刘静编.VC++高级编程技巧与示例[M].西安电子科技大学出版社,2001[10]陈忠平,曹巧媛等.单片机原理与接口[M],清华大学出版社,2007[11]宋珅,刘锐宁.VisualC++程序设计自学手册[M].人民邮电出版社,2008[12]黄志伟.单片无线收发集成电路原理与应用[M].人民邮电出版社,2006[13]张婷.利用Access开发中小型数据库管理系统[J],唐山师专学报,2000[14]成颖.C++程序设计语言[M].东南大学出版社,2008[15]孙鑫,余安萍.VC++深入讲解[M].电子工业出版社,2006[16]唐继贤,51单片机工程应用实例[M].北京航空航天大学出版社,2009[17]孙爱如,智能家电控制系统[J].科技信息,2010[18]陈铁军,基于RS485的总线集散式测控系统的研究[J].微计算机信息,2008[19]白建波,基于RS-485总线的高精度恒温恒湿空调测控系统[J].电气传动,2005[20]何小容,钱清泉,陈维荣.GPRS在工业控制中的应用[J].铁道工程学报,2004[21]高志强.基于GPRS的配电变压器远程监测系统设计[D].山东理工大学硕士学位论文,2007[22]周艳丽;魏宗寿,利用TC35i和PC机实现短消息的收发[J].现代电子技术,2007[23]李文军等,远传水表抄表系统设计与实现[J],自动化仪表,2004[24]胡峪,刘静编.VC++高级编程技巧与示例[M].西安电子科技大学出版社,200135 盐城工学院本科生毕业说明书(2011)致谢在论文即将完成之际,感激之情充溢我心,从初始进入课题到论文的顺利圆满完成,有多少可敬的师长、同学、朋友给了我的帮助,在这里请接受我诚挚的谢意!感谢我的导师冯俊青老师以及指导过我的所有老师,他们严谨细致、一丝不苟的作风一直是我工作、学习、生活中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。在此,我还要感谢在工控机实验室一起奋斗、探讨的陶亮、蔡伟等同学,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。感谢所有慷慨提供文献的编写者,你们前人栽树后人乘凉的无私精神,让我能在原本磕磕绊绊的研讨撰写道路上,找到通往终点的最快捷径。最后我还要感谢培养我长大含辛茹苦的父母。35 盐城工学院本科生毕业说明书(2011)附录附录1:程序清单//串口通信Dlg.cpp:implementationfile//#include"stdafx.h"#include"串口通信.h"#include"DataSendDlg.h"#include"DataReceiveDlg.h"#include"串口通信Dlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifintstep=0;floatdata[32];charCtemp[5];intkk;///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialog{public:CAboutDlg();//DialogData//{{AFX_DATA(CAboutDlg)enum{IDD=IDD_ABOUTBOX};//}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected:35 盐城工学院本科生毕业说明书(2011)//{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)//{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CMyDlgdialogCMyDlg::CMyDlg(CWnd*pParent/*=NULL*/):CDialog(CMyDlg::IDD,pParent){//{{AFX_DATA_INIT(CMyDlg)m_Receive=_T("");m_Send=_T("");//}}AFX_DATA_INIT//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);}voidCMyDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CMyDlg)DDX_Control(pDX,IDC_OPEN_RADIO,m_SetRadio);DDX_Control(pDX,IDC_MSCOMM,m_Comm);35 盐城工学院本科生毕业说明书(2011)DDX_Text(pDX,IDC_EDIT_RECEIVE,m_Receive);DDX_Text(pDX,IDC_EDIT_SEND,m_Send);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CMyDlg,CDialog)//{{AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_SEND,OnButtonSend)ON_BN_CLICKED(IDC_BUTTON_SAVE,OnButtonSave)ON_BN_CLICKED(IDC_BUTTON_ABOUT,OnButtonAbout)ON_BN_CLICKED(IDC_BUTTON_OPENS,OnButtonOpenS)ON_BN_CLICKED(IDC_BUTTON_OPENR,OnButtonOpenR)ON_BN_CLICKED(IDC_OPEN_RADIO,OnOpenRadio)ON_BN_CLICKED(IDC_CLOSE_RADIO,OnCloseRadio)ON_BN_CLICKED(IDC_TAB6,OnTab6)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CMyDlgmessagehandlersvoidCMyDlg::refresh(){if(step<=150){data[step/5]=data[31];}else{for(inti=0;i<30;i++){data[i]=data[i+1];}data[30]=data[31];35 盐城工学院本科生毕业说明书(2011)附录2:设计图纸附录2.1智能家电远程控制系统电路图35 盐城工学院本科生毕业说明书(2011)附录2.2智能家电远程控制系统PCB图35 盐城工学院本科生毕业说明书(2011)35 盐城工学院本科生毕业说明书(2011)附录3:元器件目录表名称型号数量GPRSDTUZWG-23A1个光电开关1个单片机STC89C511个固态继电器HK21F8个按钮1个三极管NPN-90142个PNP20个电源稳压器LM2941CS(5)1个232线驱动器MAX232APCE1个连体电阻7个八达林顿晶体管ULN2803A(18)3个电源插座1个RS232接口1个跳线帽3个双排针脚6个单排针脚30个稳压电路78051个发光二极管400715个晶振12MHz`1个极性电容器1.0uf2个10uf2个2200uf3个470uf2个电容(非极性)0.1uf2个5pf3个0.1uf2个100uf2个电阻10K25个2.2K2个100K2个100K2个470K2个6.8K2个3K2个35

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭