XXX大学本科毕业设计论文题目串口通信与控制系统院系:信息工程学院专业:计算机科学与技术指导教师:学生姓名:班级:计科2008年6月毕业论文串口通信与控制系统2毕业设计任务书一.题目:串口通信与控制系统二.课题来源及依据:单台的由单片机控制的磨粉机已研制成功并投入小批量生产。本设计准备进一步完善系统,用VC++编写串口通信程序及上位机监控程序,可在上位机中监视下位机的工作状况并可以直接在上位机中修改工作参数,通过通信传送给下位机,实现远程的控制。三.本设计应达到的要求:1.用VC++完成串口通信程序的编制。2.设计图形化的监控界面。3.完成数据库的设计。4.撰写毕业设计说明书。5.英文文献的阅读和翻译。四.接受任务学生:班级:计科姓名:五.开始及完成日期:自20083月至20086月六.设计(论文)指导:指导老师:毕业论文串口通信与控制系统3摘要在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。本次设计的目标在于:在VC++6.0的环境下,编写使用C++语言,SQL数据库的串口通信程序,控制由单片微机控制的磨粉机,原要求能够通过串口扩展同时监控12台机器,由于目的在于进行串口通信设计的尝试,所以这里只是针对一台单片微机进行程序设计。首先,操作人员能够对串口参数进行配置。其次,当由单片微机控制的磨粉机的工作数据由串口传到计算机时,操作人员能够实时监控其工作状态,工作数据,根据情况,并能更改其工作参数。这样,就要求设计适合本程序的串口通信协议。定时接受来自串口的数据帧,磨粉机的数据大致可以分为三类,此处在数据帧中使用AX,BX,CX来对数据分类。按照通信协议接受,发送数据,并有一定的数据帧查错能力。另外,在安全性方面,需要一定的保障。这里采用了简单保密功能,操作人员能够输入密码,更改原有的密码,这里的密码功能实现比较简单,有很大的改进空间,可以使用复杂的算法确保更高要求的保密性。本次毕业设计,就使用VC++对串口进行编程,自己设计串口通信协议,进行了一些尝试,虽然能够基本完成设计要求,但是还有很多地方需要改进。关键词:串行通信、VC++6.0、WinAPI、MFC32位程序毕业论文串口通信与控制系统4AbstractInlaboratorywithindustryapply,commoniswidelyusedasthepassageofcorrespondencebetweencomputerandequipmentbecauseserialcommunicationisaneasywayofusage.ThisprojectisaimedatdesigningaserialcommunicationprogramunderVC++6.0environment,usingC++languageandSQLdatabase,tocontroltheflourmillundercontrolofSCM.Itisplannedtoconcurrentlymonitor12machinesviaserialexpansion,becausethedestinationisonlyanattemptatserialcommunicationprogramming,thisprogramisaimedatsoloSCM.First,operatorcanconfigureserialparameters.Second,operatorcanmonitorthestatuswhilethedataistransferredfromtheflourmilltocomputerviaserialport,andcanrejiggertheparameters.Sothatitisnecessarytodesignaserialcommunicationprotocolsuitableforthisprogram.Receivingdataframesentfromserialportoccasionally,asdatafromSCMcanbedividedinto3species,sortedbyAX,BX,CXindataframe.endingandreceivingdataaccordingtocommunicationprotocol,andhasthecheckoutfunctionaswell.Furthermore,forsecurityreasons,guaranteeisneeded.Thisprogramisentitledbasicfunctionforsecrecy.Operatorscanenterthepasswordandrejiggerit.Thefunctionforsecrecyisrelativelysimple,canbefurtherimproved,usingmorecomplexarithmetictoactualizemorestrictsecrecy.Inall,thisgraduatedesigns,ItriedusingVC++toprogrammeserialcommunicationwithcorrespondenceprotocolofproceeddesignedbymyself.Althoughmyprogrammecanbasiclysatisfytherequest,butinfact,manyplacesneedtoprove.KEYWORDS:SERIALCOMMUNICATIONVISUALC++WinAPIWin32Programme毕业论文串口通信与控制系统5目录第一部分---------------------------------------------------5需求分析1.开发背景----------------------------------------------------------------52.功能要求----------------------------------------------------------------53.功能实现概述-----------------------------------------------------------5第二部分---------------------------------------------------7开发工具概述1.VisualC++及MFC--------------------------------------------------------72.SQLServer2000简介-----------------------------------------------------93.串口通信协议(通信模式)--------------------------------------------------9第三部分--------------------------------------------------15主要程序代码及注释1.BasicCom类------------------------------------------------------------152.MainFrame类-----------------------------------------------------------173.CPassword类-----------------------------------------------------------184.CChangePassword类-----------------------------------------------------195.CComConfig类-----------------------------------------------------------206.CBasicDialog类---------------------------------------------------------217.CIosetting类-----------------------------------------------------------228.CChangeSetting类------------------------------------------------------239.CGroupSetting类-------------------------------------------------------24第四部分---------------------------------------------------------------27英文文献的阅读和翻译英文---------------------------------------------------------------------27中文---------------------------------------------------------------------33第五部分---------------------------------------------------------------35附录致谢信-------------------------------------------------------------------35参考文献-----------------------------------------------------------------35功能部分主要程序---------------------------------------------------------36毕业论文串口通信与控制系统6第一部分需求分析1.开发背景计算机串口编程在通信软件中有着十分广泛的应用,如电话,传真,视频控制等。一般情况下,涉及到远程通信,自动控制的行业,通常也会涉及到串口通信技术。工业控制领域(如DCS系统),经常涉及到串行通信问题。为了实现微机和单片机之间的数据交换,人们用各种不同方法实现串行通信,如DOS下采用汇编语言或C语言。但在Windows环境下却存在一些困难和不足。在Windows操作系统已经占据统治地位的情况下(何况有些系统根本不支持DOS如Windows2000)开发Windows环境下串行通信技术就显得日益重要。在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。实际工作中利用串口完成通信任务的时候非常之多。本设计是在WINDOWSXP操作系统下,设计自己的通信协议,借助VC++6.0编程环境,使用C++,应用SQL数据库,实现串口通信,数据库调用。2.功能要求设计适合的串口通信协议,使用SQL数据库存储数据,用VC编写程序,使得计算机能够定时从串口获得数据,按照自己的协议拆分数据,并按照信息发送到各个Dialog。再由程序将数据正确的分配给每一个控件。当操作人员看见异常的数据,或希望更改机械的工作参数时,可以通过程序把新的更改后的数据通过串口发送出去。机械常用的整组数据存放入数据库中,操作人员可以更改数据表,并同时将新数据发送。3.功能实现概述首先,由功能需求表分析出程序的总体设计方案。整个程序可以分为三块:(1)界面设计,程序整体框架组建的前台VC块。(2)串口通信协议设计,通信功能函数编制的底层通信块。(3)常用数据表更改,存储的后台SQL数据库块。关于VC块,程序使用了比较常用的SDI风格,由MainFrm实现数据的处理,分配,存储及发送。之所以由MainFrm掌握数据处理,发送,存储