ORG 0000H
LJMP MAIN
ORG 0100H
DOUT BIT P3.0 ;定义 P1.7 为与 DS18B20 的通信口
MAIN: MOV TMOD,#20H ;定时器 T1 工作于方式 2
MOV TH1,#0E6H ;传输速率为 1200 波特
MOV TL1,#0E6H
SETB TR1 ;启动定时器 T1
MOV SCON,#40H ;串行口工作于方式 1
MOV R0,#38H
CLR P0.0 ;将温度的最高位符号位放入 Ro 寄存器
LCALL RESET ;调用复用子程序
MOV A,#0CCH
LCALL WRITE ; 写跳过 ROM 命令
MOV A,#44H ;启动温度转换
LCALL WRITE
LCALL RESET ;调用复位子程序
MOV A,#0CCH ;写跳过 ROM 命令
LCALL WRITE
MOV A,#0BEH ;发读存储器命令
LCALL WRITE
LCALL READ ;调用读子程序
MOV 32H,3DH ;温度值存储在 32H,33H 单元
LCALL READ
MOV 33H,3DH
LCALL CONVERT
LCALL BAOJING ;温度转换子程序
LCALL DISPLAY ;调用显示子程序
LJMP MAIN
BAOJING:
MOV A,37H
CJNE A,#09H,MM
MM:JC RET1
MOV A,36H
CJNE A,#09H,NN
NN:JC RET1
SETB P0.0
RET1 :RET
RESET:
- 1
- 2
前往页