|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
MCS51 - PC |
| 作者:mrwyk 欄目:單片機 |
我要用vB 編PC的串行通信程序,有那位老師又現(xiàn)成的程序?最好連51的程序也一起發(fā)出來謝謝了。51的程序要用匯編寫的!謝謝。 |
| 2樓: | >>參與討論 |
| 作者: hunao 于 2006/4/12 14:38:00 發(fā)布:
自己編吧!給你是害你。! |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2006/4/12 15:37:00 發(fā)布:
找?guī)妆綱B的書看看,再找?guī)妆締纹瑱C的書看看~~~~ |
|
| 4樓: | >>參與討論 |
| 作者: mrwyk 于 2006/4/13 13:46:00 發(fā)布:
各位大哥 各位大哥你們只要把主要的程序告訴我就行了。我不要多的! |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2006/4/13 15:02:00 發(fā)布:
re Option Explicit Private Sub Test_COM2() On Error GoTo comm_error MSComm1.CommPort = 2 MSComm1.PortOpen = True MSComm1.PortOpen = False Exit Sub comm_error: Comm_Status = Comm_Status + 2 Exit Sub Resume Next End Sub Private Sub Test_COM1() On Error GoTo comm_error MSComm1.CommPort = 1 MSComm1.PortOpen = True MSComm1.PortOpen = False Exit Sub comm_error: Comm_Status = Comm_Status + 1 Exit Sub Resume Next End Sub Private Sub Form_Load() On Error GoTo comm_error Comm_Using = 0 Comm_Status = 0 Call Test_COM1 Call Test_COM2 If Comm_Status = 3 Then MsgBox "COM1和COM2都已經(jīng)被其他設(shè)備占用!請將網(wǎng)絡(luò)分析儀連接到您的電腦后,再啟動該軟件", vbOKOnly + vbCritical Timer3.Interval = 100 Timer3.Enabled = True End If If Comm_Status <> 1 And Comm_Status <> 3 Then MSComm1.CommPort = 1 MSComm1.Settings = "2400,N,8,1" MSComm1.InputLen = 1 MSComm1.RThreshold = 1 MSComm1.PortOpen = True MSComm1.Output = "T" Timer1.Interval = 2000 Timer1.Enabled = True Timer2.Interval = 1000 Timer2.Enabled = True End If Exit Sub comm_error: MsgBox "打開串口錯誤!", vbOKOnly + vbCritical, "串口狀態(tài)" Unload Me End Sub Private Sub MSComm1_OnComm() On Error Resume Next Dim Receive_Point() As Byte Dim Receive_Data As Byte If MSComm1.CommEvent = comEvReceive Then Receive_Point = MSComm1.Input Receive_Data = Receive_Point(0) If Receive_Data = &H41 Then Timer1.Enabled = False Timer2.Enabled = False Form3.Visible = False Comm_Using = MSComm1.CommPort MSComm1.PortOpen = False Load Form1 Form1.Visible = True Timer3.Interval = 100 Timer3.Enabled = True End If End If End Sub Private Sub Timer1_Timer() On Error Resume Next Dim return_from_msgbox As Byte Timer1.Enabled = False If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If return_from_msgbox = MsgBox(" 在COM1和COM2口未發(fā)現(xiàn)設(shè)備。" + Chr(10) + Chr(10) + "退出該程序,請按“終止”;需要重試,請按“重試”;繼續(xù)運行,按“忽略”", vbAbortRetryIgnore + vbQuestion + vbDefaultButton3, "未發(fā)現(xiàn)設(shè)備") SELECT Case return_from_msgbox Case 3 Unload Me Case 4 Call Form_Load Case 5 Form3.Visible = False Load Form1 Form1.Visible = True Unload Me End SELECT End Sub Private Sub Timer2_Timer() On Error Resume Next Timer2.Enabled = False MSComm1.PortOpen = False If Comm_Status <> 2 And Comm_Status <> 3 Then MSComm1.CommPort = 2 MSComm1.Settings = "2400,N,8,1" MSComm1.InputLen = 1 MSComm1.RThreshold = 1 MSComm1.PortOpen = True MSComm1.Output = "T" End If End Sub Private Sub Timer3_Timer() Unload Me End Sub Option Explicit Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As LONG, ByVal hWndInsertAfter As LONG, ByVal X As LONG, ByVal Y As LONG, ByVal cx As LONG, ByVal cy As LONG, ByVal wFlags As LONG) As LONG Dim ReFlag As Boolean Dim ImFlag As Boolean Dim TmFlag As Boolean Dim sRe As String Dim sIm As String Dim sTm As String Dim Ratio As Double Dim OutVoltage As Integer Dim InGain As Integer Dim PointCount As Integer Dim Buffer(1 To 13) As Byte Dim SentCount As Integer Dim Finish As Boolean Dim Scope As Integer Public Function COM1_SELECT() On Error GoTo comm_error COM1.Checked = True COM2.Checked = False If Comm_Status = 1 Then MsgBox "COM1口已經(jīng)被其它設(shè)備占用!只能用COM2口。", vbOKOnly + vbCritical, "串口狀態(tài)" COM2_SELECT End If If Comm_Status = 3 Then MsgBox "COM1和COM2口都已經(jīng)被其它設(shè)備占用!只能退出程序。" + Chr(10) + Chr(10) + "請將設(shè)備連接到COM1或COM2后再啟動該程序。", vbOKOnly + vbCritical, "串口狀態(tài)" Unload Me Exit Function End If If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = 1 MSComm1.InputLen = 20 MSComm1.InputMode = comInputModeBinary MSComm1.Settings = "2400,n,8,1" MSComm1.RThreshold = 20 MSComm1.PortOpen = True Exit Function comm_error: MsgBox "打開串口遇到一個錯誤。 ", vbOKOnly + vbCritical, "串口錯誤" Resume Next End Function Public Function COM2_SELECT() On Error GoTo comm_error COM1.Checked = False COM2.Checked = True If Comm_Status = 2 Then MsgBox "COM2口已被其它設(shè)備占用!只能用COM1口。", vbOKOnly + vbCritical, "串口狀態(tài)" COM1_SELECT Exit Function End If If Comm_Status = 3 Then MsgBox "COM1和COM2口都已經(jīng)被其它設(shè)備占用!只能退出程序。" + Chr(10) + Chr(10) + "請將設(shè)備連接到COM1或COM2后再啟動該程序。", vbOKOnly + vbCritical, "串口狀態(tài)" Unload Me Exit Function End If If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = 2 MSComm1.InputLen = 20 MSComm1.InputMode = comInputModeBinary MSComm1.Settings = "2400,n,8,1" MSComm1.RThreshold = 20 MSComm1.PortOpen = True Exit Function comm_error: MsgBox "打開串口遇到一個錯誤。", vbOKOnly + vbCritical, "串口錯誤" End Function Private Sub Get_Ratio() SELECT Case Combo1.Text Case "100" Ratio = 100 Case "200" Ratio = 200 Case "500" Ratio = 500 Case "1K" Ratio = 1000 Case "2K" Ratio = 2000 Case "5K" Ratio = 5000 Case "10K" Ratio = 10000 Case "20K" Ratio = 20000 Case "50K" Ratio = 50000 Case "100K" Ratio = 100000 Case "200K" Ratio = 200000 Case "500K" Ratio = 500000 End SELECT End Sub Private Sub Get_OutVoltage() SELECT Case Combo3.Text Case "2Vp-p" OutVoltage = &H0 Case "1Vp-p" OutVoltage = &H6 Case "0.4Vp-p" OutVoltage = &H4 Case "0.2Vp-p" OutVoltage = &H2 End SELECT End Sub Private Sub Get_InGain() SELECT Case Combo4.Text Case "X1" InGain = &H1 Case "X5" InGain = &H0 End SELECT End Sub Private Sub Draw_Wave() Dim i As Integer For i = 2 To 500 Display.Line ((i - 1) * 10, Display.Height / 2 - Impedance(i - 1) * 500 / Ratio)-(i * 10, Display.Height / 2 - Impedance(i) * 500 / Ratio), Wave_Color Display.Line ((i - 1) * 10, Display.Height / 2 + 1500 - Phase(i - 1) * 100 / 9)-((i * 10), Display.Height / 2 + 1500 - Phase(i) * 100 / 9), Phase_Color Next i End Sub Private Sub About_Click() Load Form2 Form2.Show End Sub Private Sub COM1_Click() Call COM1_SELECT< |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |