• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 電源與新能源 > 設計應用 > 基于MATLAB的蓄電池充放電監測系統

    基于MATLAB的蓄電池充放電監測系統

    作者: 時間:2012-03-07 來源:網絡 收藏

    其中A/D轉換比較簡單,不再贅述。主要注意一點,啟動A/D后要等待轉換完成再讀結果,否則讀出的是將上次轉換結果。
    e.jpg
    f.jpg
    3.2 DS18B20程序
    DS18B20的操作分為3個步驟:初始化、ROM命令和DS18B20功能命令。DS18B20的操作時序如圖5所示。從時序圖中可以得出,DS18B20對操作時序要求比較嚴格,否則將導致操作失敗。

    本文引用地址:http://www.czjhyjcfj.com/article/177783.htm

    g.jpg


    根據時序圖所示,每讀一位數據需要60us延時,為了延時精確,采用的方法是查看匯編語言,計算需要加入的空指令(NOP)個數。
    根據時序要求編寫代碼后,有如下統計,啟動溫度轉換時間約為2.5ms,讀溫度時間約為10.25ms,這些時間量都遠小于一個時間片(20ms)的長度,符合要求。為達到12位精度,器件手冊要求兩次啟動溫度轉換時間問隔不得低于750ms。溫度采集1s一次可以實現。讀取溫度任務流程圖如圖6所示。

    h.jpg


    圖6中,SenseNo是指DS18B20的序號,SENSE CNT為器件總數。讀取不同DS18B20的方法是器件自身的ID,這個ID可以通過程序讀出,但較為繁瑣。為了減輕程序的負擔,我們事先通過其他方式讀出每個器件的ID,讀溫度時直接使用,簡化了任務。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 三门县| 周口市| 新民市| 宁波市| 比如县| 铁力市| 苍溪县| 凉城县| 锡林郭勒盟| 鞍山市| 竹山县| 乐昌市| 绥宁县| 鲁山县| 汉沽区| 沙湾县| 留坝县| 山西省| 香格里拉县| 班戈县| 天气| 洪江市| 仁怀市| 灵武市| 永泰县| 西青区| 洮南市| 九台市| 河东区| 通道| 洮南市| 来安县| 随州市| 抚松县| 宣恩县| 水城县| 镇原县| 洞头县| 梅河口市| 蓝田县| 浠水县|