📄 sinx.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 + -