【VB开源代码栏目提醒】:网学会员,鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“用VB编写上位机实例 - 电子电信”一文,供大家参考学习!
Visual Basic6.0 是一个可视化窗口环境的编程软件,目前使用 Visual Basic6.0 可以快速简单编写单片机中的串口通信上位机程序。
下面我们以一个完整的通信试验为例子完成如何用 Visual Basic6.0 编写单片机串口通信程序。
打开安装好后的 Visual Basic6.0 主程序界面。
选择 。
“标准 EXE” 如图 1 显示,建立 VisualBasic 的编程环境。
图1 如图 2。
Visual Basic 的串口通信控件 Microsoft Comm在菜单的工程选项中选择部件, 把control 6.0 调入工作菜单。
图2在打开部件对话框中,选择 Microsoft Comm control 6.0 的选项框,点击确定。
图 3 图3可以在图示 3 中可以看通信控件 Microsoft Comm control 6.0 的文件是在C:WINNTsystem32MSCOMM32.OCX 文件。
如果大家在首次调用通信控件 Microsoft Comm control 6.0 控件时无法在控件对话框中找到,请直接在系统目录中
搜索名为 MSCOMM32.OCX 文件。
然后通过浏览加入
VB 的
工作界面中。
添加完控件回到编程界面。
如下图 4。
图4通过右边的菜单把一些必要的控件放在窗体中。
然后点击窗体中的 Timer 控件按 F4 弹出属性窗口进行设置。
其具体设置如下: Mscomm
通信控件参数属性设置(通过单 Timer 定时器控件设置属性, 击控件的右键属性可弹出此窗口) (通过按 F4 键可弹出此窗 口)本文用到的其他控件:CommandButton 控件和 TextBox 控件按默认属性设置不变。
以上设置完成,回到编程窗体区中,任意双击。
会显示 Visual Basic 的程序窗体的 Load事件程序。
在
代码窗口中输入:Private Sub Form_LoadMSComm1.PortOpen True窗体的加载时,就打开通信端口,通信端口的参数也可以在此指定Timer1.Enabled Timer1.Enabled窗体的加载时,同时定时器控件事件End Sub这样设置目的是当程序在打开是,首先打开通信控件 MSComm,注意这里的串口通信参数中的波特率设置是默认参数的。
即:波特率:9600bps;校验位:无;数据位:8 位;停止位:1。
双击定时器控件 Timer1 同样在定时器窗体的事件程序中,输入相关
代码:Private Sub Timer1_TimerIf MSComm1.InBufferCount 0 Then
程序检查输入缓冲区中是否有数据,若有数据Text1.Text Text1.Text MSComm1.Input则将此数据读取后,指定给文本框的 Text 属性End IfEnd Sub此事件会在每一个 Interval 属性值的循环计数间隔内被调用一次,这样就可以一直读取串口中有无数据发送。
定时器一直按设置速度循环读取串口数据。
直到串口的程序缓冲区中有数据就把他发给 Text1 文本框显示出来。
最后双击 CommandButton 控件 ,在弹出的程序窗口事件中输入如下
代码:Private Sub Command1_ClickMSComm1.PortOpen False关闭通信端口End结束
系统End Sub在这个窗口中 MSComm1.PortOpen False 是当程序停止或者关闭
软件时都应该加上关闭串口。
通过以上简单的
代码就实现了
VB 串口接收程序。
编辑完成后,我们通过 Visual Basic菜单文件中的编译来生产可执行文件。
如下图:这样就产生完成程序整个步骤工作。
下面将介绍通过单片机编程实现串口发送数据到上位机程序的窗口中显示出来。
同时通过 PROTEUS 仿真软件的示波器来查看串口数据发送情况。