中级会员
 
- 积分
- 221
- 金钱
- 221
- 注册时间
- 2013-1-29
- 在线时间
- 29 小时
|
发表于 2014-9-16 12:39:56
|
显示全部楼层
void wendu()
{
if(i==0)
tmpchange(); //温度转换
i++;
if(i==100)
{
i=0;
tt=tmp()*0.0625; //得到真实十进制温度值,因为DS18B20
//可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度。
ltemp=tt*10+0.5; //放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。
}
}
void desplay0(int a)//温度显示
{
if(a>=100)
{
P0=table[a%1000/100];
P2=0X01;
Delay50us();
P2=0X00;
}
if(a<0) //判断第一位显示整数还是负号
{
P0=0xbf;
P2=0X01;
Delay50us();
P2=0X00;
a=0-a+1;
}
P0=table[a%1000%100/10];
P2=0X02;
Delay50us();
P2=0X00;
} |
|