TEMPER_L EQU 36H ;存放读出温度低位数据
TEMPER_H EQU 35H ;存放读出温度高位数据
TEMPER EQU 34H ;存放转换后的8位温度值
TEMPER_NUM EQU 60H ;缓冲单元
FLAG1 BIT 00H
DQ BIT P1.3
BUZZ BIT P1.2 ;蜂鸣器
SDA BIT P1.0
SCL BIT P1.1
WSLA EQU 70H
RSLA EQU 71H
LIM EQU 51H
ORG 8000H
LJMP MAIN
ORG 8003H
LJMP INT_7290
ORG 8100H
MAIN: MOV SP,#60H
;*********************************************************************
CLR P1.7 ;7290复位
LCALL DELAY
SETB P1.7
SETB EA
SETB EX0
SETB IT0
;*********************************************************************
LP1: LCALL GET_TEMPER ;从DS18B20读出温度数据
MOV R5,A
LCALL TEMPER_COV ;转换读出的温度数据并保存
MOV A,TEMPER
MOV B,#10 ;将B寄存器赋值10
DIV AB ;A/B,将商给A,余数给B
MOV DPTR,#LEDSEG
MOVC A,@A+DPTR
MOV 3DH,A ;商赋给3DH
MOV DPTR,#LEDSEG1
MOV A,B
MOVC A,@A+DPTR
MOV 3CH,A ;余数赋给3CH
;*******************************************************
MOV A,#0FH ;小数部分
ANL A,R5
MOV DPTR,#LEDSEG2
MOVC A,@A+DPTR
MOV 3BH,A
MOV A,#0FH
ANL A,R5
MOV DPTR,#LEDSEG3
MOVC A,@A+DPTR
MOV 3AH,A
MOV A,#0FH
ANL A,R5
MOV DPTR,#LEDSEG4
MOVC A,@A+DPTR