进行不同的处理,都转换成我们要的温度数值,但要显示数据是将各位数据分离出来,而小数点后一位的数据不好分离,为方便分离,将实际温度数值乘以 10,将其挪到小数点前。 4.2 单片机向 1602 发送命令及数据的程序 1602 液晶,能够同时显示 16x2 即32个字符( 16列2行)。对 1602 进行操作首先要知道如何向 1602 液晶写数据与写指令,对 1602 的写操作是将读/写选择端 R/W 端置地,然后通过控制数据/命令选择端 RS 来控制。当写指令时,将 RS 置低,然后给使能端一个从低到高跳变的脉冲并延时一段时间便可以了,最后释放使能端置为低电平;当写数据时,将 RS 置高,然后给使能端一个从低到高跳变的脉冲同样延时一段时间,最后也要释放使能端置为低电平。知道了如何向 1602 中写数据与写命令便可以控制 1602 显示,但在让 160 2 正式显示之前还要对其进行初始化。对1602 的初始化首先要写入显示模式设置命令字 0X80 ,用来设置 16x2 显示,5x7 点阵,8位数据端口;然后再写入显示开/关及光标设置指令,这里我们写入 0X0C ,设置开显示,不显示光标,光标不显示;再写入显示开/关及光标设置指令 0X06 ,设置当读或写一个字符后地址指针加一且光标加一,当写一个字符,整屏显示不左移;最后写入清屏指令 0X01 进行显示清屏操作。 4.3 主函数对各子函数的调用过程首先整体初始化,然后将液晶初始化,由于上电后 DS18b20 默认 85摄氏度, 因此要在显示前先进行温度转换并加程序延时,使显示的时候直接显示我们要的温度值,然后进入正式显示部分,正式显示部分为循环执行的,包括每次都进行一次温度转换,并读取转换结果,之后再将温度数据中的各位分离出来,然后确定液晶显示字符的位置,依次显示符号、百位、十位、个位、小数点及小数点后图 4.1 软件程序流程图