广告

原创 VB编写上位机实例

2007-4-1 16:15 7301 0 7 分类: 工业电子
用VB编写上位机实例
16:14:22 UTC+0800Sun Apr 1 2007 




用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仿真软件的示波器来查看串口数据发送情况。

广告

文章评论 7条评论)

登录后参与讨论

billzhu_345737527 2012-2-2 16:12

为什么看不到图片?

zh_r_l_113176877 2009-8-7 17:51

写得很好!

weihegeng 2008-11-12 12:47

怎么没有下文啊??

huli184_389376486 2008-9-17 11:19

请问有没有单片机发送程序?上传共享一下呗!

huli184_389376486 2008-9-17 10:44

学习了,

pp 2007-9-25 10:34

很不错的例子

angel 2007-9-12 10:16

very good .perfect

 

相关推荐阅读
htcx8568_443560861 2012-04-07 11:44
MT8880与电话线相连
 MT8880是我们应用电话拨号应用中常用的一款芯片,它集发送、接收于一体。如果设计得法还是一款相当稳定 的IC,优点是:通过少量的几个元件就可以组成拨号及接收的电路。唯一的缺点:我认为还是其价格...
htcx8568_443560861 2008-07-01 22:59
无线龙
zigbee芯片厂家对比2007-07-04 09:24三主要ZigBee芯片供应商ZigBee方案竞争能力比较 目前市场上主要ZigBee芯片提供商(2.4GHZ),主要有:TI/CHIPCON、E...
htcx8568_443560861 2008-05-19 16:28
Visio画图几个技巧
Visio画图几个技巧  对于工科学生来说,很多时候都要用到Visio画图软件,你用的熟练么?是否也曾因为某个细节问题烦恼不已,比如:在Visio里明明画的是虚线,怎么粘贴到Word里就变成实线了?还...
htcx8568_443560861 2008-05-05 12:05
什么是IP Core?
IP核是指用于产品应用专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)的逻辑块或数据块。将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数...
htcx8568_443560861 2008-04-28 10:33
各种电感的计算公式
加载其电感量按下式计算:线圈公式 阻抗(ohm) = 2 * 3.14159 * F(工作频率) * 电感量(mH),设定需用 360ohm 阻抗,因此: 电感量(mH) = 阻抗 (ohm) ÷ (...
htcx8568_443560861 2008-04-25 21:35
ARM入门
ARM入门最好的文章      1.抓住51开发ARM            这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,...
我要评论
7
0
广告
关闭 热点推荐上一条 /2 下一条