基于单总线数字温度传感器DS18B20的测温系统设计
3.1 系统应用层主程序设计
系统主程序主要完成系统初始化,调用读取DS18B20温度转换值函数,温度符号、百位、十位、个位、十分位数据的提取,温度数据显示,温度异常报警等工作,系统主程序流程如图4所示,当检测到的温度高于最大阈值或低于最小阈值时,分别采用红灯、黄灯报警,温度正常时绿灯点亮。本文引用地址:https://www.eepw.com.cn/article/159549.htm
3.2 DS18B20驱动层程序设计
DS18B20温度转换值采用12位分辨率,总线控制器接收到16位数据后保存在2个字节的存储单元,高字节保存的值左移8位与低字节相加,便得DS18B20温度转换结果,读取温度转换值函数如下:
4 系统调试与运行结果
在单片机开发环境Keil软件中,选择AT89C51单片机新建项目,采用C语言编写系统程序,编译生成目标代码HEX文件,并导入到Proteus ISIS硬件电路图中单片机的Edit Component设置的Program File属性中进行仿真运行,系统仿真实验结果如图5所示,数码管左数第一位的“1”表示零上,第七位的“C”表示温度单位摄氏度。
5 结语
以AT89C51单片机为核心处理器,在Proteus环境下完成了基于单总线数字温度传感器DS18B20的测温系统的设计,并进行了仿真。首先给出了DS18B20传感器特性和控制命令及时序,设计了DS18B20的检测电路,同时采用Keil软件完成了系统主程序、DS18B20驱动程序的设计;最后进行了系统Proteus仿真,降低了设计成本,提高了开发效率,并获得了良好仿真实验结果。
51单片机相关文章:51单片机教程
热电偶相关文章:热电偶原理
评论