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

📄 sinx.frm

📁 本程序是本人在设计无线通信产品时的工具软件
💻 FRM
字号:
VERSION 5.00
Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX"
Begin VB.Form SinX 
   Caption         =   "电路仿真---晓湘设计"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   BeginProperty Font 
      Name            =   "宋体"
      Size            =   10.5
      Charset         =   134
      Weight          =   700
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   11010
   ScaleWidth      =   15240
   WindowState     =   2  'Maximized
   Begin VB.CommandButton Command2 
      Caption         =   "退出"
      Height          =   735
      Left            =   12960
      TabIndex        =   12
      Top             =   840
      Width           =   1455
   End
   Begin VB.TextBox Text5 
      Height          =   375
      Left            =   10200
      TabIndex        =   11
      Text            =   "20"
      Top             =   0
      Width           =   735
   End
   Begin VB.TextBox Text4 
      Height          =   375
      Left            =   8040
      TabIndex        =   9
      Text            =   "0.85"
      Top             =   0
      Width           =   735
   End
   Begin RichTextLib.RichTextBox RText 
      Height          =   1095
      Left            =   120
      TabIndex        =   7
      Top             =   480
      Width           =   12015
      _ExtentX        =   21193
      _ExtentY        =   1931
      _Version        =   393217
      Enabled         =   -1  'True
      TextRTF         =   $"SinX.frx":0000
   End
   Begin VB.CommandButton Command1 
      Caption         =   "开始仿真"
      Height          =   735
      Left            =   12960
      TabIndex        =   6
      Top             =   120
      Width           =   1455
   End
   Begin VB.TextBox Text3 
      Height          =   375
      Left            =   6360
      TabIndex        =   5
      Text            =   "90"
      Top             =   0
      Width           =   615
   End
   Begin VB.TextBox Text2 
      Height          =   375
      Left            =   4560
      TabIndex        =   3
      Text            =   "20"
      Top             =   0
      Width           =   855
   End
   Begin VB.TextBox Text1 
      Height          =   375
      Left            =   1800
      TabIndex        =   1
      Text            =   "150"
      Top             =   0
      Width           =   855
   End
   Begin VB.Label Label5 
      Caption         =   "放大倍数"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   9000
      TabIndex        =   10
      Top             =   120
      Width           =   1095
   End
   Begin VB.Label Label4 
      Caption         =   "偏置"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   7200
      TabIndex        =   8
      Top             =   120
      Width           =   615
   End
   Begin VB.Label Label3 
      Caption         =   "相角BZ"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   5520
      TabIndex        =   4
      Top             =   120
      Width           =   855
   End
   Begin VB.Label Label2 
      Caption         =   "反射波幅度A2"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2760
      TabIndex        =   2
      Top             =   120
      Width           =   1695
   End
   Begin VB.Label Label1 
      Caption         =   "入射波幅度A1"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   1575
   End
End
Attribute VB_Name = "SinX"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub Command1_Click()
Dim A1 As Double
Dim A2 As Double
Dim BZ As Double
Dim Dx As Double
Dim Lx As Double
Dim Dy As Double
Dim Xx As Double
Dim Y1 As Double
Dim Y2 As Double
Dim Y3 As Double
Dim Y4 As Double
Dim Da As Double
Dim Dz As Double
Dim i As Integer

    Me.Cls
    Lx = Me.ScaleWidth - 100
    Dy = Me.ScaleHeight / 8
    Dx = Lx / (360 * 50)
    Dz = Dy / 200
    A1 = Val(Text1.Text) * Dz
    A2 = Val(Text2.Text) * Dz
    BZ = Val(Text3.Text) * 3.14156 / 180
    Da = 3.14156 / 180
    
    Me.DrawWidth = 2
    
    Line (100, Dy * 2)-((Lx), Dy * 2), vbGreen
    Line (100, Dy * 4)-((Lx), Dy * 4), vbBlue
    Line (100, Dy * 7.5)-((Lx), Dy * 7.5), vbBlue
    
      For i = 1 To 360 * 50
        Xx = 100 + Dx * i
        
        Y2 = A1 * Cos(Da * i + BZ)
        If (Int(i / (360 * 5)) Mod 2) = 0 Then     '脉冲状态
            Y3 = A2 * Cos(Da * i - BZ)
        Else
            Y3 = 0
        End If
            
        Y1 = Y2 + Y3
        
        If Y1 > 0 Then                              '检波
           Y4 = Text5.Text * (Y1 - A1 * Text4.Text)
        End If
        
        If Y4 < 0 Then Y4 = 0
        
        Y4 = -Y4                                    '显示的方向Y+是朝下
        
        Me.PSet (Xx, Y3 + Dy * 2), vbBlue
        Me.PSet (Xx, Y2 + Dy * 2), vbRed
        Me.PSet (Xx, Y1 + Dy * 4), vbMagenta
        
        Me.PSet (Xx, Y4 + Dy * 7.5), vbCyan
            
      Next i
      
End Sub

Private Sub Command2_Click()
     Unload Me
End Sub

Private Sub Form_Load()
     RText.Text = "Y2=A1*COS(WT+BZ)                   Y3=A2*COS(WT-BZ)" + Chr(10) '+ Chr(13)
     RText.Text = RText.Text + "Y1=Y2+Y3=A1*COS(WT)*COS(BZ)-A1*SIN(WT)*SIN(BZ)+A2*COS(WT)*COS(BZ)+A2*SIN(WT)SIN(BZ)" + Chr(10) '+ Chr(13)
     RText.Text = RText.Text + "Y1=(A1+A2)*COS(WT)*COS(BZ)+(A2-A1)*SIN(WT)SIN(BZ)" + Chr(10)
     RText.Text = RText.Text + "Y4 = " + "放大倍数 * (Y1 - A1 *" + "偏置)"
End Sub


⌨️ 快捷键说明

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