西安航空学院毕业论文
表2 DS18B20温度与测得值对应表
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根据ROM的
前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到ROM数据是否正确。
3.3 DS18B20的测温原理
图3-3 DS18B20测温原理
图中第温度系数晶振的震荡频率受温度的影响很小,用于产生固定频率的脉冲送给减法计数器1;高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入.图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数震荡器产生的时钟脉冲计数,进而完成温度测量。计数门的开启时间由高温
8
西安航空学院毕业论文
度系数震荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1,温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1所对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将被重新装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图3.6中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被预测值。另外,由于DS18B20单线通信功能是分时完成的, 它有严格的时隙概念,因此读写时序很重要,系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20→发ROM功能命令→发存储器操作命令→处理数据。
3.4 DS18B20测温流程
初始化 DS18B20 跳过ROM 匹配 温度变换 延时1S 数码管显 示
转换成显示码 读暂存器 跳过ROM 匹配 3.5 系统电路设计
单片机最小系统如下图:
9
西安航空学院毕业论文
这部分为单片机复位电路和时钟电路。单片机复位后,程序计数器PC=0000H,即指向程序存储器0000H单元,使CPU从首地址重新开始执行程序。产生单片机复位的条件是:在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟震荡周期建立时间再加2个机器周期时间(一般不小于10ms)。
时钟电路通过单片机的XTAL1和XTAL2引脚外接定时元件12M的晶振,电容C1和C2一般去30pF左右,主要作用是帮助振荡器起震。晶体振荡频率高,则系统的时钟频率也越高,单片机运行速速也就越快
3.6 显示电路设计
LCD1602显示电路原理图如图
10
西安航空学院毕业论文
此部分为LCD1602显示电路,通过10K可调电阻可以调节1602背光显示亮度。P0口接一个10K的上拉排阻。
3.7 三点测温电路
三个DS18B20接线如图所示,每个传感器接一个I/O口。
单总线型DS18B20温度传感器采用一个DS18B20接一个I/O口的形式,大大简化了程序编写难度,通过排针可外接电源供电。
3.8 电路原理图
11
西安航空学院毕业论文
由DS18B20和STC公司推出的单片机STC89C52RC以及相关外围电路组成的高精度、多点温度测量系统的电路设计如上图所示。系统采用3支DS18B20构成小型温度传感器网络,通过并行连接方式连接至单片机的通用I/O端口。单片机获得温度信息后,通过特定的算法,将处理后的温度信息通过LCD1602显示出来。
12