📄 1820.h
字号:
void display()
{
unsigned char temp_data,temp_data_2;
unsigned int TempDec;
temp_data = temperature[1];
temp_data &= 0xf0; //取高4位
if (temp_data==0x00) //判断是正温度还是负温度读数
{
temp_data = temperature[1]<<4; //取高字节低4位(温度读数高4位)
temp_data_2 = temperature[0]>>4; //取低字节高4位(温度读数低4位)
temp_data=temp_data|temp_data_2; //组合成完整数据
temp[0]=temp_data/100+0x30; //取百位转换为ASCII码
temp[1]=(temp_data%100)/10+0x30; //取十位转换为ASCII码
temp[2]=(temp_data%100)%10+0x30; //取个位转换为ASCII码
temperature[0]&=0x0f; //取小数位转换为ASCII码
TempDec = ((temperature[0]&0x0f)*0.0625)*10000;//小数部分,扩大1万倍
temp[3] = TempDec/1000+0x30; //取小数个位
temp[4] = (TempDec%1000)/100+0x30; //取小数十位
temp[5] = ((TempDec%1000)%100)/10+0x30;//取小数百位
temp[6] = ((TempDec%1000)%100)%10+0x30;//取小数千位
}
else //负温度执行下面的程序
{
//求补取反加1,判断低8位是否有进位
if (temperature[0]==0)
{ //有进位,高8位取反加1
temperature[0]=~temperature[0]+1;
temperature[1]=~temperature[1]+1;
}
else
{ //没进位,高8位不加1
temperature[0]=~temperature[0]+1;
temperature[1]=~temperature[1];
}
temp_data = temperature[1]<<4; //取高字节低4位(温度读数高4位)
temp_data_2 = temperature[0]>>4; //取低字节高4位(温度读数低4位)
temp_data=temp_data|temp_data_2; //组合成完整数据(整数部分)
temp[0]=temp_data/100+0x30; //取百位转换为ASCII码
temp[1]=(temp_data%100)/10+0x30; //取十位转换为ASCII码
temp[2]=(temp_data%100)%10+0x30; //取个位转换为ASCII码
TempDec = ((temperature[0]&0x0f)*0.0625)*10000;//小数部分,扩大1万倍
temp[3] = TempDec/1000+0x30; //取小数个位转换为ASCII码
temp[4] = (TempDec%1000)/100+0x30; //取小数十位转换为ASCII码
temp[5] = ((TempDec%1000)%100)/10+0x30;//取小数百位转换为ASCII码
temp[6] = ((TempDec%1000)%100)%10+0x30;//取小数千位转换为ASCII码
}
LCD_WRITE_IR(0x91);//在LCD第2行显示
LCD_WRITE_DR(temp[0]); //显示百位
LCD_WRITE_DR(temp[1]); //显示十位
LCD_WRITE_DR(temp[2]); //显示个位
LCD_WRITE_DR(0x2e); //显示"."
LCD_WRITE_DR(temp[3]); //显示小数位
LCD_WRITE_DR(temp[4]); //显示小数位
LCD_WRITE_DR(temp[5]); //显示小数位
LCD_WRITE_DR(temp[6]); //显示小数位
LCD_WRITE_DR(0xa1);
LCD_WRITE_DR(0xe6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -