在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)實(shí)驗(yàn)板DS18B20測(cè)溫程序

            51單片機(jī)實(shí)驗(yàn)板DS18B20測(cè)溫程序

            作者: 時(shí)間:2012-12-05 來(lái)源:網(wǎng)絡(luò) 收藏

            ;-------------------------------------------------
            ;寫的子程序(有具體的時(shí)序要求)
            WRITE_1820:MOV R2,#8 ;一共8位數(shù)據(jù)
            CLR C
            WR1:CLR DQ
            MOV R3,#6
            DJNZ R3,$
            RRC A
            MOV DQ,C
            MOV R3,#23
            DJNZ R3,$
            SETB DQ
            NOP
            DJNZ R2,WR1
            SETB DQ
            RET

            ;-------------------------------------------------
            ;讀的程序,從中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)
            READ_1820:MOV R4,#2 ;將溫度高位和低位從DS18B20中讀出
            MOV R1,#DI_8BIT ;低位存入DI_8BIT,高位存入GAO_8BIT
            RE0:MOV R2,#8 ;數(shù)據(jù)一共有8位
            RE1:CLR C
            SETB DQ
            NOP
            NOP
            CLR DQ
            NOP
            NOP
            NOP
            SETB DQ
            MOV R3,#9
            RE2:DJNZ R3,RE2
            MOV C,DQ
            MOV R3,#23
            RE3:DJNZ R3,RE3
            RRC A
            DJNZ R2,RE1
            MOV @R1,A
            INC R1
            DJNZ R4,RE0
            /* DEC R1
            MOV A,GAO_8BIT
            XCHD A,@R1
            XCH A,@R1
            MOV GAO_8BIT,A
            MOV A,@R1
            SWAP A
            MOV @R1,A */
            RET
            ;-------------------------------------------------
            ;讀出后轉(zhuǎn)換的溫度值
            ZHUANHUAN:
            //SETB DQ
            LCALL INIT_1820 ;先復(fù)位DS18B20
            JB F0,ZH1
            RET ;判斷DS1820是否存在?若DS18B20不存在則返回
            ZH1:MOV A,#0CCH ;跳過(guò)ROM匹配
            LCALL WRITE_1820
            MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令
            LCALL WRITE_1820
            LCALL DISPLAY ;等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒
            LCALL INIT_1820 ;準(zhǔn)備讀溫度前先復(fù)位
            MOV A,#0CCH ;跳過(guò)ROM匹配
            LCALL WRITE_1820
            MOV A,#0BEH ;發(fā)出讀溫度命令
            LCALL WRITE_1820
            LCALL READ_1820
            RET
            ;-------------------------------------------------
            ;數(shù)據(jù)處理子程序
            CHULI:
            MOV P0,GAO_8BIT
            MOV P2,DI_8BIT
            MOV A,GAO_8BIT
            JB ACC.7,FU
            MOV A,DI_8BIT
            MOV B,#16
            DIV AB

            MOV 35H,A ;將DI_8BIT的高四位右移四位,存入35H中(溫度值)
            MOV A,B ;將TEMPER_L的低四位X10/16得小數(shù)后一位數(shù).
            MOV B,#10
            MUL AB
            MOV B,#16
            DIV AB
            MOV 36H,A ;將小數(shù)后一位數(shù).存入36H中
            MOV A,GAO_8BIT ;TEMPER_H中存放高8位數(shù),權(quán)重16
            MOV B,#16
            MUL AB
            ADD A,35H ;35H中存入溫度值的整數(shù)部分
            MOV B,#10
            DIV AB
            MOV GE_BIT,B ;個(gè)位存入30H中
            MOV B,#10 ;
            DIV AB ;
            MOV SHI_BIT,B ;十位存入31H中
            MOV B,#10 ;
            DIV AB ;
            MOV BAI_BIT,B ;百位存入32H中
            MOV A,GAO_8BIT
            MOV 37H,#10H ;
            JB ACC.7,EXIT
            MOV 37H,#00H
            SJMP EXIT
            FU:
            MOV A,DI_8BIT
            CPL A
            ADD A,#1
            MOV B,#16
            DIV AB
            MOV 35H,A ;將DI_8BIT的高四位右移四位,存入35H中(溫度值)
            MOV A,B ;將TEMPER_L的低四位X10/16得小數(shù)后一位數(shù).
            MOV B,#10
            MUL AB
            MOV B,#16
            DIV AB
            // MOV 36H,A ;將小數(shù)后一位數(shù).存入36H中
            // MOV A,GAO_8BIT ;TEMPER_H中存放高8位數(shù),權(quán)重16
            MOV B,#16
            MUL AB
            ADD A,35H ;35H中存入溫度值的整數(shù)部分
            MOV B,#10
            DIV AB
            MOV GE_BIT,B ;個(gè)位存入30H中
            MOV B,#10 ;
            DIV AB ;
            MOV SHI_BIT,B ;十位存入31H中
            MOV B,#10 ;
            DIV AB ;
            MOV BAI_BIT,B ;百位存入32H中
            MOV A,GAO_8BIT
            MOV 37H,#10H ;
            JB ACC.7,EXIT
            MOV 37H,#00H
            SJMP EXIT
            EXIT:RET

            51單片機(jī)相關(guān)文章:51單片機(jī)教程




            評(píng)論


            相關(guān)推薦

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

            關(guān)閉