在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > DS18B20讀取溫度并顯示-匯編程序

            DS18B20讀取溫度并顯示-匯編程序

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

            //輸出轉(zhuǎn)換溫度命令
            CONVERT_TEMPERATURE:
            LCALL DS18_START //調(diào)用初始化子程序
            MOV A,#0CCH //跳躍ROM指令
            LCALL DS18_SEND
            MOV A,#44H //溫度轉(zhuǎn)換
            LCALL DS18_SEND
            RET
            //讀?溫度數(shù)據(jù)
            GET_TEMPERATURE:
            LCALL DS18_START //調(diào)用初始化子程序
            MOV A,#0CCH //跳躍ROM指令
            LCALL DS18_SEND
            MOV A,#0BEH //從RAM中的數(shù)據(jù)
            LCALL DS18_SEND
            LCALL DELAY60US
            LCALL DS18_READ
            MOV TEMPL,A //將獲得數(shù)據(jù)的低八位存到TEMPL
            LCALL DS18_READ
            MOV TEMPH,A //將獲得數(shù)據(jù)的高八位存到TEMPH
            CLR DS18DQ //即復(fù)位。否則會(huì)一直讀到
            LCALL DELAY501US //暫存第九字節(jié)
            RET
            //計(jì)算獲得溫度值,便于現(xiàn)實(shí)
            CAL_TEMPERATURE:
            PUSH 07H //暫存,防止改變R7的數(shù)據(jù)
            CLR C //進(jìn)位標(biāo)志清零
            MOV R7,#04H //循環(huán)次數(shù)

            EX2: MOV A,TEMPH // 這些語(yǔ)句的作用是:
            RRC A // 整數(shù)位在:TEMPL中
            MOV TEMPH,A //?數(shù)位在:TEMPH中的高半
            MOV A,TEMPL
            RRC A
            MOV TEMPL,A
            DJNZ R7,EX2 //

            MOV A,TEMPH //
            RLC A //這些語(yǔ)句的作用是:
            RLC A //把TEMPH得高半移到低四位中
            RLC A
            RLC A //
            ANL A,#0FH //屏蔽高四位,保留低四位
            MOV DPTR,#TAB_TEMP //賦帶?數(shù)點(diǎn)的數(shù)值表的表首地址
            MOVC A,@A+DPTR
            MOV 30H,A //暫存該值,用于
            MOV A,TEMPL
            CLR C
            MOV B,#0AH
            DIV AB //分離整數(shù)位的高低四位
            MOV 32H,A //暫存十位
            MOV A,B
            ADD A,#10H
            MOV 31H,A //暫存?zhèn)€位
            POP 07H //恢復(fù)R7的值
            RET
            //寫數(shù)據(jù)子程序
            DS18_SEND:
            PUSH 06H //保護(hù)Rn的值
            PUSH 07H
            //以下語(yǔ)句是"寫 筆斃虻腦?
            SETB DS18DQ //寫時(shí)序是有DS18DQ的下降沿決定
            NOP //延時(shí)1us
            MOV R6,#08H //循環(huán)次數(shù),一個(gè)字節(jié)
            DS18_SEND1:
            CLR DS18DQ //拉低,產(chǎn)生下降沿
            MOV R7,#07 //延時(shí)大約15us
            DJNZ R7,$
            RRC A //把要寫入得數(shù)據(jù)的高位移到C中
            MOV DS18DQ,C //再把C的值賦給DS18DQ
            MOV R7,#30 //延時(shí)時(shí)間約為60us,只要大約45us即可
            DJNZ R7,$
            SETB DS18DQ //拉高準(zhǔn)備,下次產(chǎn)生下降沿
            DJNZ R6,DS18_SEND1 //判斷循環(huán)次數(shù)夠了沒(méi)
            POP 07H //恢復(fù)Rn的數(shù)據(jù)
            POP 06H
            RET
            篇幅太大完整程序請(qǐng)從這里下載:http://www.51hei.com/ziliao/file/ds182051hei.asm

            本程序已經(jīng)測(cè)試成功。

            蜂鳴器相關(guān)文章:蜂鳴器原理

            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: DS18B20 讀取溫度 顯示 匯編程序

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉