<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用VB 編程語(yǔ)言實(shí)現PC機與AVR 單片機的通信

用VB 編程語(yǔ)言實(shí)現PC機與AVR 單片機的通信

作者: 時(shí)間:2013-12-09 來(lái)源:網(wǎng)絡(luò ) 收藏
0  引 言
在當今,網(wǎng)絡(luò )技術(shù)越來(lái)越多地應用在各個(gè)領(lǐng)域,微機技術(shù)及單片機也不斷發(fā)展,因此,目前大多數小型計算機監控系統都采用以PC 機和單片機構成的串行通信網(wǎng)絡(luò )來(lái)完成監控任務(wù)。其中,單片機主要進(jìn)行對數據的實(shí)時(shí)采集、處理,再通過(guò)串口將數據送入PC 機的緩沖區,然后由PC 機對數據進(jìn)行進(jìn)一步處理,以便得到所需的圖形、圖像及實(shí)驗結果。采用VB 語(yǔ)言中的通信控件能夠很好地完成二者之間的通信功能。
1  系統簡(jiǎn)介
本系統是一個(gè)小型的人體心電監測系統,將心電信號采出后經(jīng)過(guò)A/ D 轉換,由PC 機繪制出心電圖形,進(jìn)行實(shí)時(shí)顯示,便于醫護人員觀(guān)察和診斷,系統原理如圖1 所示。系統的下位機即單片機系統,將現場(chǎng)采集的信號經(jīng)A/ D 轉換送入系統上位機。系統上位機由一臺PC 機構成,采用Vi2sual Basic 編程,做出友好的界面風(fēng)格,可實(shí)時(shí)觀(guān)察心電信號。用VB 編程語(yǔ)言實(shí)現PC機與AVR 單片機的通信
圖1  系統原理圖
2  MSCOMM 控件功能介紹
VB 提供了一個(gè)基本通信控件MSCOMM32.OCX ,它具備串行通信的能力,可以通過(guò)串口接收
和傳輸數據。
CommPort :端口號,用于選擇通過(guò)哪個(gè)端口進(jìn)行通信。
InBufferCount :返回接收緩沖區中等待的字符數,可以通過(guò)置0 來(lái)清空緩沖區。
InBufferSize :設置并返回接收緩沖區的字節數。
Settings :設置并返回波特率、奇偶校驗、數位、停止位參數。通常設置為:“9 600 , n ,8 ,1”。
PortOpen :設置并返回通訊端口的狀態(tài)(開(kāi)或關(guān)) 。端口打開(kāi)后,可以直接讀寫(xiě)數據流。
Input :返回并刪除接收緩沖區中的數據流。
InputLen :設置并返回Input 屬性從接收緩沖區讀取的字符數。
InputMode :設置或返回Input 屬性取回的數據的類(lèi)型。
Output :往傳輸緩沖區寫(xiě)數據流。
3  通信協(xié)議
1) 上位機與下位機通信的數據格式均為起始位,命令碼,幀長(cháng),信息段,校驗和,停止位。
起始位與停止位標定一次發(fā)送,起始位以前和停止位以后的數據均視為干擾信號。
幀長(cháng)記錄了信息段和校驗和總共的字節數。
2) 所有的數據均按ASCII 碼(十六進(jìn)制) 操作。
3) 具體定義如下
信息中的每8 位(1 字節) 作為2 個(gè)字符發(fā)送。每8 位表示成16 進(jìn)制數,高4 位、低4 位分
別對應一個(gè)ASCII 字符0~9 、A~F。
本協(xié)議以“:”(ASCII 值為0X3A) 開(kāi)始,其次為命令碼:8 位、信息段:長(cháng)度由待發(fā)數據而定、校驗和:8 位,最后以“回車(chē)”或“換行”(ASCII值分別為0X0D、0X0A) 結束。其中,校驗和的計算方法為256 - [命令碼+信息段長(cháng)度] mod 256 (mod 表示求余) 。
根據功能不同設置了2 個(gè)命令碼10 (ASCII值分別為0X31 、0X30) 和11 (ASCII 值分別為0X31 、0X31) 。在起始符后即為命令碼,判斷該值,以便轉向相應的處理程序。
4  軟件實(shí)現
MSCOMM 控件的使用使得用戶(hù)不需要對通信底層進(jìn)行操作,簡(jiǎn)便而有效。它有事件驅動(dòng)和查詢(xún)2 種通信方式,由于本系統只是一個(gè)小型的監測系統,因此,采用查詢(xún)方式即可滿(mǎn)足要求。放置一個(gè)定時(shí)器,參數設定為500 ms ,即每0. 5 s 檢測一次緩沖區,將數據讀入。

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


數字通信相關(guān)文章:數字通信原理


通信相關(guān)文章:通信原理



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>