×
嵌入式开发 > 详情

51单片机实验板DS18B20测温程序

发布时间:2020-07-09 发布时间:
|

/***********************************************
** 实验名:51单片机实验板温度测量(DS18B20
** 创建人: 谢军洋
** 描述:P3.7口输入,输出数据。
**------------------------------------------------------------------
** CPU:MCS-51
** 语言:汇编
** Fosc=12M

此次试验的仿真图
***************************************************/

GE_BIT EQU 30H
SHI_BIT EQU 31H
BAI_BIT EQU 32H
DI_8BIT EQU 33H
GAO_8BIT EQU 34H
DQ EQU P3.7
ORG 0000H
LJMP START
ORG 0020H
START:
MOV SP,#60H
LCALL ZHUANHUAN ;调用读温度子程序
LCALL CHULI
LCALL DISPLAY ;调用数码管显示子程序
LJMP START

;-------------------------------------------------
;这是DS18B20复位初始化子程序
INIT_1820:
SETB DQ
NOP
CLR DQ ;主机发出延时537微秒的复位低脉冲
MOV R1,#3
DU_1:
MOV R0,#107
DJNZ R0,$
DJNZ R1,DU_1
SETB DQ ;然后拉高数据线
NOP
NOP
NOP
MOV R0,#25H
DU_2:JNB DQ,DU_3 ;等待DS18B20回应
DJNZ R0,DU_2
LJMP DU_4 ;延时
DU_3:SETB F0 ;置标志位,表示DS1820存在
LJMP DU_5
DU_4:CLR F0 ;清标志位,表示DS1820不存在
LJMP DU_7
DU_5:MOV R0,#117
DU_6:DJNZ R0,DU_6 ;时序要求延时一段时间
DU_7:SETB DQ
RET


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机汇编语言 如何实现点亮熄灭二极管