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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于串口通信的單片機(jī)仿真和C語(yǔ)言開發(fā)

          基于串口通信的單片機(jī)仿真和C語(yǔ)言開發(fā)

          作者: 時(shí)間:2012-08-28 來源:網(wǎng)絡(luò) 收藏

          5.2.3 讀溫子程序

          讀出溫度子程序的主要功能是讀出RAM 中的9 字節(jié),在讀出時(shí)需進(jìn)行CRC 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖5.3 示。

          圖5.3 讀溫子程序
          圖5.3 讀溫子程序

          5.2.4 溫度轉(zhuǎn)換命令子程序

          溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12 位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖5.4 所示。

          圖5.4 溫度轉(zhuǎn)換流程圖
          圖5.4 溫度轉(zhuǎn)換流程圖

          5.2.5 計(jì)算溫度子程序

          計(jì)算溫濕度子程序?qū)AM 中讀取值進(jìn)行BCD 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖5.5 所示。

          圖5.5 計(jì)算溫度流程圖
          圖5.5 計(jì)算溫度流程圖

          5.2.6 顯示數(shù)據(jù)刷新子程序

          顯示數(shù)據(jù)刷新子程序主要是對(duì)分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)標(biāo)志位位為1時(shí)將符號(hào)顯示位移入第一位。程序流程圖如圖5.6 所示。

          圖5.6 顯示數(shù)據(jù)刷新子程序
          圖5.6 顯示數(shù)據(jù)刷新子程序

          6 結(jié)論

          本系統(tǒng)的硬件采用模塊化設(shè)計(jì),以AT89C52 為核心,與LCD 顯示電路、串行口電路及DS18B20 溫度檢測(cè)電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個(gè)模塊:

          AT89C52 主控模塊、LCD 顯示模塊、串行口模塊、DS18B20 溫度檢測(cè)模塊等。其中AT89C52 主要完成外圍硬件的控制以及一些運(yùn)算功能,LCD 顯示模塊完成字符、數(shù)字的顯示功能、串行口模塊主要完成和PC 機(jī)之間的通信功能,DS18B20 溫度檢測(cè)模塊主要完成環(huán)境溫度檢測(cè)功能。


          上一頁(yè) 1 2 3 4 5 6 7 下一頁(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); })();