📄 mainform.frm
字号:
order = 0
End Sub
Private Sub Command3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 3
GetsSetPara
Text1.Text = "(Date & Time )" & Text1.Text & Chr(13) & Chr(10) & "Go left! " _
& Chr(13) & Chr(10) & "******************************" & Chr(13) & Chr(10)
Open "c:\note.txt" For Append As #1
Write #1, Text1
Close #1
pictureini
End Sub
Private Sub Command3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 0
End Sub
Private Sub Command4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 4
GetsSetPara
Text1.Text = "(Date & Time )" & Text1.Text & Chr(13) & Chr(10) & "Go left! " _
& Chr(13) & Chr(10) & "******************************" & Chr(13) & Chr(10)
Open "c:\note.txt" For Append As #1
Write #1, Text1
Close #1
pictureini
End Sub
Private Sub Command4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 0
End Sub
Private Sub Command5_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 5
GetsSetPara
Text1.Text = "(Date & Time )" & Text1.Text & Chr(13) & Chr(10) & "Go left! " _
& Chr(13) & Chr(10) & "******************************" & Chr(13) & Chr(10)
Open "c:\note.txt" For Append As #1
Write #1, Text1
Close #1
pictureini
End Sub
Private Sub Command5_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
order = 0
End Sub
Private Sub Form_Load()
a = 0
mCmdNum = 0
For i = 1 To 50
Combo1.AddItem (i)
Next i
For j = 1 To 255
Combo2.AddItem (j)
Next j
For s = 0 To 255
Combo4.AddItem (s)
Next s
Combo5.AddItem ("正脉冲")
Combo5.AddItem ("负脉冲")
Combo5.AddItem ("双向脉冲")
For t = 1 To 255
Combo6.AddItem (100 * t)
Next t
'新添控件档位的初始化
Combo7.AddItem (100)
Combo7.AddItem (10)
Combo7.AddItem (1)
End Sub
'关闭窗口时,关闭USB设备并退出程序。
Private Sub Form_Unload(Cancel As Integer)
SI_Close (hUSBDevice)
End
End Sub
'定时器检测缓冲区是否准备好数据。
Private Sub Timer1_Timer()
Dim BytesSucceed As Long
Dim BytesWriteRequest As Long
Dim BytesReadRequest As Long
BytesSucceed = 0
BytesWriteRequest = IOBufSize - 4
BytesReadRequest = IOBufSize - 4
'send data to the board
Status = SI_Write(hUSBDevice, IOBuf(0), BytesWriteRequest, BytesSucceed)
If (BytesSucceed <> BytesWriteRequest) Or (Status <> SI_SUCCESS) Then
MsgBox "Error writing to USB. Wrote " + Str(BytesSucceed) + " of " + Str(BytesWriteRequest) + _
" bytes. Application is aborting. Reset hardware and try again."
End
End If
End Sub
'获得设置参数子函数。
Private Sub GetsSetPara()
If mCmdNum < 255 Then
mCmdNum = mCmdNum + 1
Else: mCmdNum = 0
End If
mWidth = Val(Combo1.Text)
mLen = Val(Combo2.Text)
'新添赋值程序
SFmTime = Val(Combo6.Text)
SFmFreq = Val(Text2.Text)
a = Text2.Text
b = a \ 256
c = a - b * 256
mFreqL = c
mFreqH = b
mNum = Val(Combo4.Text)
If Combo5.Text = "正脉冲" Then
mPn = 0
ElseIf Combo5.Text = "负脉冲" Then
mPn = 1
Else
mPn = 2
End If
'以毫秒为单位
mTime = Val(Combo6.Text)
d = 1000 / a
e = (mLen * d + mTime) \ 100
IOBuf(1) = order
IOBuf(2) = mPn
IOBuf(3) = mLen
IOBuf(4) = mFreqL
IOBuf(5) = mFreqH
IOBuf(6) = mWidth
IOBuf(7) = e
IOBuf(8) = mNum
IOBuf(9) = mCmdNum
Text1.Text = "发送参数情况如下:" & Chr(13) & Chr(10) & "正/负脉冲:" & mPn & Chr(13) & Chr(10) & "脉冲长度:" & mLen _
& Chr(13) & Chr(10) & "频率:" & a & Chr(13) & Chr(10) & "占空比:" & mWidth & Chr(13) & Chr(10) & "脉冲间隔:" _
& mTime & Chr(13) & Chr(10) & "脉串数:" & mNum
End Sub
'新增添程序画图初始化程序
Private Sub Picture1_Paint()
Picture1.Line (105, 75)-(105, 335 * 15)
Picture1.Line (105, 75)-(15, 150)
Picture1.Line (105, 75)-(195, 150)
Picture1.Line (105, 170 * 15)-(480 * 15, 170 * 15)
Picture1.Line (480 * 15, 170 * 15)-(475 * 15, 164 * 15)
Picture1.Line (480 * 15, 170 * 15)-(475 * 15, 176 * 15)
Dim sum2 As Integer
Do While sum2 < 489 * 15
Picture1.Line (105 + sum2, 170 * 15)-(105 + sum2, 166 * 15)
sum2 = sum2 + 1200
Loop
End Sub
Private Sub Picture2_Paint()
Picture2.Line (105, 75)-(105, 205 * 15)
Picture2.Line (105, 75)-(15, 150)
Picture2.Line (105, 75)-(195, 150)
Picture2.Line (105, 100 * 15)-(480 * 15, 100 * 15)
Picture2.Line (480 * 15, 100 * 15)-(475 * 15, 94 * 15)
Picture2.Line (480 * 15, 100 * 15)-(475 * 15, 106 * 15)
Dim sum2 As Integer
Do While sum2 < 489 * 15
Picture2.Line (105 + sum2, 100 * 15)-(105 + sum2, 96 * 15)
sum2 = sum2 + 1200
Loop
End Sub
Private Sub pictureini()
Dim temp As Double
Picture1.Refresh
Picture2.Refresh
i = 0
sum = 0
sum1 = 0
temp1 = mLen
tempNum = mNum
Dim ratio1, ratio2 As Double '频率的比率和占空比
mBasewidth = 12000 / Val(Val(Combo7.Text))
ratio1 = 100 / SFmFreq
temp = mBasewidth * ratio1
vHeight = (temp / 100) * mWidth
vLow = temp / 100 * (100 - mWidth)
Timer2.Enabled = True
Timer3.Enabled = True
End Sub
Private Sub Timer2_Timer()
Dim num1 As Integer '存储脉冲数
Dim PWidth, PHeight As Double
PWidth = Picture1.Width
PHeight = Picture1.Height
If tempNum > 0 Then
If mLen > 0 Then
If mPn = 0 Then '仅仅改好了模式0下的程序,发出正脉冲
Picture1.Line (sum + 105, 170 * 15)-(vLow + sum + 105, 170 * 15)
sum = sum + vLow
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 170 * 15)-(sum + 105, 170 * 15)
End If
Picture1.Line (sum + 105, 170 * 15)-(sum + 105, 85 * 15)
Picture1.Line (sum + 105, 85 * 15)-(vHeight + sum + 105, 85 * 15)
sum = sum + vHeight
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 85 * 15)-(sum + 105, 85 * 15)
End If
Picture1.Line (sum + 105, 85 * 15)-(sum + 105, 170 * 15)
mLen = mLen - 1
ElseIf mPn = 1 Then '发出负脉冲
Picture1.Line (sum + 105, 170 * 15)-(vLow + sum + 105, 170 * 15)
sum = sum + vLow
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 170 * 15)-(sum + 105, 170 * 15)
End If
Picture1.Line (sum + 105, 170 * 15)-(sum + 105, 255 * 15)
Picture1.Line (sum + 105, 255 * 15)-(vHeight + sum + 105, 255 * 15)
sum = sum + vHeight
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 255 * 15)-(sum + 105, 255 * 15)
End If
Picture1.Line (sum + 105, 255 * 15)-(sum + 105, 170 * 15)
mLen = mLen - 1
ElseIf mPn = 2 Then '发出正负脉冲
Picture1.Line (sum + 105, 255 * 15)-(vLow + sum + 105, 255 * 15)
sum = sum + vLow
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 255 * 15)-(sum + 105, 255 * 15)
End If
Picture1.Line (sum + 105, 255 * 15)-(sum + 105, 85 * 15)
Picture1.Line (sum + 105, 85 * 15)-(vHeight + sum + 105, 85 * 15)
sum = sum + vHeight
If sum + 105 > PWidth Then
Do While sum + 105 > PWidth
sum = sum + 105 - PWidth
Loop
Picture1.Refresh
Picture1.Line (105, 85 * 15)-(sum + 105, 85 * 15)
End If
Picture1.Line (sum + 105, 85 * 15)-(sum + 105, 255 * 15)
mLen = mLen - 1
End If
ElseIf mLen = 0 Then
mLen = temp1
sum = sum + SFmTime * 1200 / Val(Val(Combo7.Text))
Do While sum > 489 * 15
sum = sum - 489 * 15
Loop
Picture1.Refresh
If mPn = 0 Then
Picture1.Line (105, 170 * 15)-(sum + 105, 170 * 15) '正脉冲时的间隔
ElseIf mPn = 2 Then
Picture1.Line (105, 255 * 15)-(sum + 105, 255 * 15) '正负脉冲的间隔
ElseIf mPn = 1 Then
Picture1.Line (105, 170 * 15)-(sum + 105, 170 * 15) '负脉冲的间隔
End If
tempNum = tempNum - 1
End If
End If
If tempNum = 0 Then
Picture1.Refresh
End If
End Sub
Private Sub Timer3_Timer()
If mPn = 0 Then
Picture2.Line (105, 100 * 15)-(vLow + 105, 100 * 15)
Picture2.Line (vLow + 105, 100 * 15)-(vLow + 105, 50 * 15)
Picture2.Line (vLow + 105, 50 * 15)-(vHeight + vLow + 105, 50 * 15)
Picture2.Line (vHeight + vLow + 105, 50 * 15)-(vHeight + vLow + 105, 100 * 15)
ElseIf mPn = 2 Then
Picture2.Line (105, 150 * 15)-(vLow + 105, 150 * 15)
Picture2.Line (vLow + 105, 150 * 15)-(vLow + 105, 50 * 15)
Picture2.Line (vLow + 105, 50 * 15)-(vHeight + vLow + 105, 50 * 15)
Picture2.Line (vHeight + vLow + 105, 50 * 15)-(vHeight + vLow + 105, 150 * 15)
ElseIf mPn = 1 Then
Picture2.Line (105, 100 * 15)-(vLow + 105, 100 * 15)
Picture2.Line (vLow + 105, 100 * 15)-(vLow + 105, 150 * 15)
Picture2.Line (vLow + 105, 150 * 15)-(vHeight + vLow + 105, 150 * 15)
Picture2.Line (vHeight + vLow + 105, 150 * 15)-(vHeight + vLow + 105, 100 * 15)
End If
Timer3.Enabled = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -