新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安新县| 内江市| 光山县| 沈丘县| 安龙县| 建阳市| 合作市| 襄城县| 丹东市| 长寿区| 永寿县| 山东省| 兴和县| 嘉定区| 平顶山市| 东源县| 斗六市| 永宁县| 秦皇岛市| 措美县| 佛山市| 江都市| 外汇| 毕节市| 诸暨市| 明星| 天等县| 湖州市| 紫云| 潜江市| 秦皇岛市| 舞钢市| 五家渠市| 玉林市| 彭水| 大石桥市| 乐安县| 象州县| 荥经县| 靖远县| 肥乡县|