基于DS18B20的温控系统,智能仪器设计实习
WR13:DJNZR4,WR13 ;保证写过程持续60μs DJNZR3,WR11 ;未送完一个字节继续 SETBDAT RET
;------------------------ READ:CLREA
MOVR6,#8;循环8次,读一个字节 RD11:CLRDAT MOVR4,#4
NOP;低电平持续2μs SETBDAT;口线设为输入 RD12:DJNZR4,RD12 ;等待8μs MOVC,DAT
;主机按位依次读入DS18B20的数据 RRCA;读取的数据移入A MOVR5,#30 RD13:DJNZR5,RD13 ;保证读过程持续60μs DJNZR6,RD11
;读完一个字节的数据,存入A中 SETBDAT RET
;------------------------
主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。假设一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序GETWD。