📄 module1.bas
字号:
Form2.Label3.Caption = "On"
End If
Case board2
If Trans(2) = 0 Then
Form2.Label7.Caption = "Off"
Else
Form2.Label7.Caption = "On"
End If
If Trans(3) = 0 Then
Form2.Label3.Caption = "Off"
Else
Form2.Label3.Caption = "On"
End If
End Select
End Sub
Sub setprobe()
p_attn(selectchannel) = Form2.HScroll16.Value
Select Case Form2.HScroll1.Value
Case board1
temp0 = p_attn(0)
temp1 = p_attn(1)
Call PROBEDISPLAY
Case board2
temp0 = p_attn(2)
temp1 = p_attn(3)
Call PROBEDISPLAY
End Select
Call DIV_ATTEU
Call setoffset
Call setlevel
End Sub
Sub SetTrigCh()
Select Case Form2.HScroll9.Value
Case aCH0
Form2.HScroll10.Value = TrigWd1A
Case aCH1
Form2.HScroll10.Value = TrigWd2A
Case aCH2
Form2.HScroll10.Value = TrigWd3A
Case aCH3
Form2.HScroll10.Value = TrigWd4A
End Select
TrigCh = chlogic
Form2.Label20.Caption = "逻辑"
Select Case Form2.HScroll9.Value
Case aCH0
TrigCh = aCH0
Form2.Label20.Caption = "A1"
Call setlevel
Case aCH1
TrigCh = aCH1
Form2.Label20.Caption = "A2"
Call setlevel
Case (aCH2 And board_model = dso2904_256)
TrigCh = aCH2
Form2.Label20.Caption = "A3"
Call setlevel
Case (aCH3 And board_model = dso2904_256)
TrigCh = aCH3
Form2.Label20.Caption = "A4"
Call setlevel
End Select
End Sub
Sub setlevel()
temp0 = Form2.HScroll10.Value + (VOffDex(Form2.HScroll9.Value) - 128)
Select Case Form2.HScroll9.Value
Case aCH0
If temp0 < 254 And temp0 > 2 Then TrigWd1A = temp0
Case aCH1
If temp0 < 254 And temp0 > 2 Then TrigWd2A = temp0
Case aCH2
If temp0 < 254 And temp0 > 2 Then TrigWd3A = temp0
Case aCH3
If temp0 < 254 And temp0 > 2 Then TrigWd4A = temp0
End Select
Call chpixelvoltage(TrigCh)
constant1 = 1000
' VOffDex(TrigCh) = Form2.HScroll10.Value
If Form2.HScroll10.Value > 128 Then
offsetvoltage = (pixelvoltage * (Form2.HScroll10.Value - 128)) / constant1
Select Case offsetvoltage
Case Is < 999.9
Form2.Label21.Caption = "-0" + Format$(offsetvoltage, "###.##") + "mV"
Case Is < 999.9 * 1000
Form2.Label21.Caption = "-0" + Format$(offsetvoltage / constant1, "###.##") + "V"
Case Is < 999.9 * 1000 * 1000
Form2.Label21.Caption = "-0" + Format$(offsetvoltage / (constant1 * 1000), "#####.##") + "V"
Case Is < 999.9 * 1000 * 1000 * 1000
Form2.Label21.Caption = "-0" + Format$(offsetvoltage / (constant1 * 1000 * 1000), "#####.##") + "000V"
End Select
Else
offsetvoltage = (pixelvoltage * (128 - Form2.HScroll10.Value)) / 1000
Select Case offsetvoltage
Case Is < 999.9
Form2.Label21.Caption = "0" + Format$(offsetvoltage, "###.##") + "mV"
Case Is < 999.9 * 1000
Form2.Label21.Caption = "0" + Format$(offsetvoltage / constant1, "#####.##") + "V"
Case Is < 999.9 * 1000 * 1000
Form2.Label21.Caption = "0" + Format$(offsetvoltage / (constant1 * 1000), "#####.##") + "V"
Case Is < 999.9 * 1000 * 1000 * 1000
Form2.Label21.Caption = "0" + Format$(offsetvoltage / (constant1 * 1000 * 1000), "#####.##") + "000V"
End Select
End If
End Sub
Sub settrigslop()
Select Case Form2.HScroll11.Value
Case POSITIVE
Form2.Label22.Caption = "正沿"
TrigSlope(TrigCh) = POSITIVE
Case NEGATIVE
Form2.Label22.Caption = "负沿"
TrigSlope(TrigCh) = NEGATIVE
End Select
End Sub
Public Sub settrigmode()
Select Case Form2.HScroll14.Value
Case cap_once
Form2.Label24.Caption = "单一"
Case cap_repeat
Form2.Label24.Caption = "正常"
Case cap_auto
Form2.Label24.Caption = "自动"
End Select
End Sub
Public Sub setrate()
' If Form2.HScroll12.Value = mhz400 Then Form2.HScroll12.Value = mhz500
tt = Form2.HScroll12.Value
If Form2.HScroll12.Value >= mhz250 - 3 Then
ClkRate = Form2.HScroll12.Value + 3
tt = tt + 3
End If
Select Case tt
Case ghz020
Form2.Label25.Caption = "20GSa(50ps)"
timeperiod = 50
ClkRate = ghz020
Case ghz010
Form2.Label25.Caption = "10GSa(100ps)"
timeperiod = 100
ClkRate = ghz010
Case ghz005
Form2.Label25.Caption = "5GSa(200ps)"
timeperiod = 250
ClkRate = ghz005
' Case ghz004
' Form2.Label25.Caption = "4GSa(250ps)"
' timeperiod = 200
Case 3
Form2.Label25.Caption = "2GSa(500ps)"
timeperiod = 500
ClkRate = 4
Case 4
Form2.Label25.Caption = "1GSa(1ns)"
timeperiod = 1000
ClkRate = 5
' Case mhz800
' Form2.Label25.Caption = "800MSa(1.25ns)"
' timeperiod = 1250
Case 5
Form2.Label25.Caption = "500MSa(2ns)"
timeperiod = 2000
ClkRate = 7
' Case mhz400
' Form2.Label25.Caption = "400MSa(2ns)"
' timeperiod = 2500
Case mhz250
Form2.Label25.Caption = "250MSa(4ns)"
timeperiod = 4000
Case mhz200
Form2.Label25.Caption = "200MSa(5ns)"
timeperiod = 5000
Case mhz100
Form2.Label25.Caption = "100MSa(10ns)"
timeperiod = 10000
Case mhz050
Form2.Label25.Caption = "50MSa(20ns)"
timeperiod = 20000
Case mhz020
Form2.Label25.Caption = "20MSa(50ns)"
timeperiod = 50000
Case mhz010
Form2.Label25.Caption = "10MSa(100ns)"
timeperiod = 100000
Case mhz005
Form2.Label25.Caption = "5MSa(200ns)"
timeperiod = 200000
Case mhz002
Form2.Label25.Caption = "2MSa(500ns)"
timeperiod = 500000
Case mhz001
Form2.Label25.Caption = "1MSa(1us)"
timeperiod = 1000000
Case khz500
Form2.Label25.Caption = "500KSa(2us)"
timeperiod = 2000000
Case khz200
Form2.Label25.Caption = "200ka(5us)"
timeperiod = 5000000
Case khz100
Form2.Label25.Caption = "100KSa(10us)"
timeperiod = 10000000
Case khz050
Form2.Label25.Caption = "50KSa(20us)"
timeperiod = 20000000
Case khz020
Form2.Label25.Caption = "20ka(50us)"
timeperiod = 50000000
Case khz010
Form2.Label25.Caption = "10KSa(100us)"
timeperiod = 100000000
Case khz005
Form2.Label25.Caption = "5KSa(200us)"
timeperiod = 200000000
Case khz002
Form2.Label25.Caption = "2ka(500us)"
timeperiod = 500000000
Case khz001
Form2.Label25.Caption = "1KSa(1ms)"
timeperiod = 1000000000
Case hz500
Form2.Label25.Caption = "500Sa(2ms)"
timeperiod = 2000000000
Case hz200
Form2.Label25.Caption = "200Sa(5ms)"
timeperiod = 5000000000#
Case hz100
Form2.Label25.Caption = "100Sa(10ms)"
timeperiod = 10000000000#
Case hz050
Form2.Label25.Caption = "50Sa(20ms)"
timeperiod = 20000000000#
Case hz020
Form2.Label25.Caption = "20Sa(50ms)"
timeperiod = 50000000000#
Case hz010
Form2.Label25.Caption = "10Sa(100ms)"
timeperiod = 100000000000#
Case hz005
Form2.Label25.Caption = "5Sa(200ms)"
timeperiod = 200000000000#
Case hz002
Form2.Label25.Caption = "2Sa(500ms)"
timeperiod = 500000000000#
Case hz001
Form2.Label25.Caption = "1Sa(1s)"
timeperiod = 1000000000000#
End Select
' ClkRate = Form2.HScroll12.Value
End Sub
Public Sub setzoom()
Select Case Form2.HScroll13.Value
Case zoom1_50
Form2.Label26.Caption = "1:50(1 Sa/Div)"
zoomperiod = 1
zoomperiod1 = 1 / 50
Case zoom1_20
Form2.Label26.Caption = "1:20(2 Sa/Div)"
zoomperiod = 2
zoomperiod1 = 1 / 20
Case zoom1_10
Form2.Label26.Caption = "1:10(5 Sa/Div)"
zoomperiod = 5
zoomperiod1 = 1 / 10
Case zoom1_5
Form2.Label26.Caption = "1:5(10 Sa/Div)"
zoomperiod = 10
zoomperiod1 = 1 / 5
Case zoom1_2
Form2.Label26.Caption = "1:2(20 Sa/Div)"
zoomperiod = 20
zoomperiod1 = 1 / 2
Case zoom1_1
Form2.Label26.Caption = "1:1(50 Sa/Div)"
zoomperiod = 50
zoomperiod1 = 1
Case zoom2_1
Form2.Label26.Caption = "2:1(100 Sa/Div)"
zoomperiod = 100
zoomperiod1 = 2
Case zoom4_1
Form2.Label26.Caption = "4:1(200 Sa/Div)"
zoomperiod = 200
zoomperiod1 = 4
Case zoom10_1
Form2.Label26.Caption = "10:1(500 Sa/Div)"
zoomperiod = 500
zoomperiod1 = 10
Case zoom20_1
Form2.Label26.Caption = "20:1(1000 Sa/Div)"
zoomperiod = 1000
zoomperiod1 = 20
Case zoom40_1
Form2.Label26.Caption = "40:1(2000 Sa/Div)"
zoomperiod = 2000
zoomperiod1 = 40
Case zoom100_1
Form2.Label26.Caption = "100:1(5000 Sa/Div)"
zoomperiod = 5000
zoomperiod1 = 100
Case zoom200_1
Form2.Label26.Caption = "200:1(10000 Sa/Div)"
zoomperiod = 10000
zoomperiod1 = 200
Case zoom400_1
Form2.Label26.Caption = "400:1(20000 Sa/Div)"
zoomperiod = 20000
zoomperiod1 = 400
End Select
End Sub
Sub dotdraw(ByVal drawcolor)
Call SetPixeltest(ByVal Form1.Picture1.hdc, ByVal analogch0, disanalog0(0), ByVal drawcolor)
Call SetPixeltest(ByVal Form1.Picture1.hdc, ByVal analogch1, disanalog0(0), ByVal drawcolor)
' Form1.Picture1.PSet (cx, disanalog0(cx)), red
If board_model = dso2904_256 Then
Call SetPixeltest(ByVal Form1.Picture1.hdc, ByVal analogch2, disanalog0(0), ByVal drawcolor)
Call SetPixeltest(ByVal Form1.Picture1.hdc, ByVal analogch3, disanalog0(0), ByVal drawcolor)
End If
End Sub
'it is visual basic function ,be replaced by visual c call linedraw
Public Sub linedraw1(ByVal channel, ByVal linecolor As Long)
Form1.Picture1.ForeColor = linecolor
For cx = 0 To 650 Step 1 '秆猂
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -