单片机C语言实现的采用DS18B20的温度检测装置

老师布置了一个课程设计题目:采用51单片机控制的DS18B20温度检测系统。大概花了我一个礼拜的时间,幸好我的C语言学得还可以,最后还是让我搞出来了,真是高兴,我是采用STC-52单片机和DS18B20数字温度传感器做的一个温度检测系统:实现的主要功能是:能够通过按键设置报警温度,报警温度分为上限温度和下限温度,就是说当温度超过上限温度和下限温度时蜂鸣器就会报警,同时流水灯开始流动。并且由于温度的上下限是写入到DS18B20的ROM中,所以断电之后还是可以保存上次设定的温度上下限值,系统缺陷是开机时由于温度检测装置还未开始工作,会显示85度(默认值),之后就会显示正确的温度,整个程序采用中断显示温度和按键扫描中断程序,检测温度是否超过报警上下限值的函数也放在中断显示温度服务程序中。

绪    论

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。DS18B20封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

1.设计题目

基于DS18B20数字温度传感器的温度测量.

2.课程设计目的

通过基于STC-51系列单片机和DS18B20温度传感器检测温度,熟悉芯片的使用、温度传感器的功能,数码显示管的使用,单片机C语言的程序设计,并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。

3.设计任务和要求

3-1:  以STC-51单片机为核心部件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为0.5℃。温度显示采用4位LED数码管显示,两位整数,一位小数。具有键盘输入上下限功能,超过上下限温度时,进行声音报警。

3-2:  能够设置上限温度和下限温度值,当被测量温度在上限温度和下限温度值之间时绿色LED亮,当被测量温度在上限温度和下限温度值之外时红色LED亮,并蜂鸣器报警;设置的上限温度和下限温度值能够断电后保存(EEPROM)。实现上述功能要求人机界面尽量简单。

4.实验原理

4-1: 原理简述-数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。基于DS1820数字温度传感器的温度检测及显示的系统原理图如下图所示:

单片机C语言实现的采用DS18B20的温度检测装置

完整的程序下载:

免费下载地址在

用户名与密码都是

具体下载目录在 /2013年资料/9月/11日/单片机C语言实现的采用DS18B20的温度检测装置

下载方法见


部分程序如下:

/*****************************************************************************/                                                                             

模块名:基于DS18B20的数字温度计 
创建人:  lecco           

VERSION:rick  1.0.1  beta                                                                           

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9b73d12fb1641ab5edbfc1bca9ac7107.html