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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)與遠(yuǎn)程PC機(jī)間建立通信的方法

          單片機(jī)與遠(yuǎn)程PC機(jī)間建立通信的方法

          作者: 時間:2011-08-29 來源:網(wǎng)絡(luò) 收藏
          2.2 系統(tǒng)軟件設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/172520.htm

            系統(tǒng)軟件框圖如圖4 所示。它是由延時、數(shù)據(jù)采集、數(shù)碼顯示、十六進(jìn)制轉(zhuǎn)ASCII 碼、數(shù)據(jù)協(xié)議、數(shù)據(jù)發(fā)送等6 個模塊組成。

            

          系統(tǒng)軟件框圖

            下面將各個模塊的功能進(jìn)行簡單概述:

            1) 延時模塊。本模塊完成的功能為延時1 s。利用定時器0 溢出中斷完成。

            2) 數(shù)據(jù)采集模塊。每隔一秒對ADC0809 中的一路數(shù)據(jù)進(jìn)行采樣,然后將其保存在數(shù)據(jù)緩沖區(qū)中。

            3) 數(shù)碼顯示模塊。當(dāng)ADC0809 中與一路數(shù)據(jù)被采集完畢后,共陰級八段數(shù)碼管顯示當(dāng)前ADC0809 中通道路數(shù),以及當(dāng)前路數(shù)的數(shù)據(jù)值。

            4)十六進(jìn)制轉(zhuǎn)ASCII 碼模塊。本子程序完成的功能是把十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII 碼。

            5) 數(shù)據(jù)協(xié)議模塊。本程序完成的功能是將要發(fā)送的ASCII 碼數(shù)據(jù)實(shí)現(xiàn)幀封裝,定義數(shù)據(jù)包的頭和尾,以及中間分隔符,起始字符為“! ”,結(jié)束字符為“#”。中間分隔符號為“+”,為方便上位機(jī)接收和存儲發(fā)送的采集數(shù)據(jù)。

            6) 數(shù)據(jù)發(fā)送模塊。本程序完成的功能是將數(shù)據(jù)包發(fā)送到串口服務(wù)器上。

            2.3 軟件流程圖

            系統(tǒng)的工作原理是系統(tǒng)上電后的, 首先進(jìn)行初始化,包括設(shè)置波特率為9600bps,定時器工作方式,串行口工作方式, 開定時中斷等。然后對八路通道進(jìn)行循環(huán)采集、顯示,最后進(jìn)行數(shù)據(jù)處理,將處理后的數(shù)據(jù)存入緩沖區(qū), 然后由串行口發(fā)送數(shù)據(jù)。流程圖如圖5所示。

            

          系統(tǒng)軟件設(shè)計(jì)流程圖

            3 結(jié)束語

            本文所設(shè)計(jì)的方案,采用和串口服務(wù)器,既可以完成數(shù)據(jù)采集, 又可以將數(shù)據(jù)封裝向Internet 發(fā)送,電路結(jié)構(gòu)簡單,實(shí)用性強(qiáng),非常適用于遠(yuǎn)距離、偏遠(yuǎn)地點(diǎn)的數(shù)據(jù)終端采集工作, 是數(shù)據(jù)網(wǎng)絡(luò)連接的一種可行性解決方案。


          上一頁 1 2 下一頁

          評論


          相關(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); })();