用vb控制电脑串口(正确版)

用vb控制电脑串口(正确版)

ID:16534430

大小:149.50 KB

页数:5页

时间:2018-08-22

用vb控制电脑串口(正确版)_第1页
用vb控制电脑串口(正确版)_第2页
用vb控制电脑串口(正确版)_第3页
用vb控制电脑串口(正确版)_第4页
用vb控制电脑串口(正确版)_第5页
资源描述:

《用vb控制电脑串口(正确版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何用VB实现电脑串口通信无协技术顾问:陈文斯什么是串口,为何要学习串口串口是计算机上一种非常通用设备通信的协议。大多数台式计算机包含两个基于RS232的串口(一般用9针公头接出其中一个接口,如图1所示)。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。鉴于串口应用如此广泛,大多数单片机也内置了串口。通过串口,单片机可以很轻松地与其它设备交换信息。图1用VB编写串口通信的好处Windows操作系统由于其友好的用户界面赢得了很多用户的青睐。VisualBasic即是微软公司基于Windows操作系统的可视化编程平台。有些同学会疑问:我又不是

2、计算机专业的,学习VB是不是十分痛苦。我告诉你们,非也!要是你对它感兴趣,很快,你会爱上它的。VB十分容易入门。设计用户界面就像我们平时制作PPT的界面一样。只需把你需要的控件拖到界面上并调整即可。VB的代码也很通俗易懂。其实基本上都是调用系统函数的。为抛砖引玉,现举个例子,简要介绍一下VB编写。(以下的所有例程都是基于VB6.0的,对于较高.net版本,可能有所不同)图2任务1:软件界面上有一个文本框和按钮,当点击按钮时,文本框上显示“爱电子,爱生活。华南理工大学电子爱好者协会”1、运行VB,在新建程序的界面上画出一个文本框(textbox)和按钮(commandbott

3、on)。如图2所示;2、双击按钮,出现代码编辑窗口。并在其中输入代码,如图3所示;3、运行程序,点击按钮,即可看到如图4所示的效果:是不是很简单呢?!图3图4个人建议大一大二的师弟师妹应该学习如何用VB操作串口,特别是学会如何实现电脑跟单片机的通信。这样子,我们日后设计的电子作品必定增色不少。现在详细讲解一下如何用VB操作串口。(读者可去图书馆借阅相关图书,掌握串口跟VB的基础知识)要用VB操作串口,需要用到Mscomm控件。VB的工具箱默认是没有该控件的。可通过“工程—>“部件”—>“MicrosoftCommControl6.0”,添加该控件。在开始使用MSComm控件

4、之前,需要先了解其主要的属性和事件属性描述CommPort设置或返回通信端口号Settings以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位PortOpen设置或返回通信端口的状态。也可以打开和关闭端口Input返回和删除接收缓冲区中的字符Output将字符串写入发送缓冲区通信事件包含了下面的设置:常量值描述ComEvSend1发送缓冲区中的字符数比Sthreshold值低ComEvReceive2接收到了Rthreshold个字符。持续产生该事件,直到使用了Input属性删除了接收缓冲区中的数据ComEvCTS3CTS(ClearToSend)线改变ComEvD

5、SR4DSR(DataSetReady)线改变。当DSR从1到0改变时,该事件发生ComEvCD5CD(CarrierDetect)线改变ComEvRing6检测到响铃信号ComEvEOF7收到了EOF字符(ASCII字符26)以上的事件中,我们一般只用到ComEvSend和ComEvReceive事件。学习过单片机串口通讯的同学都知道,读写串口数据有两种方法:事件驱动(中断)和查询方式。VB方面也是如此。另外,Mscomm控件还有一个重要的属性,那就是InputMode。当其值为0时,为文本模式;为1时,为二进制模式。这两种模式,区别很大。下面我用几个简单实例工程来详解这

6、两种模式的要点和注意事项。任务2:电脑显示单片机发送过来的文本数据单片机端:使用51系列单片机AT89S52。如果单片机与电脑端的RS-232串口通信,需要在其间连接电平转换芯片(如MAX232)。当然,也可以使用USB转串口芯片完成单片机跟电脑的硬件连接。注意,单片机使用11.0592M晶振。有些同学可能纳闷为什么会有这么一个精确到小数点后四位的晶振。我猜想那是为单片机和电脑通信而设计的。电脑的串口波特率不像单片机那样,可以随意设置。电脑端的合法波特率有“110,300,600,1200,2400,4800,9600,14400,19200,38400,56000,576

7、00,115200,128000,256000”,默认为9600。那我们看看如何编写单片机和电脑的代码来完成这个任务。单片机端源代码:#include//单片机的寄存器说明的头文件#include//printf函数的头文件voidmain(){SCON=0X40;//串口:方式1TMOD=0X20;//定时器1:模式2,8位自动重装模式,用于产生波特率TH1=0XFD;//初值设定波特率为9600,晶振:11.0592MTL1=TH1;EA=1;//开启总允许开关TR1=1;/

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

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

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