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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于RS232串口通信设计含源文件.docx

1、基于RS232串口通信设计含源文件目 录 1引言 11.1问题的提出 11.2国内外研究的现状 11.5任务与分析 21.5.1主要任务 21.5.2分析 22程序的主要功能 22.1参数设置功能 22.2参数显示功能 22.3打开串口功能 22.4关闭串口功能 22.5接收数据功能 32.6发送数据功能 32.7清空数据接收区和数据发送区功能 32.8数据、汉字或字符等显示功能 33程序运行平台 34总体设计 45程序类的说明 46模块分析 66.1系统初始化模块 26.2参数设置和显示模块 66.3发送数据模块 96.4清空数据接收区和数据发送区模块 106.5关闭主窗口模块 117系统测

2、试 137.1测试 137.2总结 188结论 18参考文献 19摘 要 随着计算机的普及,计算机网络和多微机系统的广泛应用,尽管当今USB通信技术和以太网技术快速发展,然而串口通信技术始终以其连接简便,价格低廉,稳定可靠等优点,在计算机通信领域占有一席之地。MSCOmm控件是微软公司为了用户使用方便而提供的一种便捷的控制串口编程的解决方案,本文主要介绍了如何利用Microsoft Visual C+ 6.0 MSComm 控件的串口通信方法,对程序的类进行了说明,分析了本程序各个模块怎样实现起作用。此次设计以MFC 来设计界面编制程序,同时利用MSComm 控件通过串口发送和接收数据,实现了

3、串口通信。该串口通信控制程序具有通信参数设置、通信参数显示、打开和关闭串口、接收数据、发送数据、清空发送区和接收区数据的功能。关键词:串口通信 Microsoft Visual C+ 6.0 MFC MSComm控件 1引言1.1问题的提出串行通信(Serial Communication )在现代工业控制系统中一直有着及其重要的地位,作为一种基本而又灵活方便的通信方式,它被广泛应用于PC与PC或者PC与PLC之间的数据交换以及其他工业控制与自动控制中,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。VC+是新一代面向对象的可视化开发工具,提供了良好的界面设计能力,

4、在PC机的串口通信方面有很强的功能。对于从事机械行业的人来说,熟悉基于RS232串口通信的高级语言编程方法显得十分重要。1.2国内外研究的现状目前,计算机的串行通信应用十分广泛,串行接口已成为计算机的必需部件和接口之一。由于其具有连接简单、使用灵活方便、数据传递可靠等优点,在工业监控、数据采集和实时控制系统中得到了广泛应用。当今,实现串口通信的方法以及第三方控件有很多,例如PComm控件,Windows API函数等等。但是这几种方法都过于复杂,对程序员要求较高,而且可靠性并不是很好。利用Microsoft推出的MSComm控件,使得串口通信的实现更为简单、可靠。随着当今信息技术的快速发展,通

5、信已成为信息技术中的关键问题。尤其在控制领域,以何种方式实现计算机与外围设备间既简单又可靠的通信,就显得特别重要。由于串行通信具有实现简单、使用灵活方便、数据传输可靠等优点,因而广泛应用于工业控制系统中,是计算机与外部设备进行数据通信时经常使用的方式之一。VC+是新一代面向对象的可视化开发工具,提供了良好的界面设计能力,在PC机的串口通信方面有很强的功能。它具有功能强大、简便易用和代码执行速度快等特点,在通信软件的开发中成为越来越多开发人员的首选工具。无论在工业控制中PC机和单片机之间的通信,还是在2台Pc机之间的串口通信,都具有相同的原理。只要掌握其中的通信本质,就能灵活地实现串口通信,串口

6、控制。1.5任务与分析1.5.1主要任务制定串口通信控制程序的总体构架;熟悉VC平台下的高级语言编程方法;熟悉基于RS232串口通信的高级语言编程方法;在同一台PC机上调试通过所编写的程序;编写设计说明书1份。1.5.2分析目前Win32 中基于VC + + 6. 0 的常用串口通信程序一般可以用两种方法实现: 利用MSComm ActiveX 串行通信控件; 使用Win2dows API 通信函数。虽然在Windows下Win32API提供了使用文件操作方式的函数进行串口操作的方法,但是在编程实现上还是比较复杂。Windows平台先进的ActiveX技术使得对串口编程不再需要处理烦琐的细节。

7、利用已有的AxtiveX控件,只需要编写少量的代码,就可以轻松高效地完成任务。因此程序员不需要花时间去了解复杂的API函数,只需要利用MSComm控件就可实现串口编程。2程序的主要功能2.1参数设置功能设置和修改串口通信参数,包括端口,时间,波特率,奇偶校验位,数据位,停止位。2.2参数显示功能 显示当前串口通信参数,包括端口号,波特率,时间,奇偶校验位,数据位,停止位,点击参数设置按钮,弹出参数设置窗口,当完成设置后点击确定,子窗口隐藏,显示界面是数据发送和接收界面。2.3打开串口功能参数设置后,打开串口,在程序中设置了一个默认的COM4但是在参数设置窗口可以设置串口,实现通信。2.4关闭串

8、口功能关闭串口,停止通信。2.5接收数据功能能够进行单个或多个数据的接收和显示。2.6发送数据功能能够进行单个或多个数据的发送。2.7清空数据接收区和数据发送区功能清空发送区内所有数据。清空接收区内所有数据。2.8任何数据、汉字或字符等显示功能在接收区可显示任何数据、汉字或字符等。3程序运行平台Microsoft Visual C+ 6.0具体操作如下:(1) 打开VC+6.0建立基于对话框的MFC应用程序class1,如图3.1.1-图3.1.4, 新建MSComm项目,选择MFC应用程序,应用程序类型选择“基于对话框”,生成的类中选择“CMSCommDlg”; 图3.1.1 图3.1.2图

9、3.1.3 图3.1.4(2)在项目中插入MSComm控件; 图3.2 (3)加载MSComm控件,添加相应的源程序,加载必要的控件; 图3.3.1 图3.3.2 (4)编写程序代码,再编译,链接,调试,执行等,生成应用程序。4总体设计图4.1系统总体框架图5程序类的说明class CClass1Dlg : public CDialog/ Constructionpublic: CClass1Dlg(CWnd* pParent = NULL); / standard constructor void OpenPort(); / Dialog Data /AFX_DATA(CClass1Dlg)

10、 enum IDD = IDD_CLASS1_DIALOG ; CMSComm m_ctrlComm; CString m_strEditRXData; CString m_strEditTXData; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CClass1Dlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotec

11、ted: HICON m_hIcon; / Generated message map functions /AFX_MSG(CClass1Dlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnComm(); afx_msg void OnButtonManualsend(); afx_msg void OnSetting(); a

12、fx_msg void Oncls(); afx_msg void OnEnd(); DECLARE_EVENTSINK_MAP() /AFX_MSG DECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_CLASS1DLG_H_B8BA98C1_5D58_47BE_B664_E97E77EC5076_INCLUDED_)6模块分析6

13、.1系统初始化模块系统的初始化模块命令代码如下:BOOL CClass1Dlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING, IDM_AB

14、OUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra initialization here m_ctrlComm.SetCommPort(4); /选择COM4 m_ctrlComm.SetInputMode(1); /输入方式为二进制方式 m_ctrlComm.SetInBufferSize(1024); /设置输入缓冲区大小 m_ctrlComm.SetOutBufferSize(512); /设置输出缓冲区大小 /波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetSettings(9600,n,

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

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