中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      利用VB實現PC機與多單片機通訊

      時間:2024-08-10 20:10:12 理工畢業論文 我要投稿
      • 相關推薦

      利用VB實現PC機與多單片機通訊

      摘要:在Windows98下利用VB的串行通訊控件可實現PC機與多單片機之間的通訊。采用定時器控制大大加快了自動化進程,克服了往多“握手”協議造成的通訊速度緩慢的缺點。本文以PS1016單片機為例,詳細介紹了PC機與單片機之間的串行通訊、數據的發送和接收。

      前言

      在采用以PC機為控制中心的數據采集自動化控制系統中,通常需要單片機采集數據,然后用異步串行通訊方式傳給PC機,PC對單片機進行定時控制,需要多個單片機協同工作。如果系統不很復雜,可通過定時器控件控制收發過程,在必要的地方自動接收裝置,使定時控制和通訊過程完美地結合起來。這樣,可以免去“握手”協議的繁瑣過程,簡化編程,提高速度。VB具有面向對象的設計方法,友好的用戶界面,簡單方便的串行通訊和實用性強等優點,無論借用其他語言就可以開發出優秀的控制系統通訊軟件。本文介紹在Windows 98環境下如何利用VB來實現PC機與多個PS1016單片機之間的串行通訊。

      VB環境下通訊程序的設計

      VB提供了串行端口控制Mscomm來為應用程序提供串行通訊。該控件屏蔽了通信過程中的底層操作,程序員可以設置、監視Mscomm控件的屬性和事件,結合Timer控件即可完成對串行口的初始化和數據的輸入輸出工作。Mscomm控件的主要屬性如下:

      (1)Commport 設置并返回通訊端口號。端口號可以設置為1~16的任何數,如Mscomm.Commport=2表示設置當前通訊端口為COM2。

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

      (3)Portopen 設置并返回通訊端口的狀態,也可以打開和關閉端口。

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

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

      (6)Output 向傳送緩沖區寫數據。要傳送的數據可是文本數據或二進制數據。

      (7)CommEvent 返回最近的通訊事件或錯誤。只要有通訊錯誤或事件發生錯誤時就會產生Oncomm事件。CommEvent屬性中存有該錯誤或事件的數值代碼。

      Timer控件的主要屬性如下:

      (1)Enabled 返回或設置一個值,該值用來確定一個窗體或控件否能夠對用戶產生的事件作出反應。通過把Enabled設置為“Galse”來使Timer控件成為無效,將取消由控件的Interval屬性所建立的倒計時數。

      (2)Interval 返回或設置對Timer控件的計時事件調用間的毫秒數。Timer控件的Enabled屬性決定該控件是否對時間的推移作出響應。將Enabled設置為“False”會關閉Timer控件,設置為“True”則打開Timer控件。當Timer控件置為有效時,倒計時總是從其Interval屬性設置值開始。創建Timer事件程序。可通知VB在每次Interval到時該做什么。Timer控件和Enabled屬性設置為“True”時,VB將在Interval時間到后自動訪問Timer_Timer過程。

      為實現通訊程序,須在VB開發環境下設置一個用做控制通訊的窗體。窗體上主要有一個通訊控件Mscomml和兩個Timer控件。VB的特點是事件驅動,定時器控件會定時觸發相應事件的驅動程序。

      1.發送單片機命令

      為了使主機能夠對整個檢測過程進行實時控制,須要在發送命令以后設定等待的時間,也可以通過條件判斷下一步是發達還是接收命令。對發送的命令,可能是文本方式或二進制代碼。在發送二進制代碼時,應特別注意發送的格式。

      發送命令過程是一個帶參過程,這樣可使發送命令簡便易行。具體程序如下:

      Sub發送單片機命令過程(command As Byte)

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

      DoEvents

      輸出命令(1)=command

      MSComm1.OutBufferCount=0

      MSComm1.Output=輸出命令

      MSComm1.InBufferCount=0

      End Sub

      2.接收數據

      接收數據是一個被動的過程,可以通過函數來實現,由定時器開啟。在接收過程中,多數用特征字符,如“OK”、“#”等。這些需要在通訊協議中約定。

      Function接收數據()

      Do

      DoEvents

      In_buffer $=In_buffer$

      【利用VB實現PC機與多單片機通訊】相關文章:

      用PComm開發PC機與單片機的通信程序03-19

      利用VB的MSComm控件實現GPS數據采集03-07

      單片機實現對CF卡的讀寫03-18

      用CPLD實現單片機讀寫模塊03-20

      利用GP-IB接口和單片機系統實現光功率的自動智能檢測03-18

      HMAC認證協議的單片機實現03-18

      采用多單片機的液位監控儀12-05

      電子車速里程表的單片機實現方案03-21

      用單片機實現SRAM工藝FPGA的加密應用03-19

      主站蜘蛛池模板: 视频二区 无码中出| 不卡的亚洲av网在线| 亚洲专区中文在线第一页| 中文字幕一区韩国三级| 无码高潮少妇毛多水多水免费| 灌云县| 平昌县| 国产高清一级毛片在线看 | 成人无码无遮挡很H在线播放| 国产精品不卡无码AV在线播放| 免费国产调教视频在线观看 | 国产精品白浆一区二区三区| 太大太粗太爽免费视频| 在线观看极品裸体淫片av| 滕州市| 城口县| 花垣县| 大悟县| 东源县| 沙雅县| 日本口爆吞精在线视频| 中文字幕乱码中文乱码毛片| 邯郸县| 平遥县| 手机免费在线观看av网站| 阜新市| 第九色区Aⅴ天堂| 河西区| 看黄色亚洲看黄色亚洲| 临城县| 亚洲成a人片在线观看高清| 尉氏县| 牙克石市| 国产精品毛片99久久久久| 精品午夜一区二区三区| 日韩精品国产一区二区| 国产午夜精品视频在线播放| 最新国产精品精品视频| 国产免费自拍av一区| 国产日产亚洲系列av| 成人自拍视频国产一区|