<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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


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


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


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


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



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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();