temperature_value[0] // 这是读取到的低8位温度值
temperature_value[1]// 这是读取到的高8位温度值
if(temperature_value[1]>127)// 当高8位的第8位为1时,就是负值 { // 下面是进行转换
temperature_value[0]=(~temperature_value[0])+1; // 当为负值的时候,低8位的操作
if ((~temperature_value[0]) >= 0xff)// <-127度 ,则高8位进位
{
temperature_value[1]=(~temperature_value[1])+1;
}
else
{// 不小于-127度时,高8位取反
temperature_value[1]=~temperature_value[1]; }
s=1;//这个表示为负值,你只要在液晶上显示一个“-”就行。
}
然后把转换后的高低8位按你上面进行计算就行了。
不知道你能否看懂,看不懂照做就行了。
不知道为什么,这答案一放上去代码就乱换行,保持良好的代码风格是非常重要的。
取得数和00001000 比较做出判断就行了
歌颂搞活