新聞中心

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天等县| 剑阁县| 宁陕县| 镇康县| 公主岭市| 赫章县| 鲜城| 怀仁县| 兴城市| 沧源| 石家庄市| 探索| 荣昌县| 淮安市| 景宁| 博爱县| 五原县| 施秉县| 汨罗市| 德惠市| 衡东县| 苏尼特右旗| 和平区| 从化市| 南木林县| 呼和浩特市| 贺州市| 离岛区| 邢台市| 抚顺县| 乾安县| 无棣县| 宁都县| 襄城县| 长兴县| 西丰县| 伊宁县| 谢通门县| 棋牌| 崇州市| 舒城县|