1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 利用VB實(shí)現(xiàn)PC機(jī)與多單片機(jī)通訊

        時(shí)間:2023-03-18 23:56:25 理工畢業(yè)論文 我要投稿
        • 相關(guān)推薦

        利用VB實(shí)現(xiàn)PC機(jī)與多單片機(jī)通訊

        摘要:在Windows98下利用VB的串行通訊控件可實(shí)現(xiàn)PC機(jī)與多單片機(jī)之間的通訊。采用定時(shí)器控制大大加快了自動(dòng)化進(jìn)程,克服了往多“握手”協(xié)議造成的通訊速度緩慢的缺點(diǎn)。本文以PS1016單片機(jī)為例,詳細(xì)介紹了PC機(jī)與單片機(jī)之間的串行通訊、數(shù)據(jù)的發(fā)送和接收。

        前言

        在采用以PC機(jī)為控制中心的數(shù)據(jù)采集自動(dòng)化控制系統(tǒng)中,通常需要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給PC機(jī),PC對(duì)單片機(jī)進(jìn)行定時(shí)控制,需要多個(gè)單片機(jī)協(xié)同工作。如果系統(tǒng)不很復(fù)雜,可通過(guò)定時(shí)器控件控制收發(fā)過(guò)程,在必要的地方自動(dòng)接收裝置,使定時(shí)控制和通訊過(guò)程完美地結(jié)合起來(lái)。這樣,可以免去“握手”協(xié)議的繁瑣過(guò)程,簡(jiǎn)化編程,提高速度。VB具有面向?qū)ο蟮脑O(shè)計(jì)方法,友好的用戶界面,簡(jiǎn)單方便的串行通訊和實(shí)用性強(qiáng)等優(yōu)點(diǎn),無(wú)論借用其他語(yǔ)言就可以開發(fā)出優(yōu)秀的控制系統(tǒng)通訊軟件。本文介紹在Windows 98環(huán)境下如何利用VB來(lái)實(shí)現(xiàn)PC機(jī)與多個(gè)PS1016單片機(jī)之間的串行通訊。

        VB環(huán)境下通訊程序的設(shè)計(jì)

        VB提供了串行端口控制Mscomm來(lái)為應(yīng)用程序提供串行通訊。該控件屏蔽了通信過(guò)程中的底層操作,程序員可以設(shè)置、監(jiān)視Mscomm控件的屬性和事件,結(jié)合Timer控件即可完成對(duì)串行口的初始化和數(shù)據(jù)的輸入輸出工作。Mscomm控件的主要屬性如下:

        (1)Commport 設(shè)置并返回通訊端口號(hào)。端口號(hào)可以設(shè)置為1~16的任何數(shù),如Mscomm.Commport=2表示設(shè)置當(dāng)前通訊端口為COM2。

        (2)Setting 設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。格式為Mscomm.Setting=String。String是一個(gè)包含四部分的字符串:第一部分為波特率;第二部分為奇偶校驗(yàn),N表示不校驗(yàn),M表示符號(hào)校驗(yàn),E表示偶校驗(yàn),O表示奇校驗(yàn),S表示空格校驗(yàn);第三部分為數(shù)據(jù)位數(shù),其可選值為4,5,6,7,8;第四部分為停止位位數(shù),其可選值為1,1.5,2。Setting屬性的缺省值為“9600,N,8,1”。

        (3)Portopen 設(shè)置并返回通訊端口的狀態(tài),也可以打開和關(guān)閉端口。

        (4)Input 從接收緩沖區(qū)返回和刪除字符。該屬性在運(yùn)行時(shí)為只讀。

        (5)InputLen 設(shè)置并返回每次Input屬性從接收緩沖區(qū)中讀取的字符數(shù)。InputLen屬性的缺省值為0。設(shè)置InputLen為0時(shí),Input將讀取接收緩沖區(qū)的全部字符。

        (6)Output 向傳送緩沖區(qū)寫數(shù)據(jù)。要傳送的數(shù)據(jù)可是文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。

        (7)CommEvent 返回最近的通訊事件或錯(cuò)誤。只要有通訊錯(cuò)誤或事件發(fā)生錯(cuò)誤時(shí)就會(huì)產(chǎn)生Oncomm事件。CommEvent屬性中存有該錯(cuò)誤或事件的數(shù)值代碼。

        Timer控件的主要屬性如下:

        (1)Enabled 返回或設(shè)置一個(gè)值,該值用來(lái)確定一個(gè)窗體或控件否能夠?qū)τ脩舢a(chǎn)生的事件作出反應(yīng)。通過(guò)把Enabled設(shè)置為“Galse”來(lái)使Timer控件成為無(wú)效,將取消由控件的Interval屬性所建立的倒計(jì)時(shí)數(shù)。

        (2)Interval 返回或設(shè)置對(duì)Timer控件的計(jì)時(shí)事件調(diào)用間的毫秒數(shù)。Timer控件的Enabled屬性決定該控件是否對(duì)時(shí)間的推移作出響應(yīng)。將Enabled設(shè)置為“False”會(huì)關(guān)閉Timer控件,設(shè)置為“True”則打開Timer控件。當(dāng)Timer控件置為有效時(shí),倒計(jì)時(shí)總是從其Interval屬性設(shè)置值開始。創(chuàng)建Timer事件程序?赏ㄖ猇B在每次Interval到時(shí)該做什么。Timer控件和Enabled屬性設(shè)置為“True”時(shí),VB將在Interval時(shí)間到后自動(dòng)訪問(wèn)Timer_Timer過(guò)程。

        為實(shí)現(xiàn)通訊程序,須在VB開發(fā)環(huán)境下設(shè)置一個(gè)用做控制通訊的窗體。窗體上主要有一個(gè)通訊控件Mscomml和兩個(gè)Timer控件。VB的特點(diǎn)是事件驅(qū)動(dòng),定時(shí)器控件會(huì)定時(shí)觸發(fā)相應(yīng)事件的驅(qū)動(dòng)程序。

        1.發(fā)送單片機(jī)命令

        為了使主機(jī)能夠?qū)φ麄(gè)檢測(cè)過(guò)程進(jìn)行實(shí)時(shí)控制,須要在發(fā)送命令以后設(shè)定等待的時(shí)間,也可以通過(guò)條件判斷下一步是發(fā)達(dá)還是接收命令。對(duì)發(fā)送的命令,可能是文本方式或二進(jìn)制代碼。在發(fā)送二進(jìn)制代碼時(shí),應(yīng)特別注意發(fā)送的格式。

        發(fā)送命令過(guò)程是一個(gè)帶參過(guò)程,這樣可使發(fā)送命令簡(jiǎn)便易行。具體程序如下:

        Sub發(fā)送單片機(jī)命令過(guò)程(command As Byte)

        Dim輸出命令(1 To 1)As Byte

        DoEvents

        輸出命令(1)=command

        MSComm1.OutBufferCount=0

        MSComm1.Output=輸出命令

        MSComm1.InBufferCount=0

        End Sub

        2.接收數(shù)據(jù)

        接收數(shù)據(jù)是一個(gè)被動(dòng)的過(guò)程,可以通過(guò)函數(shù)來(lái)實(shí)現(xiàn),由定時(shí)器開啟。在接收過(guò)程中,多數(shù)用特征字符,如“OK”、“#”等。這些需要在通訊協(xié)議中約定。

        Function接收數(shù)據(jù)()

        Do

        DoEvents

        In_buffer $=In_buffer$

        【利用VB實(shí)現(xiàn)PC機(jī)與多單片機(jī)通訊】相關(guān)文章:

        利用電力線實(shí)現(xiàn)住宅智能化06-13

        小型熱水鍋爐單片機(jī)溫度控制系統(tǒng)(一)08-10

        用PC測(cè)量交變磁場(chǎng)05-11

        土地可持續(xù)利用探析05-27

        都市頻道制作網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)05-29

        施肥機(jī)的開題報(bào)告10-20

        檔案利用數(shù)據(jù)統(tǒng)計(jì)與實(shí)際效益05-12

        基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)08-05

        善的意志有多善?05-29

        淺析提高VB程序設(shè)計(jì)課堂教學(xué)效果之我見08-09

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>