简易温度控制系统doc

2026/4/30 2:01:29

GET: SETB P1.3 ;定时入口 LCALL INIT JB 00H,TSS1

RET ;若18B20不存在,则返回 TSS1:MOV A,#0CCH ;跳过ROM匹配 LCALL WR

MOV A,#44H LCALL WR

MOV R0,#250 TSS2:NOP

DJNZ R0,TSS2 LCALL INIT

MOV A,#0CCH LCALL WR

MOV A,#0BEH LCALL WR LCALL READ

MOV 55H,A RET INIT:SETB P1.3 NOP

CLR P1.3 MOV R0,#180 TSR1:NOP

DJNZ R0,TSR1

SETB P1.3 NOP NOP MOV R0,#36

TSR2:JNB P1.3,TSR3

;发出温度转换命令 ;等待A/D转换结束,12位的话750MS ;跳过ROM匹配 ;发出读温度命令 ;将读出的温度数据保存 ;主机发出延时540us的复位低脉冲 DS18B20回应

25

;拉高数据线 ;等待 DJNZ R0,TSR2

LJMP TSR4 ;延时

TSR3:SETB 00H ;置标志位,表示DS18B20存在 LJMP TSR5

TSR4:CLR 00H ;清标志位,表示DS18B20不存在 LJMP TSR7

TSR5:MOV R0,#6BH TSR6:DJNZ R0,TSR6 TSR7:SETB P1.3 RET

WR: MOV R2,#8 CLR C WR1: CLR P1.3 MOV R3,#6 DJNZ R3,$ RRC A MOV P1.3,C MOV R3,#23 DJNZ R3,$ SETB P1.3 NOP

DJNZ R2,WR1 SETB P1.3 RET

READ:MOV R4,#2 MOV R0,#32H RE00:MOV R2,#8 RE01:CLR C SETB P1.3 NOP

;200us

;复位成功,时序要求延时一段时间 ;写18B20程序 ;读18B20程序,读高位和地位 ;低位存入32H,高位存入31H 26

NOP CLR P1.3 NOP NOP NOP SETB P1.3 MOV R3,#7 DJNZ R3,$ MOV C,P1.3 MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV @R0,A DEC R0 DJNZ R4,RE00 RET

CONV:MOV R7,#04 RED0:CLR C MOV A,31H RRC A MOV 31H,A MOV A,32H RRC A MOV 32H,A DJNZ R7,RED0 RET

OBCD:MOV A,32H MOV B,#100 DIV AB

10进制27

;将温度转换为 MOV R3,A MOV A,#10 XCH A,B DIV AB

MOV 51H,A ;高位存在51H MOV 52H,B ;低位存在52H RET

28


简易温度控制系统doc.doc 将本文的Word文档下载到电脑
搜索更多关于: 简易温度控制系统doc 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219