请帮我给下面C程序添加注释,看不懂

#include "ds18b20.h"
#include "1602.h"
#include "Key.h"
uchar temp;
uchar a,b;
uchar x;
uchar baojing_flag,xianzai_flag;
uchar const table[]={"temperature-----"};
uchar const table1[]={"baojingT-------"};
uchar i;
uchar fu_flag;
void main()
{ P3=0;
init();
// init_ds18b20();

while(1)
{
key_in();
// x=init_ds18b20();

if (baojing_flag==1)
{
write_com(0x80);
for (i=0;i<16;i++)
{
write_data(table1[i]);

}
write_com(0x80+0x40);
write_data('H');
write_data(':');
write_data(' ');
write_data(0x30+8);
write_data(0x30+5);
write_data(' ');
write_data('C');
write_data(' ');
write_data('L');
write_data(':');
write_data(' ');
write_data(0x30+0);
write_data(0x30+0);
write_data(' ');
write_data('C');

}
if ((xianzai_flag==1)||(baojing_flag==0))
{
temp=readtemperature();
if ((temp>=85)&&(temp<128))
{
led1=1;
led2=0;
sp=1;
// delay_50ms(1);
// sp=0;
// delay_50ms(1);
// sp=1;
}
if ((temp>0) && (temp<85))
{
led1=0;
led2=0;
sp=0;
}
if (temp>128)
{
led2=1;
led1=0;
sp=1;
// delay_50ms(1);
// sp=0;
// delay_50ms(1);
// sp=1;
}

if (temp>128)
{
temp=256-temp;
fu_flag=1;
}
else
{
fu_flag=0;
}

write_com(0x80);
for (i=0;i<16;i++)
{
write_data(table[i]);

}
write_com(0x80+0x40);
write_data(' ');
write_data(' ');
if (fu_flag==1)
{
write_data('-');
}
write_data(0x30+temp/100);
write_data(0x30+temp%100/10);
write_data(0x30+temp%10);
write_data(' ');
write_data('C');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');

delay_50ms(1);
}

}

#include "ds18b20.h"
#include "1602.h"
#include "Key.h"
uchar temp;
uchar a,b;
uchar x;
uchar baojing_flag,xianzai_flag;
uchar const table[]={"temperature-----"};
uchar const table1[]={"baojingT-------"};
uchar i;
uchar fu_flag;
void main()//这个单片机的程序
{ P3=0;//P3拉低
init();//初始化硬件,保证与ds18b20可协调工作 // init_ds18b20();//初始化ds18b20芯片
while(1)
{
key_in();//接收按钮键入
// x=init_ds18b20();

if (baojing_flag==1)
{
write_com(0x80);
for (i=0;i<16;i++)
{
write_data(table1[i]);

}
write_com(0x80+0x40);//串口写入,加上后面的写入应该是一个通讯协议
write_data('H');
write_data(':');
write_data(' ');
write_data(0x30+8);
write_data(0x30+5);
write_data(' ');
write_data('C');
write_data(' ');
write_data('L');
write_data(':');
write_data(' ');
write_data(0x30+0);
write_data(0x30+0);
write_data(' ');
write_data('C');

}
if ((xianzai_flag==1)||(baojing_flag==0))
{
temp=readtemperature();
if ((temp>=85)&&(temp<128))
{
led1=1;
led2=0;
sp=1;
// delay_50ms(1);
// sp=0;
// delay_50ms(1);
// sp=1;
}
if ((temp>0) && (temp<85))//根据通信返回的值在0:86区间,led1和led2点亮
{
led1=0;
led2=0;
sp=0;//sp拉低
}
if (temp>128)//根据通信返回的值在 { led2=1; //led2 熄灭 led1=0; //led1点亮 sp=1;//sp拉高
}

if (temp>128)//大于128转为负数
{
temp=256-temp;
fu_flag=1;
}
else
{
fu_flag=0;
}

write_com(0x80);//写入通信值;
for (i=0;i<16;i++)
{
write_data(table[i]);

}
write_com(0x80+0x40);
write_data(' ');
write_data(' ');
if (fu_flag==1)
{
write_data('-');
}
write_data(0x30+temp/100);
write_data(0x30+temp%100/10);
write_data(0x30+temp%10);
write_data(' ');
write_data('C');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');
write_data(' ');

delay_50ms(1);//延时50ms;一般是保证通讯完成
}}
//整体看,这是单片机与ds18b20芯片进行通讯,来完成特定的任务。
温馨提示:答案为网友推荐,仅供参考
相似回答