新聞中心

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

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

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

;-------------------------------------------------
;注:此次ds18b20溫度測量實驗在51hei單片機實驗板http://www.51hei.com上進(jìn)行,測試一切ok,下面是數(shù)據(jù)顯示子程序
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得小數(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 ;個位存入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次沒完循環(huán)
DJNZ R0,XUN ;4個250次沒完循環(huán)
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單片機相關(guān)文章:51單片機教程



上一頁 1 2 3 下一頁

關(guān)鍵詞: 51單片機 DS18B20 測溫程序

評論


相關(guān)推薦

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

關(guān)閉