




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VB編寫上位機(jī)實(shí)例 用VB編寫上位機(jī)實(shí)例16:14:22 UTC+0800Sun Apr 1 2007 用VB6.0編寫第一個(gè)串口通信上位機(jī)程序Visual Basic6.0是一個(gè)可視化窗口環(huán)境的編程軟件,目前使用Visual Basic6.0可以快速簡(jiǎn)單編寫單片機(jī)中的串口通信上位機(jī)程序。 電子制作 HPOO下面我們以一個(gè)完整的通信試驗(yàn)為例子完成如何用Visual Basic6.0編寫單片機(jī)串口通信程序。打開安裝好后的Visual Basic6.0主程序界面。選擇“標(biāo)準(zhǔn)EXE”。如圖1顯示,建立Visual Basic的編程環(huán)境。 圖1在菜單的工程選項(xiàng)中選擇部件,如圖2。把Visual Bas
2、ic的串口通信控件Microsoft Comm control 6.0調(diào)入工作菜單。 圖2在打開部件對(duì)話框中,選擇Microsoft Comm control 6.0的選項(xiàng)框,點(diǎn)擊確定。圖3 圖3可以在圖示3中可以看通信控件Microsoft Comm control 6.0的文件是在C:WINNTsystem32MSCOMM32.OCX文件。如果大家在首次調(diào)用通信控件Microsoft Comm control 6.0控件時(shí)無法在控件對(duì)話框中找到,請(qǐng)直接在系統(tǒng)目錄中搜索名為MSCOMM32.OCX文件。然后通過瀏覽加入VB的工作界面中。添加完控件回到編程界面。如下圖4。 圖4通過右邊的菜單把
3、一些必要的控件放在窗體中。然后點(diǎn)擊窗體中的Timer控件按F4彈出屬性窗口進(jìn)行設(shè)置。其具體設(shè)置如下: Timer定時(shí)器控件設(shè)置屬性,(通過按F4鍵可彈出此窗口) Mscomm通信控件參數(shù)屬性設(shè)置(通過單擊控件的右鍵屬性可彈出此窗口) 本文用到的其他控件:CommandButton控件和TextBox控件按默認(rèn)屬性設(shè)置不變。 單片機(jī)編程器 HPOO以上設(shè)置完成,回到編程窗體區(qū)中,任意雙擊。會(huì)顯示Visual Basic的程序窗體的Load事件程序。在代碼窗口中輸入: 單片機(jī)編程器 HPOOPrivate Sub Form_Load() MSComm1.PortOpen = True '窗
4、體的加載時(shí),就打開通信端口,通信端口的參數(shù)也可以在此指定 Timer1.Enabled = Timer1.Enabled '窗體的加載時(shí),同時(shí)定時(shí)器控件事件End Sub 這樣設(shè)置目的是當(dāng)程序在打開是,首先打開通信控件MSComm,注意這里的串口通信參數(shù)中的波特率設(shè)置是默認(rèn)參數(shù)的。即:波特率:9600bps;校驗(yàn)位:無;數(shù)據(jù)位:8位;停止位:1。 電子元件郵購(gòu)網(wǎng)雙擊定時(shí)器控件Timer1同樣在定時(shí)器窗體的事件程序中,輸入相關(guān)代碼:Private Sub Timer1_Timer() If MSComm1.InBufferCount > 0 Then'程序檢查輸入緩沖區(qū)中是
5、否有數(shù)據(jù),若有數(shù)據(jù) Text1.Text = Text1.Text + MSComm1.Input'則將此數(shù)據(jù)讀取后,指定給文本框的Text屬性 End IfEnd Sub 最后雙擊CommandButton控件 ,在彈出的程序窗口事件中輸入如下代碼: Private Sub Command1_Click() MSComm1.PortOpen = False'關(guān)閉通信端口 End'結(jié)束系統(tǒng)End Sub 在這個(gè)窗口中MSComm1.PortOpen = False是當(dāng)程序停止或者關(guān)閉軟件時(shí)都應(yīng)該加上關(guān)閉串口。通過以上簡(jiǎn)單的代碼就實(shí)現(xiàn)了VB串口接收程序。編輯完成后,我們通
6、過Visual Basic菜單文件中的編譯來生產(chǎn)可執(zhí)行文件。如下圖: 這樣就產(chǎn)生完成程序整個(gè)步驟工作。下面將介紹通過單片機(jī)編程實(shí)現(xiàn)串口發(fā)送數(shù)據(jù)到上位機(jī)程序的窗口中顯示出來。同時(shí)通過PROTEUS仿真軟件的示波器來查看串口數(shù)據(jù)發(fā)送情況。MSCOMM串口控件數(shù)據(jù)接收方式:1、 在OnComm 事件中接收數(shù)據(jù): 這種方式能充分MSCOMM控件的特性。OnComm 事件還可以檢查和處理通訊錯(cuò)誤;可以通過檢查 CommEvent 屬性的值來查詢事件和錯(cuò)誤;對(duì)于不定長(zhǎng)數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行處理比較復(fù)雜的情況,此法不是很方便。 Private Sub MSComm_OnComm () Select Case M
7、SComm1.CommEvent '' 錯(cuò)誤 Case comEventBreak '' 收到 Break。 Case comEventCDTO '' CD (RLSD) 超時(shí)。 Case comEventCTSTO '' CTS Timeout。 Case comEventDSRTO '' DSR Timeout。 Case comEventFrame '' Framing Error Case comEventOverrun ''數(shù)據(jù)丟失。 Case comEventRxOver
8、''接收緩沖區(qū)溢出。 Case comEventRxParity'' Parity 錯(cuò)誤。 Case comEventTxFull ''傳輸緩沖區(qū)已滿。 Case comEventDCB ''獲取 DCB 時(shí)意外錯(cuò)誤 '' 事件 Case comEvCD '' CD 線狀態(tài)變化。 Case comEvCTS '' CTS 線狀態(tài)變化。 Case comEvDSR '' DSR 線狀態(tài)變化。 Case comEvRing '' Ring Indicato
9、r 變化。 Case comEvReceive '' 收到 RThreshold # of chars. Case comEvSend '' 傳輸緩沖區(qū)有 Sthreshold 個(gè)字符 '' Case comEvEof '' 輸入數(shù)據(jù)流中發(fā)現(xiàn) EOF 字符 End Select End Sub2.輪循法采集數(shù)據(jù):A、定時(shí)器輪循法 對(duì)于數(shù)據(jù)包方式收發(fā)數(shù)據(jù)以及不需即時(shí)響應(yīng)情況,用輪循法更好些。實(shí)際上輪循法最大的好處在于集中處理數(shù)據(jù)而且不太占用CPU。輪循法要注意定時(shí)采集的時(shí)間片段大?。贿@里用二進(jìn)制收發(fā)模式;使屬性RThreshold、
10、SThreshold為0,屏蔽ONCOMM事件。InputMode = comInputModeBinaryRThreshold = 0SThreshold = 0Private Sub TmrComm_Timer()''采用輪循法采集數(shù)據(jù) Dim Rx_buff() As Byte Dim okstring As String Dim ReceivedLen As Integer On Error GoTo ErrorHandler TmrComm.Enabled = False ''關(guān)閉定時(shí)器 If commport.InBufferCount > 0
11、 Then ReceivedLen = commport.InBufferCount Rx_buff = commport.Input okstring = StrConv(tempbyte, vbUnicode) If ReceivedLen = 6 Then If Chr(tempbyte(0) = ":" And tempbyte(3) = &h0a Then . End If If Instr(okstring ,":END*",vbBinaryCompare) Then . End If End If TmrComm.Enabled =
12、 True ''打開定時(shí)器End SubB、直接輪循法此法用于接收少量控制命令字;'' 保存輸入子串的緩沖區(qū) Dim Instring As String '' 使用 COM1。 MSComm1.CommPort = 1'' 9600 波特,無奇偶校驗(yàn),8 位數(shù)據(jù),一個(gè)停止位。MSComm1.Settings = "9600,N,8,1" '' 當(dāng)輸入占用時(shí),'' 告訴控件讀入整個(gè)緩沖區(qū)。 MSComm1.InputLen = 0 '' 打開端口。 MSComm1.PortOpen = True'' 將 attention 命令送到調(diào)制解調(diào)器。 MSComm1.Output = "ATV1Q0" & Chr$(13)'' 確保'' 調(diào)制解調(diào)器以"OK"響應(yīng)。 ''
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 修理廠和供貨商合同范本
- 公寓開荒保潔合同范本
- 加裝電梯加盟合同范本
- canying勞動(dòng)合同范本
- 剝離工程合同范本
- 保理 保證合同范本
- 養(yǎng)鵝訂單合同范本
- 中介居間服務(wù)合同范本
- 催收咨詢服務(wù)合同范例
- 加工制作維修合同范例
- 2022-2023學(xué)年江蘇省揚(yáng)州市普通高校高職單招綜合素質(zhì)測(cè)試題(含答案)
- 小學(xué)科學(xué)教科版三年級(jí)下冊(cè)全冊(cè)課課練習(xí)題(2023春)(附參考答案)
- DB37T 4242-2020水利工程建設(shè)項(xiàng)目代建實(shí)施規(guī)程
- 學(xué)生班級(jí)衛(wèi)生值日表模板下載
- 《是誰覺醒了中國(guó)》
- 勞務(wù)派遣服務(wù)方案與服務(wù)流程圖
- 初一經(jīng)典、勵(lì)志主題班會(huì)PPT(共63張PPT)
- 兒童血尿的診斷思路
- 2022立足崗位秉承工匠精神PPT課件模板
- 第六章-政策過程及其理論模型-《公共政策學(xué)》課件
- 《行政組織學(xué)通論》配套教學(xué)課件
評(píng)論
0/150
提交評(píng)論