⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdiform1.frm

📁 DSO2902示波器源码,半年多才做好的,功能超牛
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.MDIForm Dso29 
   BackColor       =   &H8000000C&
   Caption         =   "dso29xx_DLL"
   ClientHeight    =   6540
   ClientLeft      =   3795
   ClientTop       =   -1830
   ClientWidth     =   9480
   Icon            =   "MDIForm1.frx":0000
   LinkMode        =   1  'Source
   LinkTopic       =   "MDIForm1"
   LockControls    =   -1  'True
   StartUpPosition =   2  '屏幕中心
   Visible         =   0   'False
   Begin MSComDlg.CommonDialog CommonDialog1 
      Left            =   360
      Top             =   960
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
      DialogTitle     =   "dlgdialog"
   End
   Begin VB.Timer Timer3 
      Left            =   3240
      Top             =   1800
   End
   Begin VB.Timer Timer2 
      Left            =   2520
      Top             =   1800
   End
   Begin VB.Timer Timer1 
      Interval        =   3000
      Left            =   1680
      Top             =   1800
   End
   Begin MSComctlLib.Toolbar Toolbar1 
      Align           =   1  'Align Top
      Height          =   405
      Left            =   0
      TabIndex        =   0
      Top             =   0
      Width           =   9480
      _ExtentX        =   16722
      _ExtentY        =   714
      ButtonWidth     =   635
      ButtonHeight    =   556
      Appearance      =   1
      ImageList       =   "ImageList1"
      _Version        =   393216
      BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
         NumButtons      =   2
         BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "go"
            ImageIndex      =   1
         EndProperty
         BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "stop"
            ImageIndex      =   2
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   8040
      Top             =   3720
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   17
      ImageHeight     =   15
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   2
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "MDIForm1.frx":08CA
            Key             =   ""
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "MDIForm1.frx":0E4A
            Key             =   ""
         EndProperty
      EndProperty
   End
   Begin VB.Menu menufile 
      Caption         =   "文件"
      Begin VB.Menu readinifile 
         Caption         =   "读入设置"
      End
      Begin VB.Menu readdefaultini 
         Caption         =   "读入默认"
      End
      Begin VB.Menu saveinifile 
         Caption         =   "设置另存"
      End
      Begin VB.Menu savedso 
         Caption         =   "保存波形数据"
      End
      Begin VB.Menu autosaveini 
         Caption         =   "自动保存设置(尚未实现)"
      End
      Begin VB.Menu eexit 
         Caption         =   "退出"
      End
   End
   Begin VB.Menu menuview 
      Caption         =   "视图"
      Begin VB.Menu viewtoolbar 
         Caption         =   "工具栏"
         Checked         =   -1  'True
      End
   End
   Begin VB.Menu menuchannel 
      Caption         =   "通道"
      Begin VB.Menu colorname 
         Caption         =   "颜色"
      End
   End
   Begin VB.Menu menutiming 
      Caption         =   "时序"
      Begin VB.Menu timingline 
         Caption         =   "线"
         Checked         =   -1  'True
      End
      Begin VB.Menu timingdot 
         Caption         =   "点"
      End
      Begin VB.Menu timinglinedot 
         Caption         =   "点线"
      End
      Begin VB.Menu timingpersistence 
         Caption         =   "持续跟踪"
      End
   End
   Begin VB.Menu menuhelp 
      Caption         =   "帮助"
      Begin VB.Menu Help_Topics 
         Caption         =   "帮助主题"
      End
      Begin VB.Menu helpblank1 
         Caption         =   "-"
      End
      Begin VB.Menu myhelp 
         Caption         =   "我的帮助"
      End
      Begin VB.Menu About_dso 
         Caption         =   "关于 示波器..."
      End
   End
End
Attribute VB_Name = "Dso29"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub About_dso_Click()
    frmAbout.Show
End Sub

Private Sub colorname_Click()
    Dso29.CommonDialog1.ShowColor
End Sub



Private Sub externalfalling_Click()
    ClkSource = CLK_EXT_FALLING            '外时钟下降沿
End Sub

Private Sub externalrising_Click()     '外时钟上升沿
    ClkSource = CLK_EXT_RISING
End Sub

Private Sub filedatalog_Click()
    Dialog.Show
End Sub

Private Sub fileexport_Click()
    frmOptions.Show
End Sub

Private Sub filelogsetting_Click()
    frmBrowser.Show
End Sub

Private Sub fileopen_Click()
    Dso29.CommonDialog1.ShowOpen

End Sub

Private Sub fileprint_Click()
    Dso29.CommonDialog1.ShowPrinter
End Sub

Private Sub filesave_Click()
    Dso29.CommonDialog1.ShowSave
End Sub

Private Sub eexit_Click()
    Call PowerOff(UIP(0), UCP(0, 0, 0))    '关闭电源
    Unload Me
End Sub

Private Sub Help_Topics_Click()
    'MDIForm.HelpContextID = 0
    '  Form1.HelpFile = "c:\vb_dso29\Wdso29.hlp"
    ' Display the Windows Help engine.
    '   MDIForm.ShowHelp

End Sub

Private Sub MDIForm_Load()
Dim i As Long, j As Long, Find As Long
ReDim bufanalog0(1024 * 2, 128) As Byte
ReDim bufanalog1(1024 * 2, 128) As Byte
ReDim bufanalog2(1024 * 2, 128) As Byte
ReDim bufanalog3(1024 * 2, 128) As Byte
ReDim buflogic0(1024 * 2, 128) As Byte
ReDim buflogic1(1024 * 2, 128) As Byte
    For i = 0 To 10                    '初始化设置,缺省值为
        p_attn(i) = attn_10                '探头比 10:1
        VOffDex(i) = 128                   '通道一至通道四偏移处于屏幕中间,0最高 ,128 中间, 255 最低。
        div(i) = 3                         '每格/电压 ,   100mV=0,200mV=1,500mV=2,1V=3,2V=4 ,5V=5 ,10V=6
        Trans(i) = 1                      '通道允许显示
        s_val(i) = 6                      '每格/电压 从10mV起, 缺省值s_val(i)=6 为1V
        cp_val(i) = 1                     'DC藕合=1     AC藕合 =0    GND=2

    Next i

    TrigWd1A = 110                     '通道一至通道四触发电平初始位置 ,0最高 128 中间 255 最低
    TrigWd2A = 110
    TrigWd3A = 110                     'TrigWd3A and TrigWd4A 对应DSO2904第三和第四通道
    TrigWd4A = 110

    Form1.Show
    Form2.Show

    Dso29.Timer2.Enabled = False
    Dso29.Timer2.Interval = 30000
    Dso29.Timer2.Enabled = True
    v1v2disflag = 1

    Form1.Left = 2500
    Form1.Height = 8800
    Form1.Width = 7500
    Form2.Left = 0
    Form2.Top = 0
    Form2.Height = 5500
    Form2.Width = 2500

    Form2.Option1.Value = True
    selectchannel = 0

   For j = 0 To 128
    For i = 0 To 1024 * 2 - 1               '模拟一至四通道的初始显示数据,显示长度为1024点,显示位置在屏幕中央
        bufanalog0(i, j) = 128
        bufanalog1(i, j) = 128
        bufanalog2(i, j) = 128
        bufanalog3(i, j) = 128
    Next i
   Next j

    Trans(chlogic) = 1                  '通道一至四缺省为打开显示方式
    Trans(chlogic1) = 1
    Trans(chlogic2) = 1
    Trans(chlogic3) = 1
    Form2.HScroll12.Value = mhz100     '10MHz采样

    Call GetVersionEx_test             '检测操作系统

    '操作系统 WinVersion:=0     "WIN32"
    '=1     "WINDOWS95,98,ME"
    '=2     "WINDOWS NT,XP

    Find = FindHardware(winversion, board_model, UIP(0), UCP(0, 0, 0))

    If board_model = 0 Then
        board_model = dso2904_256
    End If

    'Form2.HScroll15.Max = numanalog2904_256 - 1

    Form2.HScroll9.Max = numanalog2904_256

    Form1.Text1.Top = 300 + 16 * 0
    Form1.Text2.Top = 300 + 16 * 1
    Form1.Text3.Top = 300 + 16 * 2
    Form1.Text4.Top = 300 + 16 * 3
    Form1.Text5.Top = 300 + 16 * 4
    Form1.Text6.Top = 300 + 16 * 5
    Form1.Text7.Top = 300 + 16 * 6
    Form1.Text8.Top = 300 + 16 * 7
    Form1.Text9.Visible = False
    Form1.Text10.Visible = False
    Form1.Text11.Visible = False
    Form1.Text12.Visible = False
    Form1.Text13.Visible = False
    Form1.Text14.Visible = False
    Form1.Text15.Visible = False
    Form1.Text16.Visible = False

    If board_model = dso2902_64 Then board_model = dso2902_128

    Select Case board_model

      Case dso2902_128
        '  Form2.HScroll15.Max = numanalog2902_128 - 1
        Form2.HScroll9.Max = numanalog2902_128
        Form2.HScroll2.Max = 2
        Form2.HScroll12.Min = 6
        Form2.HScroll1.Visible = False
        Form2.Label1.Visible = False
        Form1.Text19.Visible = False
        Form1.Text20.Visible = False

      Case dso2902_256
        '    Form2.HScroll15.Max = numanalog2902_128 - 1
        Form2.HScroll9.Max = numanalog2902_128
        Form2.HScroll2.Max = 3
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Visible = False
        Form2.Label1.Visible = False
        Form1.Text19.Visible = False
        Form1.Text20.Visible = False

      Case dso2902_512
        '    Form2.HScroll15.Max = numanalog2902_128 - 1
        Form2.HScroll9.Max = numanalog2902_128
        Form2.HScroll2.Max = 3
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Visible = False
        Form2.Label1.Visible = False
        Form1.Text19.Visible = False
        Form1.Text20.Visible = False

      Case dso2904_256
        '  Form2.HScroll15.Max = numanalog2904_256 - 1
        Form2.HScroll9.Max = numanalog2904_256
        Form2.HScroll2.Max = 3
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Max = 2

        Form1.Text9.Top = 300 + 16 * 8
        Form1.Text10.Top = 300 + 16 * 9
        Form1.Text11.Top = 300 + 16 * 10
        Form1.Text12.Top = 300 + 16 * 11
        Form1.Text13.Top = 300 + 16 * 12
        Form1.Text14.Top = 300 + 16 * 13
        Form1.Text15.Top = 300 + 16 * 14
        Form1.Text16.Top = 300 + 16 * 15
        Form1.Text9.Visible = True
        Form1.Text10.Visible = True
        Form1.Text11.Visible = True
        Form1.Text12.Visible = True
        Form1.Text13.Visible = True
        Form1.Text14.Visible = True
        Form1.Text15.Visible = True
        Form1.Text16.Visible = True

      Case dso2906_256
        '   Form2.HScroll15.Max = numanalog2906_256 - 1
        Form2.HScroll9.Max = numanalog2906_256
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Max = 3

      Case dso2908_256
        '   Form2.HScroll15.Max = numanalog2908_256 - 1
        Form2.HScroll9.Max = numanalog2908_256
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Max = 4

      Case dso2500
        '     Form2.HScroll15.Max = numanalog2500 - 1
        Form2.HScroll9.Max = numanalog2500
        Form2.HScroll12.Min = 0
        Form2.HScroll1.Visible = False

    End Select

    Form2.Label29.Caption = "探头"
    Form2.Label12.Caption = "显示"
    Form2.Label13.Caption = "电压/格"
    Form2.Label14.Caption = "偏移"
    Form2.Label15.Caption = "藕合"
    Form2.Label6.Caption = "深度"
    Form2.Label31.Caption = "触发 ch"
    Form2.Label32.Caption = "电平"
    Form2.Label33.Caption = "斜率"
    Form2.Label34.Caption = "方式"
    Form2.Label23.Caption = "电平"
    Form2.Label35.Caption = "触发方式"

    persistance = 0

    Form2.Label20.ForeColor = Form1.Text17.ForeColor
    Form2.Label21.ForeColor = Form1.Text17.ForeColor
    Form2.Label22.ForeColor = Form1.Text17.ForeColor
    Form2.Label23.ForeColor = Form1.Text17.ForeColor

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -