- 相關(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ā)送和接收。關(guān)鍵詞:通訊 屬性 事件
前言
在采用以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ǔ)言就可以開(kāi)發(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),也可以打開(kāi)和關(guān)閉端口。
(4)Input 從接收緩沖區(qū)返回和刪除字符。該屬性在運(yùn)行時(shí)為只讀。
(5)InputLen 設(shè)置并返回每次Input屬性從接收緩沖區(qū)中讀取的字符數(shù)。InputLen屬性的缺省值為0。設(shè)置Input
[1] [2] [3] [4] [5]
【利用VB實(shí)現(xiàn)PC機(jī)與多單片機(jī)通訊】相關(guān)文章:
單片機(jī)串口通訊協(xié)議04-30
基因擴(kuò)增儀與PC機(jī)串口通信的設(shè)計(jì)與實(shí)現(xiàn)論文04-29
基于VB + MapObjects的土地利用動(dòng)態(tài)變化更新與實(shí)現(xiàn)04-26
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)05-02
汽車(chē)空調(diào)控制面板的單片機(jī)實(shí)現(xiàn)方案04-26
單片機(jī)實(shí)習(xí)報(bào)告01-09
單片機(jī)實(shí)習(xí)心得04-01
單片機(jī)原理簡(jiǎn)述05-01