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

<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)用 > DS18B20讀取溫度并顯示-匯編程序

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

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

        *
        程序效果:通過值,對應(yīng)的溫度值
        程序重在理解時序,及延時時間
        */

        DS18DQ EQU P1.3 //P1.3與DS18DQ等同,便于理解
        SPEAKER EQU P2.0 //驅(qū)動蜂鳴器
        TEMPH EQU 29H //保存讀出溫度的低8位
        TEMPL EQU 28H //保存讀出溫度的高8位
        DS18FLAG EQU 40H //設(shè)置標(biāo)志
        ORG 0000H
        LJMP START
        ORG 0030H
        START: MOV 30H,#00 //設(shè)置初始值
        MOV 31H,#00
        MOV 32H,#00
        START1: LCALL DS18_GF //設(shè)置的工作方式
        LCALL CONVERT_TEMPERATURE //輸出轉(zhuǎn)換溫度命令
        LCALL DELAY750MS //延時750ms
        LCALL GET_TEMPERATURE //獲?溫度數(shù)據(jù)
        LCALL CAL_TEMPERATURE //計算溫度數(shù)值
        LCALL DISPLAY //調(diào)用,防止掉顯
        LJMP START1 //無限循環(huán)
        //初始化子程序
        DS18_START:
        PUSH 07H //保存R7的值,防止改變R7的數(shù)值
        SETB DS18DQ //將數(shù)據(jù)線拉高
        NOP //延時1us
        CLR DS18DQ //將數(shù)據(jù)線拉低
        MOV R7,#0 //延時大約512us
        DJNZ R7,$
        SETB DS18DQ //將數(shù)據(jù)線拉高
        MOV R7,#40
        DS18_START1: //延時大約160us
        JNB DS18DQ,DS18_START2 //檢查是否工作正常
        DJNZ R7,DS18_START1
        SETB DS18FLAG //工作不正常
        CLR SPEAKER //驅(qū)動蜂鳴器,報警
        DS18_START2:
        CLR DS18FLAG
        MOV R7,#100 //延時月200us
        DJNZ R7,$
        POP 07H //恢復(fù)R7的值
        RET
        //設(shè)置DS18B20工作方式
        DS18_GF:CLR DS18FLAG //清除標(biāo)志
        LCALL DS18_START //調(diào)用初始化子程序
        MOV A,#0CCH //跳躍ROM指令
        LCALL DS18_SEND //
        MOV A,#4EH //向RAM寫數(shù)據(jù)
        LCALL DS18_SEND
        MOV A,#75
        LCALL DS18_SEND
        MOV A,#0
        LCALL DS18_SEND
        MOV A,#7FH //設(shè)置工作方式
        LCALL DS18_SEND
        CLR DS18DQ //釋放總線
        LCALL DELAY500US //延時500us
        LOOP: LCALL CONVERT_TEMPERATURE //調(diào)用轉(zhuǎn)子程序
        MOV R5,#80
        LOOP1: LCALL DISPLAY //調(diào)用防止掉顯,同時等待轉(zhuǎn)換完成
        DJNZ R5,LOOP1
        LCALL GET_TEMPERATURE //獲?轉(zhuǎn)換值
        LCALL CAL_TEMPERATURE //計算溫度值
        LJMP LOOP
        RET

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

        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉