DS18B20主函数
if(ds1302_fla == 1){
ds1302_fla = 0;
ds1302_value = temp_18b20();
ds1302_disp[0] = smg_du[(unsigned int)(ds1302_value / 10)];
ds1302_disp[1] = smg_du[(unsigned int)ds1302_value % 10 + 32];
ds1302_disp[2] = smg_du[(unsigned int)(ds1302_value * 10) % 10];
ds1302_disp[3] = smg_du[(unsigned int)(ds1302_value * 100) % 10];
ds1302_disp[4] = smg_du[(unsigned int)(ds1302_value * 1000) % 10];
ds1302_disp[5] = smg_du[(unsigned int)(ds1302_value * 10000) % 10];
}
h文件(需要把时间x12)
float temp_18b20(void){
unsigned char temp_low,temp_high;
Init_DS18B20();
Write_DS18B20(0xcc);
Write_DS18B20(0x44);
Init_DS18B20();
Write_DS18B20(0xcc);
Write_DS18B20(0xbe);
temp_low = Read_DS18B20();
temp_high = Read_DS18B20();
return 0.0625 * (float)((unsigned int)temp_high << 8 | temp_low);
}