基于单片机的数字温度计毕业论文设计 联系客服

发布时间 : 星期三 文章基于单片机的数字温度计毕业论文设计更新完毕开始阅读4d2048420a4e767f5acfa1c7aa00b52acfc79c93

图3-7 显示电路的连接图

4 软件设计

4.1 DS18b20的读操作

DSl8B20的主要数据元件有:64位激光Lasered ROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSl8B20可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 V电源,给DSl8B20供电。DSl8B20的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。DS18B20读写时序如图4-1~4-3:

图4-1 DS18B20的复位时序图

图4-2 DS18B20的写数据时序图

图4-3 DS18B20的读数据时序图

由时序图可知,DS18B20在复位时需要480us的低电平,等待15us后MCU将总线拉高,等待DS18B20的响应信号;DS18B20在写数据时分为写“0”和写“1”操作,写“0”操作时,DS18B20需要至少60us的总线被拉低,然后在

60us内将“0”写入DS18B20中,持续时间至少1us,写“1”操作是只需将写入的“0”改为“1”即可;DS18B20读操作也分为读“0”和读“1”操作,读“0”操作时,总线需要15us被拉低,再拉高45us,然后再15us内将数据读走,读“1”操作同读“0”操作。程序流程图如图4-4:

开始 DS18B20的初始化 跳过读序列号的操作 启动温度转换 DS18B20的初始化 跳过读序列号的操作 读取温度寄存器 LOW-低八位 HIGH-高八位 RET 图4-4 DS18B20读取温度的流程图

4.2 DS18b20的温度数据处理

读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625℃,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5℃的话,向个位进1;小于0.5℃的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55℃,所以可以将整数部分的最高位换成一个“-”,表示为负数。图4-2为温度数据处理程序的流程图。

开始 提取整数部分存入提取小数部分存入LT LT右移三位,将精度降低到0.5摄氏度 将小数部分整数化 LT是否大于5 N HT++ Y N 是否为负数 Y 负数标志flag=1 提取符号部分存RET

图4-5 温度数据处理流程图

4.3 1602显示部分

1602的读写时序图如下:

图4-6 1602液晶的读时序图