新聞中心

        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.104case.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,讀溫度時直接使用,簡化了任務。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台州市| 应用必备| 民丰县| 夏津县| 来宾市| 林口县| 沈阳市| 海原县| 广元市| 旌德县| 耒阳市| 嘉义市| 吴忠市| 桃园市| 宁河县| 黑龙江省| 黄浦区| 蛟河市| 虹口区| 辛集市| 和硕县| 五指山市| 永州市| 通河县| 新竹市| 德格县| 仙居县| 古蔺县| 奇台县| 东兰县| 额尔古纳市| 双牌县| 且末县| 临颍县| 内江市| 酒泉市| 元氏县| 闻喜县| 日照市| 株洲县| 象州县|