ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:277.39KB ,
资源ID:23571899      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23571899.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串口通信与控制系统毕业设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串口通信与控制系统毕业设计.docx

1、串口通信与控制系统毕业设计XXX大学本科毕业设计论文题目 串口通信与控制系统 院 系: 信息工程学院 专 业: 计算机科学与技术指导教师: 学生姓名: 班 级: 计科 2008年6月毕 业 设 计 任 务 书一 题目:串口通信与控制系统二 课题来源及依据:单台的由单片机控制的磨粉机已研制成功并投入小批量生产。本设计准备进一步完善系统,用VC+编写串口通信程序及上位机监控程序,可在上位机中监视下位机的工作状况并可以直接在上位机中修改工作参数,通过通信传送给下位机,实现远程的控制。 三 本设计应达到的要求:1 用VC+完成串口通信程序的编制。2 设计图形化的监控界面。3 完成数据库的设计。4 撰写

2、毕业设计说明书。5 英文文献的阅读和翻译。四 接受任务学生: 班级:计科 姓名: 五 开始及完成日期: 自2008 3月至2008 6 月六 设计(论文)指导: 指导老师: 摘要在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。本次设计的目标在于:在VC+6.0的环境下,编写使用C+语言,SQL数据库的串口通信程序,控制由单片微机控制的磨粉机,原要求能够通过串口扩展同时监控12台机器,由于目的在于进行串口通信设计的尝试,所以这里只是针对一台单片微机进行程序设计。首先,操作人员能够对串口参数进行配置。其次,当由单片微机控制的磨粉机的工作

3、数据由串口传到计算机时,操作人员能够实时监控其工作状态,工作数据,根据情况,并能更改其工作参数。这样,就要求设计适合本程序的串口通信协议。定时接受来自串口的数据帧,磨粉机的数据大致可以分为三类,此处在数据帧中使用AX,BX,CX来对数据分类。按照通信协议接受,发送数据,并有一定的数据帧查错能力。另外,在安全性方面,需要一定的保障。这里采用了简单保密功能,操作人员能够输入密码,更改原有的密码,这里的密码功能实现比较简单,有很大的改进空间,可以使用复杂的算法确保更高要求的保密性。本次毕业设计,就使用VC+对串口进行编程,自己设计串口通信协议,进行了一些尝试,虽然能够基本完成设计要求,但是还有很多地

4、方需要改进。 关键词:串行通信、VC+6.0、Win API、MFC32位程序AbstractIn laboratory with industry apply, common is widely used as the passage of correspondence between computer and equipment because serial communication is an easy way of usage. This project is aimed at designing a serial communication program under VC+6.0

5、 environment, using C+ language and SQL database, to control the flour mill under control of SCM. It is planned to concurrently monitor 12 machines via serial expansion, because the destination is only an attempt at serial communication programming, this program is aimed at solo SCM.First, operator

6、can configure serial parameters.Second, operator can monitor the status while the data is transferred from the flour mill to computer via serial port, and can rejigger the parameters.So that it is necessary to design a serial communication protocol suitable for this program. Receiving data frame sen

7、t from serial port occasionally, as data from SCM can be divided into 3 species, sorted by AX, BX, CX in data frame. ending and receiving data according to communication protocol, and has the checkout function as well.Furthermore, for security reasons, guarantee is needed. This program is entitled b

8、asic function for secrecy. Operators can enter the password and rejigger it. The function for secrecy is relatively simple, can be further improved, using more complex arithmetic to actualize more strict secrecy.In all,this graduate designs, I tried using VC+ to programme serial communication with c

9、orrespondence protocol of proceed designed by myself.Although my programme can basicly satisfy the request,but in fact,many places need to prove.KEY WORDS: SERIAL COMMUNICATION VISUAL C+Win APIWin32 Programme第一部分-5需求分析1.开发背景-52.功能要求-53功能实现概述-5第二部分-7开发工具概述1.Visual C+ 及MFC-72.SQL Server 2000简介-93.串口通信

10、协议(通信模式)-9第三部分-15主要程序代码及注释1BasicCom类-152MainFrame类-173CPassword类-184CChangePassword类-195.CComConfig类-206CBasicDialog类-217.CIosetting类-228CChangeSetting类-239CGroupSetting类-24第四部分-27英文文献的阅读和翻译英文-27中文-33第五部分-35 附录致谢信-35参考文献-35功能部分主要程序-36第一部分需求分析 1.开发背景计算机串口编程在通信软件中有着十分广泛的应用,如电话,传真,视频控制等。一般情况下,涉及到远程通信,自

11、动控制的行业,通常也会涉及到串口通信技术。工业控制领域(如DCS系统),经常涉及到串行通信问题。为了实现微机和单片机之间的数据交换,人们用各种不同方法实现串行通信,如DOS下采用汇编语言或C语言。但在Windows 环境下却存在一些困难和不足。在Windows操作系统已经占据统治地位的情况下(何况有些系统根本不支持DOS如Windows2000)开发Windows 环境下串行通信技术就显得日益重要。在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。实际工作中利用

12、串口完成通信任务的时候非常之多。本设计是在WINDOWS XP操作系统下,设计自己的通信协议,借助VC+6.0编程环境,使用C+,应用SQL数据库,实现串口通信,数据库调用。2.功能要求 设计适合的串口通信协议,使用SQL数据库存储数据,用VC编写程序,使得计算机能够定时从串口获得数据,按照自己的协议拆分数据,并按照信息发送到各个Dialog。再由程序将数据正确的分配给每一个控件。当操作人员看见异常的数据,或希望更改机械的工作参数时,可以通过程序把新的更改后的数据通过串口发送出去。 机械常用的整组数据存放入数据库中,操作人员可以更改数据表,并同时将新数据发送。 3功能实现概述首先,由功能需求表

13、分析出程序的总体设计方案。整个程序可以分为三块:(1)界面设计,程序整体框架组建的前台VC块。(2)串口通信协议设计,通信功能函数编制的底层通信块。(3)常用数据表更改,存储的后台SQL数据库块。关于VC块,程序使用了比较常用的SDI风格,由MainFrm实现数据的处理,分配,存储及发送。之所以由MainFrm掌握数据处理,发送,存储,计算等功能,是因为这样不但大大简化了程序代码的量,而且较纯OOP更能减少程序复杂度,降低程序错误发生的概率,修改代码的难度。关于通信块,是本程序的重点。首先,要设计适合本程序的通信协议,定时接受来自串口的数据帧,由于磨面单片机的功能大致可以分为三个方面,此处在数

14、据帧中使用AX,BX,CX来对接收,发送的数据进行分类。按照通信协议接受,发送数据,并有一定的数据帧查错能力。要有完整的通信协议框架。要设计适合本程序的帧,并有一定的安全校验功能。其次,就是以C+语言编写的底层通信类,此类通过WINDOWS与计算机硬件建立基本控制功能,然后在这基础上,编写自己的符合功能要求(比如数据帧的拆分,解释,组建等)的功能类。再次,就是数据发送,由于数据小,总量也不大,为了提高效率,这里的处理是先将数据存入每个表对应的txt文件,再一次性将组中的数据按照协议从操作人员选定的端口,采用指定的参数全发送到串口。 关于SQL数据库块,按照需求分析得结论,在SQL数据库中添加4

15、张工作组表,一张机械时间表,一张原料比例表。程序能够自由的调用存储在SQL中的表,并能够有添加,删除,更改数据的功能。 其次,由于现代软件强调数据保密,控制权限的有界性,所以初步尝试制作了密码的设定,更改功能。(这里是把用户的新密码保存在一个TXT文件中,可以加入算法进行改进)。 综上所述,经过考虑,决定本程序采用一个文档(Document)对应一个视图(View)的SDI界面,从左到右依次有输入密码(Password)以及更改密码(Change Password)的No.0菜单,串口参数设置(ComConfig)的No.1菜单,主要对话框的No.2菜单,更改参数组(Group1-4),时间组

16、(TimeTable)的No.3菜单,以及About对话框的No.4菜单。第二部分开发工具概述1.Visual C+ 及MFC MFC库和Visual C+提供了可以用于创建各种应用程序的环境。 Visual C+可以帮助您开发满足各种商业需求的应用程序。它提供了各种功能和工具。Visual C+特色包括: (1).本机COM支持 可视化的COM编辑,与位置和语言无关的COM浏览,MFC模板,以及编译器支持简化了基于组件的开发。 (2).Visual Schema Disigner 通过从桌面远程分析Microsoft SQL Server数据库的模式(Schema),提高了数据库应用程序开发

17、的效率。 (3).Microsoft Transaction Server Microsoft Transaction Server帮助您建立高性能的基于事务的应用程序。 (4).活动文档服务器支持 Visual C+提供了创建活动文档服务器的向导和可编程支持,这些活动文档服务器可以在任何活动文档服务器中调用,如在Microsoft Office97和Microsoft Internet Explorer 4.0中。 Visual C+的开发环境包括: (1).帮助管理您的工程的工程工作区。 (2).编译工程的工具。 (3).设计用户界面和创建资源的编译器。 (4).共享的开发组件,包括一个优

18、化的编译器,一个增量链接器和一个集成的调试器。Visual C+有三个版本: 标准版,除了代码优化,性能分析器(Profiler)和与MFC库的静态链接外,标准版包含了专业版的所有其它功能。 专业版,使您能够开发和发布商用等级的软件产品。其功能包括VFC,Active Template Library(ATL,活动模板库),COM和OLE DB。 企业版提供了建立和验证企业级COM应用程序的工具和组件。该版本中包含专业版中的所有功能,另外还包括Microsoft Transaction Server,SQL编辑器和调试器,Microsoft Visual SourceSafe,以及对Activ

19、eX对象(ADO)和远程数据对象(RDO)的支持。MFC库的功能:MFC库是基于C+类的一个集合和一个应用程序框架,主要用于创建Microsoft Windows应用程序。这个类的集合将C+语言扩展为包括创建基于Windows的应用程序所需要的大部分基本结构元素。应用程序框架则定义了应用程序的结构,并为应用程序处理许多常规任务。 MFC库是基于Win32应用程序编程接口(API)之上而建立的。该API是操作系统为应用程序提供的一系列函数。MFC展示了代表Windows操作系统的通用对象的基本类。 MFC并不封装或包括整个API.它只包括主要的结构组件和常用组件。由于MFC是用C+编写的,因此,

20、您可以很容易地使用Win32 API对操作系统进行本机调用。使用MFC的益处: MFC库使您能够利用专业的Windows开发人员的成果。MFC缩短了开发时间,使代码更简洁,在不降低编程自由度和灵活性的前提下提供支持,并提供了对难于编程的用户界面元素和技术(如ActiveX和Internet编程)的方便访问。MFC通过OLEDB模板和ADO简化数据库编程,并通过Windows Socket简化网络编程。MFC使对诸如属性表,打印预览和浮动工具栏等功能的编程变得十分简单。 在开发全功能的Windows应用程序,数据库应用程序,ActiveX控件和组件以及Internet应用程序时,MFC可提供许多

21、优点,例如: (1).提供一个应用程序框架,用户可在其上建立Windows应用程序。(2).兼容以前版本的可重用的C+类。 (3).行业中最大的可重用的C+源代码库。 (4).与Visual C+集成。文档/视图体系结构:MFC提供了多种类来满足范围广泛的编程需求。使用MFC编程的第一步是熟悉这些类,并学习它们在MFC层次结构中的相互关系。某些类可直接使用;其余的类可作为创建其它类的基类。学习MFC类时,将它们按类别组织是很有帮助的。一些重要的MFC类的类别包括:(1).应用程序体系结构类。(2).用户界面类。(3).数据库类。(4).Internet类。MFC编程依赖消息的传递推动整个程序的

22、运行。2. SQL Server 2000 简介SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以

23、后简称为SQL Server或MS SQL Server SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。3.串口通信协议(通信模式)在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不

24、同的条件实现对串口的灵活编程控制是我们所需要的。基本原理: 串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。 在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。 串口通信程序的流程如下图: 二串口信号线的接法 一个完整的RS-232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。25芯和9芯的主要

25、信号线相同。以下的介绍是以25芯的RS-232C为例。 主要信号线定义: 2脚:发送数据TXD; 3脚:接收数据RXD; 4脚:请求发送RTS; 5脚:清除发送CTS;6脚:数据设备就绪DSR;20脚:数据终端就绪DTR; 8脚:数据载波检测DCD; 1脚:保护地;7脚:信号地。 电气特性: 数据传输速率最大可到20K bps,最大距离仅15m. 注:看了微软的MSDN 6.0,其Windows API中关于串行通讯设备(不一定都是串口RS-232C或RS-422或RS-449)速率的设置,最大可支持到RS_256000,即256K bps! 也不知道到底是什么串行通讯设备?但不管怎样,一般主

26、机和单片机的串口通讯大多都在9600 bps,可以满足通讯需求。 接口的典型应用: 大多数计算机应用系统与智能单元之间只需使用3到5根信号线即可工作。这时,除了TXD、RXD以外,还需使用RTS、CTS、DCD、DTR、DSR等信号线。(当然,在程序中也需要对相应的信号线进行设置。) 图 最简单的RS232-C信号线接法 以上接法,在设计程序时,直接进行数据的接收和发送就可以了,不需要 对信号线的状态进行判断或设置。(如果应用的场合需要使用握手信号等,需要对相应的信号线的状态进行监测或设置。)Windows下串行通信与以往DOS下串行通信程序不同的是,Windows不提倡应用程序直接控制硬件,而是通过Windows操作系统提供的设备驱动程序来进行数据传递。串行口在Win 32中是作为文件来进行处理的,而不是直接对端口进行操作,对于串行通信,Win 32 提供了相应的文件I/O函数与通信函数,通过了解这些函数的使用,可以编制出符合不同需要的通信程序。与通信设备相关的结构有COMMCONFIG ,COMMPROP,COMMTIMEOUTS,COMSTAT,DCB,MODEMDEVCAPS,MODEMSETTINGS共7个,与通信有关的Windows API函数共有26个,详细说明可参考MSDN帮助文件。以下将给出实现串行通信的三种方法: 方法一:使用VC+提

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1