999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用MsComm實現(xiàn)單片機與PC機的串行通信

2010-12-31 00:00:00劉艷,張文超,龍云玲
電腦知識與技術 2010年21期

摘要:單片機與PC機的串行通信在許多領域得到了廣泛的應用。通常單片機完成數(shù)據(jù)的采集,然后用異步串行通信方式傳給PC機。文章主要介紹在VB6.0環(huán)境下,利用通信控件MSComm來實現(xiàn)單片機與PC機串行通信的方法。

關鍵詞:串行通信;通信控件Mscomm;單片機;PC機;VB6.0

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)21-5827-02

Serial Communication between Single-chip Computer and PC Based on Mscomm

LIU Yan, ZHANG Wen-chao, LONG Yun-ling

(Faculty of Life Science and Technology, Xinxiang Medical University, Xinxiang 453003, China)

Abstract: Serial communication between Single-Chip computer and PC has been widely used in many areas. It demands Single-Chip computers to acquire and convert data to PC using asynchronous serial communication. This paper mainly describes the method of serial communication between Single-Chip computer and PC based on communication control MScomm in VB6.0.

Key words: serial communication; sommunication control Mscomm; single chip computer; PC; VB6.0

目前,采用單片機與PC構成的自動化控制系統(tǒng),被廣泛用于工業(yè)控制、智能儀器儀表、遠程控制等領域。單片機價格低、體積小、控制功能強,靈活性高,將其用于控制過程中,可提高系統(tǒng)的自動化程度。通常由單片機采集數(shù)據(jù),再用異步串行通訊方式傳給PC機進行控制。利用VB中的通信控件MsComm可實現(xiàn)單片機與PC機間的串行通信。

1 串行通信

串行通信是將傳輸?shù)臄?shù)據(jù)分解成二進制位,用一條信號線,一位一位順序傳輸?shù)姆绞健>哂芯€路簡單、使用靈活方便、遵循統(tǒng)一的標準、數(shù)據(jù)傳輸可靠等優(yōu)點。大多數(shù)PC機都提供兩個串行端口COM1和COM2,采用RS-232邏輯電平,-3~-25V的電平表示邏輯1;+ 3~+ 25V的電平表示邏輯0。由于單片機采用TTL電平,與PC機的RS-232電平不兼容,因此要實現(xiàn)單片機與PC機之間的數(shù)據(jù)通信,需進行電平轉(zhuǎn)換。采用MAXIM公司的MAX232芯片可方便實現(xiàn)電平轉(zhuǎn)換。單片機的串口經(jīng)MAX232轉(zhuǎn)換后, 與PC串口相連,簡單連接只采用RS–232接口中的3根線,即RXD,TXD,GND。一方RXD與另一方TXD交叉互連,通信雙方共地,就可實現(xiàn)二者間的串行通信。

2 MSComm通信控件

在PC機中采用VB6. 0作為上位機開發(fā)軟件,VB6. 0提供了功能強大的通信控件MSComm,可實現(xiàn)串行數(shù)據(jù)的發(fā)送和接收。該控件屏蔽了大部分串行通信的底層操作,編程人員只需操作MSComm控件即可,使用非常方便。

2.1 通信方式

MSComm控件提供下列兩種處理通訊的方式,事件驅(qū)動方式和查詢方式。

1)事件驅(qū)動方式:當串口發(fā)送數(shù)據(jù)、接收數(shù)據(jù)或產(chǎn)生錯誤時,觸發(fā)MSComm控件,產(chǎn)生OnComm事件。采用這種方式程序響應及時, 從而降低了數(shù)據(jù)傳輸?shù)腻e誤發(fā)生率,是處理串行通信問題的一種非常有效的方法。

2)查詢方式:在程序中通過查詢MSComm控件的屬性值是否發(fā)生變化,來檢測通信事件和錯誤,從而進行相應的處理。此方式常用于較簡單的程序設計中。

2.2 Mscomm控件的屬性

利用MSComm控件實現(xiàn)串行通信的關鍵是正確設置其屬性,常用的屬性介紹如下。

1)Commport: 設置并返回PC機串行端口號。

2)Portopen: 設置并返回串行端口的狀態(tài),用于打開或關閉串口。

3)Settings: 以字符串形式設置并返回串行通信參數(shù),即波特率、奇偶校驗、數(shù)據(jù)位、停止位。

4)Input: 從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū)。

5)InputMode: 設置并返回接收數(shù)據(jù)的類型可以是二進制格式或文本形式。

6)Output: 向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù)。

7)Rthreshold: 引發(fā)接收事件的字節(jié)數(shù),為0時不引發(fā)接收事件。當接收緩沖區(qū)中字符數(shù)達到該值時,MSComm控件設置Commevent屬性為ComEvReceive,并產(chǎn)生OnComm事件。若Rthreshold屬性設置為0,則不會產(chǎn)生OnComm事件。

8)Sthreshold: 引發(fā)發(fā)送事件的字節(jié)數(shù),為0時不引發(fā)發(fā)送事件。當發(fā)送緩沖區(qū)中字符數(shù)小于該值時,MSComm控件設置CommEvent屬性為ComEvSend,并產(chǎn)生OnComm事件。若Sthreshold屬性設置為0,也不會產(chǎn)生OnComm事件。

9)CommEvent: 當串口發(fā)生通信事件或產(chǎn)生錯誤時,CommEvent屬性值將被改變,同時產(chǎn)生OnComm事件。

3 單片機與PC機串口的通信

單片機通過串口與PC機進行通信,采用RS-232標準接口。單片機端通過它的串口,將數(shù)據(jù)傳到PC機串口,PC機端通過VB程序中的MSComm控件接收來自串口的數(shù)據(jù)。PC機程序控制的核心問題是對MSComm串行通信控件的控制。

3.1 MSComm控件的初始化

首先在Form-Load窗體加載程序中實現(xiàn)串口的初始化,包括選擇和打開串口,設置串口波特率和通信方式。初始化代碼如下:

Private Sub Form- Load ( )

MSComm1.CommPort = 1 ’選擇串口1

MSComm1.PortOpen = True’打開串口

MSComm1.Settings =“9600 , n ,8 ,1” ’設定波特率為9600,無校驗,8位數(shù)據(jù)位

MSComm1.Inputmode = comInputModeBinary’返回數(shù)據(jù)為二進制形式

MSComm1.InputLen = 0’讀取接收緩沖區(qū)的所有字符

End Sub

3.2 數(shù)據(jù)的接收和發(fā)送

用VB6.0實現(xiàn)串行通信,主要是利用Mscomm控件的Input和Output屬性進行數(shù)據(jù)的接收和發(fā)送。用Input屬性從通信控件的緩沖區(qū)中獲取數(shù)據(jù),每接收一個字節(jié)的數(shù)據(jù),InBufferCount屬性值加1,以便獲得所接收的字節(jié)總數(shù)。若InBufferCount的值設為0,將清空接收緩沖區(qū)。在接收數(shù)據(jù)時,當接收緩沖區(qū)有Rthreshold個數(shù)據(jù),CommEvent屬性被置為comEvReceive,并觸發(fā)OnComm事件,用戶可捕獲該事件進行處理。

4 結論

采用VB6.0為開發(fā)工具,在通信控件Mscomm屬性設置和事件響應的基礎上,實現(xiàn)單片機與PC機間的串行通信。把單片機采集的數(shù)據(jù)經(jīng)過RS–232串行口傳到PC機,再利用PC機強大的數(shù)據(jù)分析、處理、存儲及顯示能力,構成功能完善的現(xiàn)代自動化測控系統(tǒng)。

參考文獻:

[1] 范逸之,陳之元,孫德萱.利用Visual Basic實現(xiàn)串并行通信技術[M].北京:清華大學出版社,2002.

[2] 劉艷美,姜波.VB實現(xiàn)PC與單片機的串行通信[J].自動化技術與應用,2007,26(11):94-96

[3] 唐娟,郭文成.基于VB6.0的PC與單片機的串行通信[J].現(xiàn)代計算機,2007,6:89-90.

[4] 李江全,張麗,岑紅蕾.Visual Basic串口通信與測控應用技術實戰(zhàn)詳解[M].北京:人民郵電出版社,2008.

[5] 馬壯,吳錚,王永強.基于VB的PC與單片機串行通信系統(tǒng)研究與實現(xiàn)[J].唐山學院學報,2008(7):23-24.

[6] 張友生.系統(tǒng)分析與設計[M].北京:清華大學出版社,2005.

[7] 王圓妹,許勁,李濤.基于VB實現(xiàn)PC 機與單片機的串行通信[J].中國科技信息,2006(22):127-128.

[8] 黃興琦,陳初開,丁一軍.單片機與WINDOWS下PC機的串口通信研究[J].儀器儀表用戶,2007,14(4):79-80.

主站蜘蛛池模板: 日韩AV无码免费一二三区| 欧美成人午夜在线全部免费| 亚洲国产综合自在线另类| 日韩毛片视频| 成人中文在线| 一区二区在线视频免费观看| 97在线免费视频| 国产精品太粉嫩高中在线观看| 欧美伦理一区| 国产欧美精品一区aⅴ影院| 日韩精品无码免费一区二区三区 | 久久公开视频| 国产亚洲精品精品精品| 伊人AV天堂| 丁香综合在线| 国产在线精品99一区不卡| 成年A级毛片| 国产麻豆精品在线观看| 在线欧美国产| 无码国产伊人| 免费国产黄线在线观看| 91久久偷偷做嫩草影院| 久久人人97超碰人人澡爱香蕉| 怡春院欧美一区二区三区免费| 亚洲精品综合一二三区在线| 国产激情无码一区二区APP | 欧美日韩资源| 亚洲中文在线看视频一区| 欧美精品v| 3D动漫精品啪啪一区二区下载| 日本精品αv中文字幕| 伊人狠狠丁香婷婷综合色| 黄色不卡视频| 国产极品美女在线观看| 久久精品娱乐亚洲领先| 亚洲国产精品日韩欧美一区| 亚洲欧美不卡视频| 亚洲天堂视频在线播放| 手机精品福利在线观看| 国产成人综合亚洲欧美在| 全部毛片免费看| 麻豆国产精品视频| 99人妻碰碰碰久久久久禁片| 啊嗯不日本网站| 日韩在线成年视频人网站观看| 欧美午夜网| 欧美成a人片在线观看| 国产视频欧美| 麻豆精选在线| 丰满少妇αⅴ无码区| 国内精品久久人妻无码大片高| 国产永久在线视频| 国产精品久久精品| 国产无码性爱一区二区三区| 99人体免费视频| 亚洲精品在线91| 3344在线观看无码| 亚洲一区二区日韩欧美gif| 国产一区二区三区在线精品专区| 国产高清不卡| 欧美日本在线播放| 欧洲亚洲欧美国产日本高清| 欧美国产视频| 亚洲综合二区| 免费观看国产小粉嫩喷水| AV天堂资源福利在线观看| 日韩在线2020专区| 国产精品va免费视频| 欧美伦理一区| 国模私拍一区二区| 久久精品国产一区二区小说| 中国一级特黄视频| 久久久久久久蜜桃| 在线观看国产小视频| 国产亚洲欧美在线人成aaaa | 国产微拍精品| 亚洲二区视频| 欧美亚洲一区二区三区在线| 国产精品成人啪精品视频| 欧美色亚洲| 在线毛片网站| 中国一级毛片免费观看|