原创 用VB编写上位机实例

2008-9-17 10:45 4002 6 7 分类: 软件与OS

用VB6.0编写第一个串口通信上位机程序


Visual Basic6.0是一个可视化窗口环境的编程软件,目前使用Visual Basic6.0可以快速简单编写单片机中的串口通信上位机程序。 电子制作 HPOO


下面我们以一个完整的通信试验为例子完成如何用Visual Basic6.0编写单片机串口通信程序。

单片机学习 HPOO


打开安装好后的Visual Basic6.0主程序界面。选择“标准EXE”。如图1显示,建立Visual Basic的编程环境。
 
点击看大图
图1
在菜单的[工程]选项中选择[部件],如图2。把Visual Basic的串口通信控件Microsoft Comm control 6.0调入工作菜单。
 
图2
在打开[部件]对话框中,选择Microsoft Comm control 6.0的选项框,点击[确定]。图3
点击看大图
图3
可以在图示3中可以看通信控件Microsoft Comm control 6.0的文件是在C:\WINNT\system32\MSCOMM32.OCX文件。
如果大家在首次调用通信控件Microsoft Comm control 6.0控件时无法在控件对话框中找到,请直接在系统目录中搜索名为MSCOMM32.OCX文件。然后通过浏览加入VB的工作界面中。添加完控件回到编程界面。如下图4。
点击看大图
图4
通过右边的菜单把一些必要的控件放在窗体中。然后点击窗体中的Timer控件按F4弹出属性窗口进行设置。其具体设置如下:

调频FM发射话筒制作套件



 Timer定时器控件设置属性,(通过按F4键可弹出此窗口) 

Mscomm通信控件参数属性设置(通过单击控件的右键属性可弹出此窗口)

单片机设计




本文用到的其他控件:CommandButton控件和TextBox控件按默认属性设置不变。 单片机编程器 HPOO


以上设置完成,回到编程窗体区中,任意双击。会显示Visual Basic的程序窗体的Load事件程序。在代码窗口中输入: 单片机编程器 HPOO


Private Sub Form_Load()
 MSComm1.PortOpen = True
 '窗体的加载时,就打开通信端口,通信端口的参数也可以在此指定
  Timer1.Enabled = Timer1.Enabled
 '窗体的加载时,同时定时器控件事件
End Sub 电子元件邮购网


这样设置目的是当程序在打开是,首先打开通信控件MSComm,注意这里的串口通信参数中的波特率设置是默认参数的。
即:波特率:9600bps;校验位:无;数据位:8位;停止位:1。 电子元件邮购网


双击定时器控件Timer1同样在定时器窗体的事件程序中,输入相关代码:

电子元件邮购



Private Sub Timer1_Timer()
 If MSComm1.InBufferCount > 0 Then
'程序检查输入缓冲区中是否有数据,若有数据
  Text1.Text = Text1.Text + MSComm1.Input
'则将此数据读取后,指定给文本框的Text属性
 End If
End Sub 单片机编程器 HPOO


'此事件会在每一个Interval属性值的循环计数间隔内被调用一次,这样就可以一直读取串口中有无数据发送。定时器一直按设置速度循环读取串口数据。直到串口的程序缓冲区中有数据就把他发给Text1文本框显示出来。 杭州电子元件邮购网地址:www.hpoo.net


最后双击CommandButton控件 ,在弹出的程序窗口事件中输入如下代码: 电子元件邮购


Private Sub Command1_Click()
 MSComm1.PortOpen = False
'关闭通信端口
 End
'结束系统
End Sub 单片机编程器 HPOO


在这个窗口中MSComm1.PortOpen = False是当程序停止或者关闭软件时都应该加上关闭串口。通过以上简单的代码就实现了VB串口接收程序。编辑完成后,我们通过Visual Basic菜单[文件]中的编译来生产可执行文件。如下图:
 

这样就产生完成程序整个步骤工作。下面将介绍通过单片机编程实现串口发送数据到上位机程序的窗口中显示出来。同时通过PROTEUS仿真软件的示波器来查看串口数据发送情况。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1435818 2011-1-28 14:38

黄字体太刺眼了!呵呵

用户17326 2006-9-18 19:02

问了一下,要先建立图片分类,才能添加图片。

用户17326 2006-9-18 18:57

处理一下,估计是个BUG,已经交给技术部咯
相关推荐阅读
huli184_389376486 2016-02-19 22:47
D类功率放大器的设计与实现
D类放大器(数字音频功率)是一种将输入模拟音频信号或PCM 数字信息变换成PWM(脉冲宽度调制)或PDM(脉冲密度调制)的脉冲信号,然后用PWM 的脉冲信号去控制大功率开关器件通/断音频功率放大器。D...
huli184_389376486 2016-02-19 22:46
技术宅们自制2016最浪漫礼物:DIY 机器人(附教程)
Facebook CEO 马克·扎克伯格(Mark Zuckerberg)周末在 Facebook 个人页面上撰文,公布了他 2016 年的一大目标:开发能控制家庭环境的人工智能技术。 以下是...
huli184_389376486 2013-01-20 23:11
评论:@sanmaoljh's Blog 博客中提到的“C语言指针(下篇)”
C语言指针(上...
huli184_389376486 2013-01-20 23:10
评论:@sanmaoljh's Blog 博客中提到的“C语言指针(上篇)”
最近总结再学习了下C语言和指针...
huli184_389376486 2013-01-17 11:15
评论:@艾米电子工作室 博客中提到的“QuartusII编译与仿真之warning大解析”
收下。...
huli184_389376486 2012-11-12 11:46
评论:@lihailin560's Blog 博客中提到的“编码器倍频、鉴相电路在FPGA中的实现”
FDKJDSHKJFDASJ...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条