在设计过程中也遇到一些问题,由于LCD是现实的字符型数据,数字不能直接送去显示,所有对于数字的显示首先要转换为字符格式,方法为:数字+‘0’;对于温度传感器的小数处理也遇到一些问题,两个选的是12位,精度为0.0625,DS18B20的温度寄存器里低八位的低四位为小数部分,小数的值为0.0625*低八位的低四位,但是由于单片机的数据处理能力较差,不能处理小数的乘法运算,用上方法就显示错误,后来想到可以把小数先变成整数处理,令低八位的低四位为t,小数后的第一位=625*t/1000,然后将这个数字在小数点后显示即可。
其实该本设计还有很多的不足,本实验是用单片机的多个I/O口来驱动多路,DS18B20是一总线结构,每一个DS18B20 在其ROM 中都存有一个其唯一的48位序列号,在出厂前已写入片内RMO中,主机在进行操作程序前必须逐一接入18B20 用读ROM(33H)命令将该18B20 的序列号读出并登录.当主机需要对众多在线的DS18B20 的某一个进行操作,首先要发出匹配ROM 命令(55H),紧接着主机提供64位序列(包括该DS8B20的48位序列号),之后操作就是针对该DS18B20的.而所谓跳过ROM 命令.即为:之后的操作是对所有DS18B20 的,所以可

