一 驱动(有改进)
#include <ds18b20.h>
sbit DQ = P1^4; //单总线接口
//单总线延时函数
void Delay_OneWire(unsigned int t) //STC89C52RC
{
t*=12; //因为驱动是用的是89C51,而15的要在51的基础上乘12
while(t--);
}
void Delay1ms() //@12.000MHz //启动之后根据时序图要有一定的延时
{
unsigned char i, j;
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
//通过单总线向DS18B20写一个字节
void Write_DS18B20(unsigned char dat)
{
unsigned char i;