中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 經(jīng)典數(shù)字溫度傳感器DS18B20試驗

        經(jīng)典數(shù)字溫度傳感器DS18B20試驗

        作者: 時間:2013-01-15 來源:網(wǎng)絡(luò) 收藏

        測溫實驗原理圖見下面圖3

        圖3

        新建Keil工程ds18sy.UV2,輸入下面的測溫實驗源程序,編譯得到HEX格式目標(biāo)文件ds18sy.hex。

        ;--------- 下面是測溫實驗源程序 ---------

            ORG  0000H
        START: MOV  SP,#60H     ;開機(jī)初始化
            MOV  P0,#0FFH
            MOV  P1,#0FEH
            MOV  P2,#0FFH
            MOV  P3,#0FFH

        MAIN:  LCALL  GET_TEMPER   ;調(diào)用讀溫度子程序
            LCALL  DISP      ;調(diào)用數(shù)碼管顯示子程序
            AJMP  MAIN      ;重復(fù)循環(huán)

        ;------ 讀DS18B20傳感器的溫度值 ------
        GET_TEMPER:
            SETB  P3.3
            LCALL  RST18B20    ;復(fù)位DS18B20
            JB    00H,DSS2
            RET
        DSS2:  MOV   A,#0CCH    ;跳過ROM匹配
            LCALL  WR18B20
            MOV   A,#44H     ;向DS18B20發(fā)出溫度轉(zhuǎn)換命令
            LCALL  WR18B20
            LCALL  RST18B20    ;準(zhǔn)備讀溫度前先復(fù)位DS18B20
            MOV   A,#0CCH    ;跳過ROM匹配
            LCALL  WR18B20
            MOV   A,#0BEH    ;向DS18B20發(fā)出讀溫度命令
            LCALL  WR18B20
            LCALL  RE18B20    ;讀出溫度數(shù)據(jù)
            RET

        ;------ DS18B20復(fù)位初始化程序 ------
        RST18B20:
            SETB  P3.3
            NOP
            CLR   P3.3
            MOV   R0,#06BH    ;主機(jī)發(fā)出復(fù)位低脈沖
            MOV   R1,#03H
        DSR1:  DJNZ  R0,DSR1
            MOV   R0,#6BH
            DJNZ  R1,DSR1
            SETB  P3.3      ;拉高數(shù)據(jù)線
            NOP
            NOP
            NOP
            MOV   R0,#25H
        DSR2:  JNB   P3.3,DSR3    ;等待DS18B20回應(yīng)
            DJNZ  R0,DSR2
            LJMP  DSR4
        DSR3:  SETB  00H       ;置標(biāo)志位,表示DS1820存在
            LJMP  DSR5
        DSR4:  CLR   00H        ;清標(biāo)志位,表示DS1820不存在
            LJMP  DSR7
        DSR5:  MOV   R0,#06BH
        DSR6:  DJNZ  R0,DSR6     ;延時一段時間
        DSR7:  SETB  P3.3
            RET

        ;------ 寫DS18B20的子程序 ------
        WR18B20:
            MOV   R2,#8
            CLR   C
        WR1:  CLR   P3.3
            MOV   R3,#6
            DJNZ  R3,$
            RRC   A
            MOV   P3.3,C
            MOV   R3,#23
            DJNZ  R3,$
            SETB  P3.3
            NOP
            DJNZ  R2,WR1
            SETB  P3.3
            RET



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉