酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

基于Visual C++的串行通信编程与实现

作者:邹慧群
来源:酷文网
点击:
载入中...
加入时间:2008-07-21
字体大小:[  ]
如需该毕业设计完整论文+源码+可执行文件全套请联系QQ:287009467

摘  要:串行通信因其成本低、可靠性高而被广泛运用。本文首先介绍了串行通信和基于Visual C++中的串口通信控件MSComm,然后基于Visual C++的MSComm控件进行编程,最后对串行通信程序进行了调试,设计结果表明程序能成功收发数据。
关键词: 串行通信;MSComm控件;Visual C++


Abstract: Serial communication is used extensively because of low costs and high dependability. Firstly, serial communication and MSComm control of serial communication in Visual C ++ are introduced. And then, a serial communication program based on the MSComm of Visual C ++ is maked. Finally, the serial communication program is debugged. The experiment result proves that the program can transfer and receive data successfully.
Key words: Serial communication;MSComm control;Visual C++
1 前言
1.1 串行通信技术发展趋势与展望
   串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、连接简单、使用方便、成本低、数据传递可靠容易实现等优点,在数据通信方式上仍占有重要地位。特别在现代的实时监控系统和工业自动化领域中得到了广泛应用,串行通信技术成为一种重要的数据传输手段。根据Windows的设备无关性,设备驱动程序将Windows应用程序和不同的设备相隔离,使得Windows程序员不用对硬件直接进行操作。同样,Windows的通信机制也进行了封装。因此编程者可以不知道串口的IRQ(中断请求)号、调制解调器型号以及各内部寄存器的含义等,只要知道需要打开的串口的名称(如:COM1、COM2 等)就可以了,Windows能自动对串口进行检测,并将待接收或发送的字符排队并等待处理。串行通信技术的发展主要体现在接口技术标准的改善。
目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi等等许多高级语言编写。Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这也给编程人员带来许多不便,而除VC++外其他高级语言中,本人没有接触过。故本人采用基于VC++语言开发环境。
在工业控制领域,我们经常需要进行计算机与其他设备之间的通信,在开发串行通信程序的过程中,利用微软的MSComm通信控件则相对较简单,该控件具有丰富的与串行通信密切相关的属性及事件,提供了对串口的各种操作。MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在VC中容易使用。
基于WindowsXP平台上,利用Microsoft Communications Control控件[6]编写串行通信程序的方法 ,用的是基于Visual C++语言中的ActiveX技术的串行通信编程的一般步骤。由于该方法简单、封装性好、可靠 ,从而大大缩短设计时间 ,很大程度减少了工作量,能比较轻松地写出串行通信程序。
1.2 设计目的与意义
本设计的目的是以单片机模块采集外界数据(如温度)通过串口在PC机上进行接收显示的系统原型,为设计实用的较复查的串口通信系统提供了基础。
本系统的实现目标:
1) 实时性强
    本系统能够根据外界温度、湿度、电压的变化实时地显示各数据变化情况。


2) 实现功能方法简单
MSComm控件是微软公司开发的专门用于串行通信的控件。它是高级语言编写的串行通信程序和PC串口的桥梁。通过该桥梁,使得开发串口通信程序的工作变得更容易。整个设计过程就是设置MSComm控件的几个属性,然后添加控件的事件响应代码,就可以使串口按照要求进行工作。
1.3 本文的内容与组织结构
本文主要从整体构思到软硬件设计进行详细的解说。讲述了系统设计背景和发展前景;详细介绍了串口通信的基本原理,简单介绍了系统设计整体构思,并详写了系统软件的设计与开发。本文的组织如下:
第2章主要讲述了串口通信方面的知识;
第3章主要详述了MSComm控件通信特点与常用属性;
第4章主要讲述了系统硬件电路设计与软件设计;
第5章主要讲述了系统功能调试及性能分析 ;
第6章主要对整个系统的开发进行了总结。

2 串口通信概述与MSComm控件 
2.1 串口通信
串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。
    串口通信的概念非常简单,即只需一对传输线,数据的各位按照时间顺序依次传送,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。
2.1.1 串口通信的主要参数
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验[10]。对于两个进行通行的端口,这些参数必须匹配:
    1) 波特率:这是一个衡量通信速度的参数。所谓波特率,即每秒钟传送的二进制位数,其单位为bps。它是衡量串行数据速度快慢的重要指标。有时也用“位周期”来表示传输速率,位周期是波特率的倒数。大多数串行接口电路的接收波特率和发送波特率可以分别设置,但接收方的接收波特率必须与发送方的发送波特率相同。通信线上所传输的字符数据(代码)是逐位传送的,1个字符由若干位组成,因此每秒钟所传输的字符数(字符速率)和波特率是两种概念。在串行通信中,所说的传输速率是指波特率,而不是指字符速率。


    2) 数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取。
3) 停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 转贴于 酷文网-论文下载中心 http://www.coolwen.net


共9页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] [9] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号