如下单片机温度报警器程序的意思?(画问号的地方都不太明白,计算机小白求大佬帮忙解释)distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7};❓
uchar dismod=0,xiaodou1=0,xiaodou2=0,currtemp;
bit flag;❓
void t0isr() interrupt 1
{
TH0=(65536-5000)/256;❓
TL0=(65536-5000)%256;❓
switch(number)❓
{
case 0:
P2=0x08;❓
P0=distab[TempBuffer1[0]];❓
break;❓
case 1:
P2=0x04;
P0=distab[TempBuffer1[1]];
break;
case 2:
P2=0x02;
P0=distab[TempBuffer1[2]]&0x7f;
break;
case 3:
P2=0x01;
P0=distab[TempBuffer1[3]];❓
break;
default:
break;
}
number++;
if(number>3)number=0;
}
void delay_18B20(unsigned int i)❓
{
while(i--);
}
/**********ds18b20初始化函数**********************/
void Init_DS18B20(void)
{
bit x=0;
do{
DQ=1;
delay_18B20(8);
DQ = 0; //单片机将DQ❓拉低
delay_18B20(90); //精确延时 大于 480us
DQ = 1; //拉高总线❓
delay_18B20(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败,继续初始化
}while(x);
delay_18B20(20);
}
/***********ds18b20读一个字节**************/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号❓
dat>>=1;
DQ = 1; // 给脉冲信号
i