關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 數字溫度傳感器DS18B20的原理與應用

        數字溫度傳感器DS18B20的原理與應用

        作者: 時間:2010-04-02 來源:網絡 收藏

        ;------------------------
        READ:CLREA
        MOVR6,#8;循環8次,讀一個字節
        RD11:CLRDAT
        MOVR4,#4
        NOP;低電平持續2μs
        SETBDAT;口線設為輸入
        RD12:DJNZR4,RD12
        ;等待8μs
        MOVC,DAT
        ;主機按位依次讀入的數據
        RRCA;讀取的數據移入A
        MOVR5,#30
        RD13:DJNZR5,RD13
        ;保證讀過程持續60μs
        DJNZR6,RD11
        ;讀完一個字節的數據,存入A中
        SETBDAT
        RET
        ;------------------------
        主機控制完成轉換必須經過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動開始轉換,再讀出轉換值。假設一線僅掛接一個芯片,使用默認的12位轉換精度,外接供電電源,可寫出完成一次轉換并讀取值子程序GETWD。

        本文引用地址:http://www.104case.com/article/163163.htm

        GETWD:LCALLINIT
        MOVA,#0CCH
        LCALLWRITE;發跳過ROM命令
        MOVA,#44H
        LCALLWRITE;發啟動轉換命令
        LCALLINIT
        MOVA,#0CCH;發跳過ROM命令
        LCALLWRITE
        MOVA,#0BEH;發讀存儲器命令
        LCALLWRITE
        LCALLREAD
        MOVWDLSB,A
        ;溫度值低位字節送WDLSB
        LCALLREAD
        MOVWDMSB,A
        ;溫度值高位字節送WDMSB
        RET
        ……

        子程序GETWD讀取的溫度值高位字節送WDMSB單元,低位字節送WDLSB單元,再按照溫度值字節的表示格式及其符號位,經過簡單的變換即可得到實際溫度值。

        如果一線上掛接多個DS18B20、采用寄生電源連接方式、需要進行轉換精度配置、高低限報警等,則子程序GETWD的編寫就要復雜一些,限于篇幅,這一部分不再詳述,請參閱相關內容。

        我們已成功地將DS18B20于所開發的“家用采暖洗浴器”控制系統中,其轉換速度快,轉換精度高,與微處理器的接口簡單,給硬件設計工作帶來了極大的方便,能有效地降低成本,縮短開發周期。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梁山县| 乳山市| 库车县| 中西区| 嵩明县| 双城市| 台东市| 金堂县| 平乡县| 新兴县| 梧州市| 松溪县| 巴中市| 高阳县| 乐平市| 沁阳市| 吴忠市| 浑源县| 隆回县| 双桥区| 赤水市| 田林县| 荣昌县| 汶上县| 北宁市| 昌江| 景泰县| 二手房| 屏山县| 肥东县| 甘谷县| 保靖县| 黄浦区| 疏勒县| 芜湖市| 黔江区| 佳木斯市| 梨树县| 武胜县| 阿拉尔市| 宿迁市|