新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機實驗板DS18B20測溫程序

        51單片機實驗板DS18B20測溫程序

        作者: 時間:2012-12-05 來源:網絡 收藏

        ;-------------------------------------------------
        ;注:此次ds18b20溫度測量實驗在51hei單片機實驗板http://www.51hei.com上進行,測試一切ok,下面是數據顯示子程序
        CL0:INC A
        AJMP CL1
        CHULI:MOV A,DI_8BIT
        MOV B,#16
        DIV AB
        JB B.3,CL0
        CL1:MOV 35H,A ;將DI_8BIT的高四位右移四位,存入35H中(溫度值)
        MOV A,B ;將TEMPER_L的低四位X10/16得小數后一位數.
        MOV B,#10
        MUL AB
        MOV B,#16
        DIV AB
        MOV 36H,A ;將小數后一位數.存入36H中
        MOV A,GAO_8BIT ;TEMPER_H中存放高8位數,權重16
        MOV B,#16
        MUL AB
        ADD A,35H ;35H中存入溫度值的整數部分
        MOV B,#10
        DIV AB
        MOV GE_BIT,B ;個位存入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
        EXIT: RET */

        DISPLAY:MOV DPTR,#TABLE
        MOV R0,#4
        XUN:MOV R1,#250 ;顯示1000次
        HUAN:MOV A,#10 //顯示‘-’
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.0
        LCALL DELAY1MS
        SETB P3.0

        MOV A,#10 //顯示‘-’
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.1
        LCALL DELAY1MS
        SETB P3.1

        MOV A,BAI_BIT //顯示溫度百位
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.2
        LCALL DELAY1MS
        SETB P3.2
        MOV A,SHI_BIT //顯示溫度十位
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.3
        LCALL DELAY1MS
        SETB P3.3
        MOV A,GE_BIT //顯示溫度個位
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.4
        LCALL DELAY1MS
        SETB P3.4

        MOV A,#11 //顯示'C'
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.5
        LCALL DELAY1MS
        SETB P3.5

        MOV A,#10 //顯示‘-’
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.6
        LCALL DELAY1MS
        SETB P3.6

        /* MOV A,#10 //顯示‘-’
        MOVC A,@A+DPTR
        MOV P1,A
        CLR P3.7
        LCALL DELAY1MS
        SETB P3.7 */
        DJNZ R1,HUAN ;250次沒完循環
        DJNZ R0,XUN ;4個250次沒完循環
        RET

        DELAY10MS:MOV R7,#1 //延時10MS子程序
        L1:NOP
        DJNZ R7,L1
        DELAY1MS:RET

        TABLE:DB 3FH ;0
        DB 06H ;1
        DB 5BH ;2
        DB 4FH ;3
        DB 66H ;4
        DB 6DH ;5
        DB 7DH ;6
        DB 07H ;7
        DB 7FH ;8
        DB 6FH ;9
        DB 01000000B ;-
        DB 39H ;C
        END

        51單片機相關文章:51單片機教程



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 历史| 贵溪市| 翁牛特旗| 厦门市| 连南| 丹东市| 宁夏| 梁山县| 平果县| 绩溪县| 文成县| 望奎县| 齐齐哈尔市| 汝阳县| 汉寿县| 游戏| 赤水市| 灵石县| 广州市| 三门县| 册亨县| 满洲里市| 阳西县| 太仆寺旗| 铜鼓县| 云阳县| 抚远县| 诸城市| 惠州市| 平顶山市| 织金县| 威信县| 毕节市| 通海县| 南宁市| 崇义县| 黄骅市| 桃园市| 富源县| 民县| 衡水市|