黄河科技学院《单片机应用技术》课程设计题目:基于数字温度传感器的数字温度计姓名:时鹏院(系):工学院专业班级:学号:指导教师:黄河科技学院课程设计任务书工学院机械系机械设计制造及其自动化专业S13级1班学号1303050025姓名时鹏指导教师朱煜钰题目:基于数字温度传感器的数字温度计设计课程:单片机应用技术课程设计课程设计时间2014年10月27日至2014年11月10日共2周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1课程设计任务书及摘要一、课程设计题目:基于数字温度传感器的数字温度计二、课程设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为-55℃~125℃,精确到0.5℃。数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。三、课程设计摘要DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。四、关键字:单片机温度测量DS18B20数字温度传感器AT89C512目录绪论.......................................................................................31.原理介绍............................................................................41.1总体设计方案............................................................41.2主控制部分................................................................41.3总体设计框图............................................................42.硬件电路...........................................................................52.1硬件电路预览...........................................................52.2DS18B20介绍............................................................52.3AT89C51介绍............................................................82.4数码管介绍.............................................................103.程序设计..........................................................................113.1程序流程图.............................................................113.2程序清单.................................................................124.仿真效果图......................................................................165.结论与总结......................................................................183绪论随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便一是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,腰围现代人工作、科研、生活提供更好更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研等各个领域,已经成为一种比较成熟的技术,在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要的地位。首先了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。由此可见,温度检测系统应用十分广阔。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内报警。41.原理介绍1.1总体设计方案总体设计方案采用AT89C51单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由3个模块组成:主控制器、测温电路及显示电路。主控制器由单片机AT89C51实现,测温电路由温度传感器DS18B20实现,显示电路由4位LED数码管直读显示。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。1.2主控制部分本设计采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。该系统采用的是RS-232串行通讯的标准,通过下位机(单片机)进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点。1.3总体设计框图控制器采用单片机AT89C51,温度传感器采用DS18B20,用4位LED数码管显示温度。总体设计框图如图1-1所示。图1.1总设计框图52.硬件电路2.1硬件电路预览图2.1总电路2.2DS18B20介绍DS18B20是由美国DALLAS半导体公司研制的一款数字温度传感器,与一般的热敏电阻相比,它能够直接检测出被测温度并且可根据实际的要求通过简单的编程实现9~12位的数字读取方式。DS18B20采用独特的单总线接口方式,只需一根线与单片机直接连接便可实现数据的读写操作,简化了分布式温度传感网络的应用。DS18B20数字温度传感器的优点是结构简单,耐磨耐碰,体积较小,使用方便,与传统温度传感器相比测量精度较高,其抗干扰能力强,封装形式也有很多种,可以根据不同的应用场合而选择不同形式的封装。因此,本系统选择DS18B20作为系统温度传感器,可以简化系统结构,使测量方便、可靠,同时DS18B20的价格也比较便宜。DS18B20有以下优点:(1)单总线接口方式:DS18B20与单片机联接只需一根数据总线便能完成数据的全双工通信。(2)在使用时不需要外围元器件。6(3)DS18B20工作电压范围宽,可工作于3.0V~5.5V,可以由数据线直接供电,不需要外部电源。(4)测温范围为:-55℃~+125℃,可以满足一般的生产生活需要,测温分辨率0.5℃(5)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃、0.0625℃,可实现高精度测温。(6)DS18B20支持多传感器组成测温网功能,可以由单片机引出的一条总线上并联多个温度传感器以实现多点组网测温。DS18B20的封装有很多种,最常见的是TO-92封装,它的管脚说明如图所示。其封装结构共有三个引脚,分别为电源引脚(VCC),数据线引脚(DQ)和接地引脚(GND)。图2.2DS18B20的TO-92封装DS18B20的内部结构如图所示。7图2.3DS18B20的内部结构图从图中我们可以看出,DS18B20数字温度传感器主要由四部分组成:64位ROM只读存储器、温度传感器、高低温度触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2.3所示,其中DQ为数字信号I/O口;GND为电源地,需要与单片机共地;VDD为外接电源输入端。每个DS18B20的ROM都有不同64位序列号,其序列号是出厂前被光刻好的,不可更改,它可以看作是该DS18B20的地址序列码。64位ROM的排循环冗余校验码是CRC=X8+X5+X4+1。ROM序列号的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上并联多个DS18B20实现多点组网测温的目的。温度的测量由DS18B20中的温度传感器完成,并将检测到的温度用16位带符号扩展的二进制补码读数形式由数据总线传出,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。高速暂存器是一个9字节的随机存储器。开始低位两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被重置;第6、7、8字节未用,默认为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。DS18B20在使用中的注意事项。DS18B20虽然具有测温电路简单、测温精度较高、连接方便、占用I/O端口线少等优点,在实际应用中应注意以下几个问题:(1)简单的硬件电路需要相对复杂的软件进行编辑,DS18B20与单片机间采用串行数据传送,因此,在对DS18B20进行读取和写入编程时,必须严格保证读写时序,否则将无法读取测温结果。(2)在实际应用中,当单总线上所挂DS18B20最好不要超过8个,否则,就需要解决单片机的总线驱动问题。(3)连接DS18B20的总线电路是有长度限制的。当采用普通信号电缆传输数据,且电缆长度超过50M时,读取的测温数据会因为有外界的干扰而发生错误。而将总线电缆改为双绞线带屏蔽电缆时,正常通信距离最远可达150M。因此,在用DS18B20进行长距离测温系统设计时,需要解决总线分布电容的阻抗匹配问题。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序需要等待DS18B20的返回信号。实际应用中难免出现某个DS18B20断线问题,当程序需要读该DS18B20时,将没有返回信号,程序将进入死循环