全球旧事资料 分类
操作说明允许总线控制器不提供64位ROM编码就使用存储器操作命令启动DS18B20进行温度转换读暂存器9个字节内容
对DS18B20操作之前必须初始化(复位),而且,操作必须遵守一定的时序规则,具体见附件程序部分。B.温度传感器控制流程开始
初始化
从DS18B20接收数
CCH命令(跳过ROM)
44H命令(读暂存器)
44H命令(温度转换)
CCH命令(跳过ROM)
延时等待转换
初始化
温度传感器控制程序见附件“DS18B20h”。32数码管显示控制显示小数点后一位,即显示范围:9999999,需要四位数码管同时显示,短时内连续扫描4位数码管,视觉效果即为同时显示。流程图如下。数码管显示程序见附件“
umledh”。
f开始
百位选通信号
01位显示信号
百位显示信号
01位选通信号
十位选通信号
个位显示信号
十位显示信号
个位选通信号
33主程序不断显示温度值,同时利用定时器中断控制温度传感器,每当中断到达且判断条件(转换时间完毕)符合时从DS18B20接收并转换数据并使其复位和再一次转换温度数值,中断结束等待下一次中断流程图如下,程序见附件“温度计c”。开始
中断开始
设置定时器及中断初始状态
定时器复位
初始化DS18B20S开始温度转换
温度转换时间完毕?是

定时器开启
从DS18B20接收数据
数码管显示温度值
转换并储存数据
中断结束,返回
总结
该项目的重点,同时也是耗时最长的难点在于搞清楚DS18B20的工作原理及工作方式,其难在涉及到比较多的基础硬件控制,而这是C语言学习者相对汇编语言学习者来说比较吃力的地方,其次还有DS18B20读写时序控制规则也是比较耗时的地方,我们通过不断地修改测试和借鉴网络已有实例解决。
f附件目录:温度计温度计cuserlibhDS18B20h
umledh附件目录:温度计File温度计温度计c温度计i
cludereg52hi
clude
好听全球资料 返回顶部