小弟初学单片机,最近做一个温度传感器 这是DS18B20的初始化程序 不知道为什么初始化程序 无法检测出温度传感器的存在,也就是程序结束时FLAG始终为0 DQ 为数据线DS的数据线,FLAG=1为DS存在,FLAG=0为DS不存在 ;-------------------DS18B20 初始化程序 INIT_1820: SETB DQ NOP CLR DQ MOV R0,#80H TSR1: DJNZ R0,TSR1 ; 延时 SETB DQ MOV R0,#25H ;96US-25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 ; 延时 TSR3: SETB FLAG1 ; DS存在,置标志位 LJMP TSR5 TSR4: CLR FLAG1 ; DS不存在,清标志位 LJMP TSR7 TSR5: MOV R0,#06BH ;200US TSR6: DJNZ R0,TSR6 ; ÑÓʱ TSR7: SETB DQ RET |