标签:无标签VB编写上位机实例用VB编写上位机实例16:14:22UTC+0800SunApr12007用VB6.0编写第一个串口通信上位机程序VisualBasic6.0是一个可视化窗口环境的编程软件,目前使用VisualBasic6.0可以快速简单编写单片机中的串口通信上位机程序。电子制作HPOO下面我们以一个完整的通信试验为例子完成如何用VisualBasic6.0编写单片机串口通信程序。打开安装好后的VisualBasic6.0主程序界面。选择“标准EXE”。如图1显示,建立VisualBasic的编程环境。图1在菜单的[工程]选项中选择[部件],如图2。把VisualBasic的串口通信控件MicrosoftCommcontrol6.0调入工作菜单。图2在打开[部件]对话框中,选择MicrosoftCommcontrol6.0的选项框,点击[确定]。图3图3可以在图示3中可以看通信控件MicrosoftCommcontrol6.0的文件是在C:\WINNT\system32\MSCOMM32.OCX文件。如果大家在首次调用通信控件MicrosoftCommcontrol6.0控件时无法在控件对话框中找到,请直接在系统目录中搜索名为MSCOMM32.OCX文件。然后通过浏览加入VB的工作界面中。添加完控件回到编程界面。如下图4。图4通过右边的菜单把一些必要的控件放在窗体中。然后点击窗体中的Timer控件按F4弹出属性窗口进行设置。其具体设置如下:Timer定时器控件设置属性,(通过按F4键可弹出此窗口)Mscomm通信控件参数属性设置(通过单击控件的右键属性可弹出此窗口)本文用到的其他控件:CommandButton控件和TextBox控件按默认属性设置不变。单片机编程器HPOO以上设置完成,回到编程窗体区中,任意双击。会显示VisualBasic的程序窗体的Load事件程序。在代码窗口中输入:单片机编程器HPOOPrivateSubForm_Load()MSComm1.PortOpen=True'窗体的加载时,就打开通信端口,通信端口的参数也可以在此指定Timer1.Enabled=Timer1.Enabled'窗体的加载时,同时定时器控件事件EndSub这样设置目的是当程序在打开是,首先打开通信控件MSComm,注意这里的串口通信参数中的波特率设置是默认参数的。即:波特率:9600bps;校验位:无;数据位:8位;停止位:1。电子元件邮购网双击定时器控件Timer1同样在定时器窗体的事件程序中,输入相关代码:PrivateSubTimer1_Timer()IfMSComm1.InBufferCount0Then'程序检查输入缓冲区中是否有数据,若有数据Text1.Text=Text1.Text+MSComm1.Input'则将此数据读取后,指定给文本框的Text属性EndIfEndSub'此事件会在每一个Interval属性值的循环计数间隔内被调用一次,这样就可以一直读取串口中有无数据发送。定时器一直按设置速度循环读取串口数据。直到串口的程序缓冲区中有数据就把他发给Text1文本框显示出来。杭州电子元件邮购网地址:控件,在弹出的程序窗口事件中输入如下代码:PrivateSubCommand1_Click()MSComm1.PortOpen=False'关闭通信端口End'结束系统EndSub在这个窗口中MSComm1.PortOpen=False是当程序停止或者关闭软件时都应该加上关闭串口。通过以上简单的代码就实现了VB串口接收程序。编辑完成后,我们通过VisualBasic菜单[文件]中的编译来生产可执行文件。如下图:这样就产生完成程序整个步骤工作。下面将介绍通过单片机编程实现串口发送数据到上位机程序的窗口中显示出来。同时通过PROTEUS仿真软件的示波器来查看串口数据发送情况。