-
void DS18B20_reset(void) //DS18B20复位函数{ int i; char Exist=1; //设置DS18B20存在标志 while(Exist) //DS18B20是否存在 { while(Exist) //DS18B20是否存在 { DQ=1; delay(); //1-WIRE总线置高2us准备写过程 DQ=0; for(i=0;i<215;i++) { delay(); } //1-WIRE总线置低550us满足复位延长时间条件 DQ=1; for(i=0;i<30;i++)//for(i=0;i<30;i++) { delay(); } TRISA5=1; //1-WIRE总线置高66us满足复位延长时间条件 Exist=DQ; //检测存在标志Exist=0,条件满足DS18B20存在继续下一步 } for(i=0;i<197;i++)//for(i=0;i<197;i++) { delay(); } //延时500us,Exist消失,此时DQ已被上拉电阻置高 Exist=~DQ; Exist=0; //DQ置高,退出循环 } TRISA5=0; DQ=1; //1-WIRE总线置高完成复位过程}
-
有谁知道黑龙江省电子设计大赛的官网啊,知道的请教一下,多谢啦~:) :) :)
-
本帖最后由 paulhyde 于 2014-9-15 04:03 编辑 :) :) :)
-
还可以:)
-
这是我进入论坛下的第一份资料 ,很好,以后多进来看看~