unsigned char code smg_du【17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void smg_Display(int temp)
{
float tp;
if(temp< 0) //当温度值为负数
{
DisplayData[0] = 0x40;
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;
}
else
{
DisplayData[0] = 0x00;
tp=temp;
temp=tp*0.0625*100+0.5;
}
DisplayData[1] = smg_du[temp / 10000];
DisplayData[2] =smg_du[temp % 10000 / 1000];
DisplayData[3] =smg_du[temp % 1000 / 100] | 0x80;
DisplayData[4] =smg_du[temp % 100 / 10];
DisplayData[5] =smg_du[temp % 10];
DigDisplay(); //扫描显示
}
这是ds13b20测量温度并用数码管显示的实验,请问以下代码怎么理解??
DisplayData[1] = smg_du[temp / 10000];
DisplayData[2] =smg_du[temp % 10000 / 1000];
DisplayData[3] =smg_du[temp % 1000 / 100] | 0x80;
DisplayData[4] =smg_du[temp % 100 / 10];
DisplayData[5] =smg_du[temp % 10];
|