程序错在这句话上:unsigned char ReadTemperature(void)返回值是uchar型,也就是8位数,返回的高位数据都被丢弃了。所以改成unsigned int ReadTemperature(void)就可以了。
shi=tab[temp/10]; //十位温度ge=tab[temp%10]; //个位温度