unsigned int bai,shi,ge,xiaoshu; //这里的 num,shi,ge,xiaoshu 必须用
unsigned int 无符号整数来表示,用 unshigned char 字符
unsigned char d;
if(num<0)d=0x2D;
else d=0x2B;
if(num<0)num=-num;
bai=num/1000;
shi=num%1000/100;
ge=num%1000%100/10;
xiaoshu=num%10;
write_date(d);
write_date(wendu[bai]);
write_date(wendu[shi]);
write_date(wendu[ge]);
write_date(0x2e); //写入小数点
write_date(wendu[xiaoshu]);
write_date(0xDF);
write_date(0x43);
}
void tmpDelay(int num) //延时函数
{
while(num--) ;
}
void Init_DS18B20() //初始化 ds1820
{
unsigned char x=0;
DQ = 1; //DQ 复位
tmpDelay(8); //稍做延时
DQ = 0; //单片机将 DQ 拉低
tmpDelay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
tmpDelay(14);
x=DQ; //稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败
tmpDelay(20);
}
unsigned char ReadOneChar()//读一个字节
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
评论3
最新资源