求基于AT89C51单片机和DS18B20温度传感器、LCD1602液晶显示的高精度数字温度计程序,用C语言编程。 200
3个回答
展开全部
您可参考如下例程,DS18B20与申矽凌微电子的CT1820一样,都是单总线通讯的结构,但CT1820的读取速度要比之快20倍。
uchar CT1820Init()
{
uchar i;
DSPORT =
0;
//将总线拉低480us~960us
delay600us();
//450us to 700us
DSPORT =
1;
//然后拉高总线,如果CT1820做出反应会将在15us~60us后总线拉低
i = 0; //
while(DSPORT) //等待CT1820拉低总线
{
delay500us();
i++;
if(i>1)//等待>5MS, set 2 = 2.48ms
{
return 0;//初始化失败
}
}
return 1;//初始化成功
}
uchar CT1820Init()
{
uchar i;
DSPORT =
0;
//将总线拉低480us~960us
delay600us();
//450us to 700us
DSPORT =
1;
//然后拉高总线,如果CT1820做出反应会将在15us~60us后总线拉低
i = 0; //
while(DSPORT) //等待CT1820拉低总线
{
delay500us();
i++;
if(i>1)//等待>5MS, set 2 = 2.48ms
{
return 0;//初始化失败
}
}
return 1;//初始化成功
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询