新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用VB6.0数字示波单片机实时监测数据的一种方法

用VB6.0数字示波单片机实时监测数据的一种方法

作者: 时间:2012-03-29 来源:网络 收藏

三.软件设计思想(一个具体的例)

要求:每1秒串行发送给PC一帧十位波形动态显示

设计:通过窗体Load事件程序完成如图3所示界面设计,使得程序一运行即出现该界面,单击接收按钮,通过MsComm控件接收串行通信数据并波形动态显示。显示时一屏12个数据,每次接收了新数据后,数组中的数据依次后移,既a(0)(假设为数组a(11))放最新接收的数据,原a(11)中的数据被移出而移入原a(10)中的数。每次有新数据移入并且有原数据移出时,先清屏再复原背景显示数据,造成数据平移视觉效果。

设计时波形一定要从界面最左端入,从最右端出,这样动态平移视觉效果才好。窗体的AutoRedraw属性要设为True.

32.jpg

四.软件设计源程序(波形参见图4、图5)
'定义所用变量
Dim a(11) As Single
Dim d As Integer
Dim n As Integer
Dim m As Integer
Dim Buffer As Variant
Private Sub Form_Load()
'一屏显示的12个数赋初值0
For i = 0 To 11
a(i) = 0
Next i
'定义坐标原点
Form1.Scale (-10, 250)-(220, -15)
'画X、Y轴
Line (0, 0)-(220, 0)
Line (0, 0)-(0, 250)
'加坐标刻度和数值
CurrentX = 200: CurrentY = 13: Print X(s)
CurrentX = 5: CurrentY = 245: Print Y(V)
For i = 0 To 220 Step 20
CurrentX = i: CurrentY = 3: Line -(i, 0)
If i = 200 Then CurrentX = i - 7 Else CurrentX = i - 12
CurrentY = 0: Print i Mod 19
Next i
For i = 0 To 210 Step 20
If i > 0 Then
CurrentX = -14: CurrentY = i: Print i / 10
CurrentX = 230: CurrentY = i: Line -(0, i)
End If
Next i
'mscomm控件初始化
MSComm1.CommPort = 1
MSComm1.Settings = 9600,n,8,1
MSComm1.InputMode = comInputModeBinary
MSComm1.InputLen = 0
MSComm1.RThreshold = 0
End Sub
'接收并显示数据
Private Sub Command1_Click()
'无条件循环接收数据
Do

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理




评论


相关推荐

技术专区

关闭