基于数字温度传感器的数字温度计.docx
- 文档编号:15346885
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:17
- 大小:139.55KB
基于数字温度传感器的数字温度计.docx
《基于数字温度传感器的数字温度计.docx》由会员分享,可在线阅读,更多相关《基于数字温度传感器的数字温度计.docx(17页珍藏版)》请在冰点文库上搜索。
基于数字温度传感器的数字温度计
2014~2015学年第2学期
《单片机应用技术》
课程设计报告
题目:
基于数字温度传感器的数字温度计的设计
专业:
自动化
班级:
12自动化1
姓名:
宗国朱海峰王疏华袁继康
指导教师:
陆媛宋洪儒
电气工程学院
年月日
任务书
课题名称
基于数字温度传感器的数字温度计的设计
指导教师(职称)
陆媛宋洪儒
执行时间
2014~2015学年第2学期第11周
学生
学号
承担任务
宗国
1209111005
课程设计前期资料收集及查找
王疏华
1209111046
Proteus及keil软件安装及元器件名称熟悉
袁继康
1209111059
Proteus电路图设计,keil程序编写及验证仿真
朱海峰
1209111068
课程设计后期整理
设计目的
1、进一步熟悉和掌握单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4、通过程序设计和仿真,逐步掌握模块化程序设计方法和仿真软件的使用。
5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。
设计要求
利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量围为−55℃~125℃,精确到0.5℃。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用LED数码管实现温度显示。
课程设计摘要
一、课程设计摘要:
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
该系统由上位机和下位机两大部分组成。
下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。
上位机部分使用了通用PC。
该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。
二、关键字:
单片机温度测量DS18B20数字温度传感器AT89S51
第一章原理介绍
1.1总体设计方案
总体设计方案采用AT89C51单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由3个模块组成:
主控制器、测温电路及显示电路。
主控制器由单片机AT89C51实现,测温电路由温度传感器DS18B20实现,显示电路由4位LED数码管直读显示。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
1.2总体设计框图
控制器采用单片机AT89C51,温度传感器采用DS18B20,用4位LED数码管显示温度。
总体设计框图如图1-1所示。
1.3主控制部分
本设计采用AT89C51八位单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。
另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。
设计一种可以用于大规模多点温度测量的巡回检测系统。
该系统采用的是RS-232串行通讯的标准,通过下位机(单片机)进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点。
1.4DS18B20数字温度传感器
美国Dallas半导体公司的数字化温度传感器DS18B20是支持"一线总线"接口的温度传感器,在其部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
DS18B20支持"一线总线"接口,测量温度围为-55°C~+125°C,在-10~+85°C围,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20的主要特性:
(1)适应电压围更宽,电压围:
3.0~5.5V,在寄生电源方式下可由数据线供电
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路
(5)温围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
(7)在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
图1-4DS18B20型号数字温度传感器
DS18B20有两种供电接法,图1-2采用的是接入外部电源。
这样做的好处是I/O线上不需要加强上拉,而且总线控制器用在温度转换期间总保持高电平。
这样在转换期间可以允许在单线总线上进行其他数据的往来。
另外,在单总线上可以挂任意多片DS18B20,而且如果它们都使用外部电源的话,就可以先发一个SkipROM命令,再接一个ConvertT命令,让它们同时进行温度转换。
注意当加上外部电源时,GND引脚不能悬空。
第二章硬件设计
2.1单片机系统
方案采用AT89S52单片机作为控制器,完成所有的控制功能,包括:
✧温度传感器DS18B20的初始化和读取温度值
✧LED显示
✧温度存储及读取
单片机系统的电路如图2-1。
图2-1-a89C51的核心电路框图
2.2温度测试电路
这里我们用到温度芯片DS18B20。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式。
测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
其工作电源既可在远端引入,也可采用寄生电源方式产生。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度围为-55至+125℃,在-10至+85℃围,精度为0.5C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
图2-2DS18B20内部结构图
图2-3硬件连接电路图
本系统是基于DS18B20温度芯片的温度测试。
DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。
另外单总线长度也不宜超过80M,否则也会影响到数据的传输。
在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
对DS18B20的设计,需要注意以下问题:
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以减少调试和维护工作量。
(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
2.3显示电路
本设计用LED数码管显示温度值,且为共阳极。
LED是由多个发光二极管封装在一起组成“8”字型的器件,引线已在部连接完成,只需引出它们的各个笔划,公共电极。
LED数码管常用段数一般为7段有的另加一个小数点,共阳极数码管的部电路如图所示,下面将介绍常用LED数码管部引脚图。
图1这是一个7段两位带小数点10引脚的LED数码管
图2-3-a7SEG–COM–ANODE型号数码管
每一笔划都是对应一个字母表示DP是小数点.
数码管分为共阳极的LED数码管、共阴极的LED数码管两种。
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
一、静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。
故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。
二、动态显示驱动:
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。
2.4总体电路设计
总电路的设计是基于单片机的基本电路,DS18B20数字温度传感器和LED显示与其简单连接构成。
总体连接如图所示。
2-4-aProteus电路仿真电路图
第三章软件设计
(一)、概述
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。
从软件的功能不同可分为两大类:
一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。
每一个执行软件也就是一个小的功能执行模块。
这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。
各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
(二)、主程序模块
主程序需要调用2个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。
各模块程序功能如下:
●数码管显示程序:
向数码的显示送数,控制系统的显示部分。
●温度测试及处理程序:
对温度芯片送过来的数据进行处理,进行判断和显示。
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
3.1主程序流程图
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之测量一次被测温度,其程序流程见图3.1所示:
图3.1主程序流程图
3.2读出温度子程序流程图
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图3.2所示:
图3.2温度子程序流程图
3.3温度转换命令子程序流程图
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如上图,图3.3所示:
图3.3温度转换命令子程序流程图
3.4计算温度子程序流程图
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图3.4所示:
图3.4温度子程序流程图
3.5显示数据刷新子程序流程图
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
程序流程图如图3.5所示:
图3.5显示数据刷新子程序流程图
第四章总结
总结:
本次课设的任务是采用AT89C2051单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由3个模块组成:
主控制器、测温电路及显示电路。
主控制器由单片AT89C2051实现,测温电路由温度传感器DS18B20实现,显示电路由4位LED数码管直读显示。
通过本次课设使我学会了很多东西,通过自己找材料,向老师答疑,与同学讨论,自己修改,研究,最终完成本次课设。
在这个过程中,不但使我对单片机课程所学的知识有了更深入的了解,而且还培养了我的自学能力。
有些不懂的问题通过向老师请教得到解决,使我受益匪浅。
课设的过程是艰辛的,但是收获是巨大的。
首先,我再一次的加深巩固了对已有的知识的理解及认识;其次,我第一次将课本知识运用到了实际设计,使得所学知识在更深的层次上得到了加深。
再次,因为这次课程设计的确在某些方面存有一定难度,这对我来讲都是一种锻炼,培养了我自学、查阅搜集资料的能力;再有,计算操作工程中,我们曾经面临过失败、品味过茫然,但是最终我还是坚持下来了,这就是我意志、耐力和新年上的胜利,在今后的日子里,它必将成为我的宝贵财富。
参考文献
[1]毅刚.单片机原理及应用..高等教育,2010
[2]光飞.单片机C程序设计实例指导..航空航天大学,2005
[3]文涛.单片机语言C51典型应用及设计。
.人民邮电
[4]DALLAS公司.DS18B20数据手册[Z].
[5]余永权.ATMEL89系列单片机应用技术[M].(第三版).:
航空航天大学,2002.
答辩记录及评分表
课题名称
基于数字温度传感器的数字温度计的设计
答辩教师(职称)
陆媛宋洪儒
答辩时间
2014~2015学年第2学期第11周
答
辩
记
录
问;硬件电路中数码管的显示容及原理?
答;通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM–ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。
问;数码管使用的电流与电压?
答;静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。
问;AT89C51芯片的概述?
答;AT89C51是一个低功耗,高性能CMOS8位单片机,片含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片集成了通用8位中央处理器和ISPFlash存储单元。
评分表
学生
学号
评分
宗国
1209111005
王疏华
1209111046
袁继康
1209111059
朱海峰
1209111068
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数字 温度传感器 温度计