基于单片机的protues仿真毕业论文

发布时间 : 星期二 文章基于单片机的protues仿真毕业论文更新完毕开始阅读

(b) DS18B20温度转换期间的强上拉供电(寄生电源方式)

图3.2 DS18B20与微处理器的典型连接图

(3)DS18B20 的内部结构:

图3.3 为DS18B20 的内部框图,它主要包括寄生电源、温度传感器、64 位激光ROM 单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH 和TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。64位光刻ROM 的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻R0M 的作用是使每一个DS18B20都各不相同,这可实现一根总线上挂接多个DS18B20的目的。暂存存储器包含了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节.

基于单片机的多温度检测系统的设计与protues仿真

64位ROM电源检测 和单线接口 存储器和控制器 温度灵敏元件 高速缓存 存储器 低温触发器TL 高温触发器TH 配置寄存器 8位CRC生成器

图3.3 DS18B20的内部结构 (4)DS18B20 的测温原理:

DS1820测温原理如下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

斜率累加器 预置 低温度系数晶振 计数器1 =0 高温度系数晶振 计数器2 =0

图 3.4 DS18B20测温原理

高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对

停止 加1 比较 温度寄存器 预置

低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,DS1 8B20测量温度原理停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

在正常测温情况下,DS18B20 的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20 提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分TZ,然后再用BEH 指令取计数器1 的计数剩余值CS 和每度计数值CD。考虑到DS18B20测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度TS 可用下式计算:TS=(TZ-0.25℃) +(CD-CS)/CD (5)告警信号:

DS18B20 完成温度转换后,就把测得的温度值与TH、TL 作比较。若T>TH 或T

(6)CRC 的产生:

在64 位ROM 的最高有效字节中存有循环冗余校验码(CRC)。主机根据ROM 的前56 位来计算CRC 值,并和存入DS18B20 中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。CRC 的函数表达式为:CRC=X8+X5+X4+1。此外,DS18B20 尚需依上式为暂存器中的数据来产生一个8位CRC 送给主机,以确保暂存器数据传送无误。

在本课题中采用四个数字式温度传感器DS18B20与单片机89C51连接如下图

基于单片机的多温度检测系统的设计与protues仿真

图3.5 DS18B20多点温度测量连接电路图 (7) DS1820使用中注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

①较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

②在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

③连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

④在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。

联系合同范文客服:xxxxx#qq.com(#替换为@)