51单片机-DS18B20单片
51单片机-DS18B20单片
需要读者初步了解过DS18B20数据手册后阅览。
废话不多说,直接上DS180B20时序
DS18B20时序
初始化时序
/**
* @brief Init_DS18B20()是对DS18B20进行初始化的函数,确定传感器存在
*
* Init_DS18B20()传回一位标志。
*
* Init_DS18B20()没有任何参数
* @return 一个标志,成功为1,失败为0。
*/
unsigned char Init_DS18B20(){
bit flag;
//拉低总线
DQ = 0;
//500us的延时
delay100us();
delay100us();
delay100us();
delay100us();
delay100us();
//delay100us();
//拉高总线
DQ = 1;
//持续70us的延时
delay_50us(1);
delay10us();
delay10us();
flag = DQ;
//500us的延时
delay100us();
delay100us();
delay100us();
delay100us();
delay100us();
//返回初始化标志
return flag;
}
读时序
/**
* @brief ReadByte_DS18B20()是对DS18B20是读时序函数,对传感器读操作
*
* ReadByte_DS18B20()没有任何参数。
*
* @return 返回从传感器传出的值
*/
unsigned char ReadByte_DS18B20(){
//读周期至少需要60微秒
unsigned char i,j,bi,byte;
for(j=