亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于串口通信的控制系統(tǒng)設(shè)計(jì)

        2016-09-23 17:17:23李志偉姚江敏
        科技與創(chuàng)新 2016年16期
        關(guān)鍵詞:串口通信

        李志偉 姚江敏

        摘 要:串口通信是計(jì)算機(jī)應(yīng)用中最常用的通信方式之一。針對常用的系統(tǒng)控制和數(shù)據(jù)傳輸問題,研究了VB環(huán)境下通信連接和信號控制的基本原理,提出了利用單向信號傳輸,通過MSComm控件實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)控制的設(shè)計(jì)思想。實(shí)踐應(yīng)用表明,軟件控制穩(wěn)定、可靠,具有很強(qiáng)的擴(kuò)展應(yīng)用價(jià)值。

        關(guān)鍵詞:串口通信;計(jì)算機(jī)系統(tǒng)控制;MSComm控件;單向信號

        中圖分類號:TP274.2 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2016.16.102

        在數(shù)據(jù)通信中,計(jì)算機(jī)系統(tǒng)之間的相互控制是計(jì)算機(jī)應(yīng)用的常見方式之一。雖然現(xiàn)代網(wǎng)絡(luò)技術(shù)、接口技術(shù)的飛速發(fā)展為數(shù)據(jù)通信提供了更加快捷、便利的途徑,但是,由于串口通信具有硬件成本低、協(xié)議透明、編程簡單等優(yōu)點(diǎn),所以,在計(jì)算機(jī)通信,尤其是數(shù)據(jù)采集、監(jiān)視及控制等領(lǐng)域,仍然具有很大的應(yīng)用潛力。

        1 VB環(huán)境下的串口通信

        1.1 串口通信

        在VB環(huán)境中,利用串口可以實(shí)現(xiàn)計(jì)算機(jī)設(shè)備之間的相互通信。通常情況下,主要有2種通信方式:①利用Windows提供的API函數(shù);②利用VB提供的MSComm控件。雖然前者實(shí)現(xiàn)方法簡單,但設(shè)計(jì)過程相對復(fù)雜,工作量比較大,對程序員有較高的要求。盡管后者實(shí)現(xiàn)過程比較復(fù)雜,但由于微軟對其處理過程進(jìn)行了封裝,并向用戶提供了方便的接口,因此,使用操作比較簡單,只需簡單地嵌入就能完成復(fù)雜的串口通信任務(wù),設(shè)計(jì)工作量比較小,效率較高,是程序設(shè)計(jì)比較理想的方法。

        1.2 MSComm控件

        MSComm是一種串行通信控件,它提供事件驅(qū)動(dòng)和檢查CommEvent屬性兩種處理通信的方式。在VB 6.0系統(tǒng)中,通過部件設(shè)置可以將該控件添加到工具箱中,以便在設(shè)計(jì)界面中引用,通過屬性設(shè)置和操作實(shí)現(xiàn)串口數(shù)據(jù)的發(fā)送和接收。

        在數(shù)據(jù)傳輸和控制應(yīng)用中,MSComm控件常用的屬性有以下幾點(diǎn):①CommPort,設(shè)置并返回通信端口號;②Settings, 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位和停止位;③PortOpen,設(shè)置并返回通信端口的狀態(tài)——打開或關(guān)閉;④Input,從接收緩沖區(qū)返回并刪除字符;⑤Output,向傳輸緩沖區(qū)寫一個(gè)字符串。

        2 串口通信的信號連接

        在臺(tái)式計(jì)算機(jī)后部面板上,通常有一兩個(gè)串行通信接口,其外部形狀為梯形公插頭結(jié)構(gòu),根據(jù)插針的數(shù)量可以分為25針和9針2種。前者多見于早期的AT架構(gòu)計(jì)算機(jī)。目前,ATX架構(gòu)計(jì)算機(jī)的串口均采用9針接口,其結(jié)構(gòu)如圖1所示。

        9針串口各引腳的功能分別為:載波檢測(DCD)、接收數(shù)據(jù)(RXD)、發(fā)送數(shù)據(jù)(TXD)、數(shù)據(jù)終端準(zhǔn)備好(DTR)、信號地(GND)、數(shù)據(jù)準(zhǔn)備好(DSR)、發(fā)送請求(RTS)、發(fā)送清除(CTS)、振鈴指示(RI)。

        通常情況下,在計(jì)算機(jī)之間進(jìn)行一般的數(shù)據(jù)傳輸時(shí),如果沒有特別要求,只要正確連接2,3,5引腳便可。其連接方法是:2臺(tái)計(jì)算機(jī)對應(yīng)串口的2,3引腳相互交叉,5引腳直接連通,具體如圖2所示。

        3 控制系統(tǒng)設(shè)計(jì)

        3.1 設(shè)計(jì)方法

        在設(shè)計(jì)控制系統(tǒng)時(shí),可以通過串口實(shí)現(xiàn)計(jì)算機(jī)之間的相互控制,其具體方法是:①從市場上購買一對如圖1所示的9針串口梯形母插頭,按照圖2所示的連接方法用信號線連接2個(gè)插頭;②選擇2臺(tái)需要互聯(lián)的計(jì)算機(jī)的空閑串口,用做好的串口連線連接;③選擇其中一臺(tái)計(jì)算機(jī)作為主控機(jī),另一臺(tái)作為被控機(jī);④在主控機(jī)上安裝并運(yùn)行主控程序,選擇連接的串行端口,由對應(yīng)的串口向被控機(jī)發(fā)送控制指令;⑤在被控機(jī)上安裝并運(yùn)行被控程序,選擇連接的串行端口,經(jīng)由對應(yīng)的串口等待并接收來自主控機(jī)的控制指令;⑥當(dāng)被控機(jī)串口接收到主控機(jī)發(fā)來的控制指令后,根據(jù)預(yù)設(shè)的指令功能執(zhí)行控制操作,實(shí)現(xiàn)系統(tǒng)控制。

        3.2 主控端程序設(shè)計(jì)

        假設(shè)需要通過主控機(jī)對被控機(jī)完成下列3項(xiàng)控制功能:打開媒體播放器、打開記事本、關(guān)閉計(jì)算機(jī),則主控機(jī)的控制指令可以通過2臺(tái)計(jì)算機(jī)的串口實(shí)現(xiàn)傳遞。因此,要先通過用戶界面選擇所使用的串行端口號,設(shè)計(jì)界面如圖3所示。

        為了實(shí)現(xiàn)串行通信的數(shù)據(jù)傳輸和端口控制,程序設(shè)計(jì)時(shí)需要在界面中添加一個(gè)MSComm控件,通過界面選擇通信用“串口號”,通過“打開串口”按鈕,打開對應(yīng)的串行端口。設(shè)MSComm控件的實(shí)例名為MSComm1,選擇的串口號為1,則相應(yīng)的設(shè)置語句為:MSComm1.CommPort=1,MSComm1.PortOpen = True.

        在圖3所示的樣例中,如果要“打開媒體播放器”,則點(diǎn)擊相應(yīng)的按鈕,通過執(zhí)行下列語句便可實(shí)現(xiàn)控制指令由主控機(jī)向被控機(jī)的發(fā)送:MSComm1.Output = "MediaPlayer".

        3.3 被控端程序設(shè)計(jì)

        被控端程序與主控端程序一樣,運(yùn)行時(shí)也要通過MSComm控件對端口進(jìn)行初始化操作——選擇端口、打開端口,然后定時(shí)檢測對應(yīng)串口的工作狀態(tài)。

        為了實(shí)現(xiàn)對端口狀態(tài)的檢測,需要增加一個(gè)定時(shí)器控件,定時(shí)檢測相應(yīng)串口是否有新的數(shù)據(jù)到達(dá),以便及時(shí)處理。定時(shí)時(shí)間可根據(jù)用戶需要設(shè)置。

        設(shè)程序中添加的定時(shí)器控件實(shí)例名為Timer1,則相應(yīng)的被控程序部分代碼如下:

        Private Sub Timer1_Timer()

        Dim Input_Data As String

        Input_Data = Trim(MSComm1.Input)

        Select Case Input_Data

        Case "MediaPlayer"

        Shell " C:\Program Files\Windows Media Player\wmplayer. exe", vbNormalNoFocus

        ……

        Case Else

        Exit Sub

        End Select

        End Sub

        在該程序運(yùn)行的過程中,當(dāng)接收到來自串口的一組數(shù)據(jù)時(shí),系統(tǒng)便自動(dòng)分析判斷。如果是一條預(yù)設(shè)的控制指令,則執(zhí)行對應(yīng)的功能,否則不予處理。在本例中,如果接收到的是一個(gè)字符串“MediaPlayer”,則程序通過shell語句直接調(diào)用,并執(zhí)行本機(jī)中的wmplayer.exe程序,打開媒體播放器。

        3.4 控制測試

        按照上述方法,用串行線連接好主控計(jì)算機(jī)和被控計(jì)算機(jī)相應(yīng)的串口1端口,打開2臺(tái)計(jì)算機(jī),在主控計(jì)算機(jī)上運(yùn)行測試程序,進(jìn)入圖3所示的控制界面,點(diǎn)擊“打開串口”按鈕。此時(shí),便建立了2臺(tái)計(jì)算機(jī)的通信連接。然后點(diǎn)擊“打開媒體播放器”按鈕,此時(shí),在被控計(jì)算機(jī)上便可自動(dòng)播放Windows系統(tǒng)自帶的媒體播放程序。同樣,在圖3界面中點(diǎn)擊“打開記事本”按鈕,也可以迅速控制被控計(jì)算機(jī)運(yùn)行記事本程序,實(shí)現(xiàn)預(yù)期的控制效果。

        多次試驗(yàn)表明,該程序運(yùn)行穩(wěn)定、可靠,在遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)中既簡單又實(shí)用,具有較高的應(yīng)用價(jià)值。

        3.5 說明

        采用串口通信實(shí)現(xiàn)計(jì)算機(jī)控制的關(guān)鍵是正確設(shè)置串口通信控件MSComm。在具體工作中,需要重點(diǎn)注意以下幾個(gè)方面的問題:①根據(jù)控制信號的物理連接,正確選擇并打開相應(yīng)的串行端口。②針對不同的終端設(shè)備,采用控件的Settings屬性正確設(shè)置數(shù)據(jù)傳輸?shù)牟ㄌ芈?、奇偶校?yàn)、數(shù)據(jù)位、停止位。在缺省的情況下,控件按默認(rèn)參數(shù)自動(dòng)設(shè)置。③當(dāng)系統(tǒng)需要通過串口傳輸大量數(shù)據(jù)時(shí),為了保證在緩沖區(qū)過載時(shí)數(shù)據(jù)不會(huì)丟失,需要通過控MSComm件的Handshaking屬性設(shè)置相應(yīng)的通信協(xié)議(即握手協(xié)議),通過控件的OnComm事件捕獲并處理相關(guān)的通信事件,檢查設(shè)備連接和通信是否正確,確??刂葡到y(tǒng)的穩(wěn)定、可靠。此時(shí),圖2所示連接的串行線已經(jīng)不能滿足需要,還需要正確連接RTS、CTS、DSR、DTR等信號線。

        4 結(jié)束語

        由此實(shí)例可知,利用串口通信的數(shù)據(jù)傳輸功能可以方便地實(shí)現(xiàn)計(jì)算機(jī)之間的系統(tǒng)控制。由于該方法硬件連接簡單,軟件設(shè)計(jì)靈活,可靠性高,因此,將其應(yīng)用于工業(yè)、家用電器、辦公等自動(dòng)化和嵌入式應(yīng)用中,可以快速實(shí)現(xiàn)數(shù)據(jù)采集和設(shè)備控制,具有廣闊的應(yīng)用前景。

        參考文獻(xiàn)

        [1]杜正杰,王衛(wèi)鋒.基于串口實(shí)現(xiàn)DCS數(shù)據(jù)的安全采集[J].測控技術(shù),2014,33(3):45-48.

        [2]劉建河,趙玉丹,張玉強(qiáng).基于LABVIEW串口通信的電機(jī)控制技術(shù)[J].制造業(yè)自動(dòng)化,2013,35(11):135-137.

        [3]李志偉,鐵躍煥,楊茂興.基于串行指令的紅外探測遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(4):1486-1490.

        [4]黃斌.基于串口通信的電腦遙控系統(tǒng)設(shè)計(jì)[J].測控技術(shù),2013,32(6):72-75.

        作者簡介:李志偉(1964—),男,河南宜陽人,副教授,CCF高級會(huì)員,主要研究方向?yàn)橛?jì)算機(jī)及其在航空武器裝備中的應(yīng)用。

        〔編輯:白潔〕

        猜你喜歡
        串口通信
        基于Android的電解質(zhì)分析儀設(shè)計(jì)與實(shí)現(xiàn)
        基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計(jì)
        串口通信在智能家居監(jiān)控系統(tǒng)中的應(yīng)用
        基于Python實(shí)現(xiàn)設(shè)備控制臺(tái)的集中控制和管理
        基于OpenCV的室內(nèi)照明智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        科技視界(2016年13期)2016-06-13 22:01:19
        基于Qt5的MODBUS協(xié)議編程與實(shí)現(xiàn)
        基于MSP430單片機(jī)的窄帶無線數(shù)據(jù)傳輸模塊的設(shè)計(jì)
        便攜式數(shù)傳電臺(tái)測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于MFC的AUV多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)及測試
        基于LabVIEW的溫度測量系統(tǒng)設(shè)計(jì)
        青青草免费手机视频在线观看| 日本不卡视频网站| 亚洲AV秘 无码一区二区三| 国产精品一区二区三区成人| 精品国产av一区二区三区四区| 最近中文字幕完整版免费| 伊人久久大香线蕉免费视频| 国产麻豆精品久久一二三| 国产性虐视频在线观看| 亚洲欧美乱日韩乱国产| 成熟丰满熟妇高潮xxxxx| 国产亚洲精品综合在线网址| 中文字幕日韩精品永久在线| 国产成人小视频| 小12箩利洗澡无码视频网站| 在线偷窥制服另类| 无人视频在线播放免费| 99热在线观看| 日韩精品无码久久久久久| 国产精品玖玖资源站大全| 一级黄色一区二区三区| 成在线人免费视频| 久久久精品3d动漫一区二区三区| 日韩精品极品在线观看视频| 国产不卡精品一区二区三区| 三年在线观看免费大全下载| 亚洲电影中文字幕| 国产女主播一区二区三区在线观看| 成人丝袜激情一区二区| 少妇厨房愉情理伦片免费| 亚洲va成无码人在线观看| 免费一区二区在线观看视频在线| 国产青榴视频在线观看| 午夜毛片午夜女人喷潮视频| 免费人成网在线观看品观网| av天堂午夜精品一区| aaaaa级少妇高潮大片免费看| 中文字幕第一页在线无码一区二区| 国产自拍偷拍视频免费在线观看| 中文亚洲av片在线观看| 久久综合亚洲色社区|