




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
综合课程设计报告报 告 题 目 :基于DS18B20温度传感器的 温度显示系统 作者所在系部: 机械工程系 作者所在专业: 测控技术与仪器 作者所在班级: 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 2011年12月28日 摘 要传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。在本设计中选用STC89C52型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过SN74LS245N并行传送数据传到数码管上,实现温度显示。设计了一个基于stc89c52单片机的温度监控报警系统,该系统以stc89c52为主控制器,以DS18B20芯片为温度传感器,对温度信息进行采集、放大,并用74LS245对数码管进行实时显示。此外,数码管还显示报警温度,当测试温度达到报警温度值或超出温度测量范围,系统能够给出报警指示并进行语音报警,本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和数码管显示电路;二是对系统软件部分的设计,应用C语言编程设置温度设定值、温度的采集与显示。通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成该系统的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际监测使用。关键词:单片机STC89C52;温度传感器DS18B20;LEN数码管Abstract Traditional temperature examination takes thermistor as temperature sensitive unit. Thermistors cost is low, needs the signal processing electric circuit, moreover the reliability is relatively bad, the temperature measurement accuracy is low, the examination system also has certain error. Compares with the traditional thermometer, what this design is based on the DS18B20 digital thermometer, it has the reading to be convenient, the temperature measurement scope is broad, the temperature measurement is precise, the digit demonstrated that applicable scope wide and so on characteristics. In this design as the main selection STC89C52MCN control device,using the DS18B20 digital temperature sensor as a temperature measurement devices,the parallel transmission of data tansmitted through SNL245N digital tube,to achieve the temperature display.A MCU STC89c52-based temperature monitoring alarm system is designed in the paper. The system takes MCU STC89c52 as the main controller, DS18B20 as the temperature sensor, and performs temperature information collecting, zoom, and real-time display. In addition, Temperature alarm with digital display, LED shows the alarming-temperature, alarm when the temperature reaches the test temperature value or goes beyond the scope of temperature measurement, the system can give voice instructions and report through telephone dial-up or wireless radio frequency transmitting and receiving module.The design of the content is divided into two parts,one part of the system hardware design,incuding he temperature acquisition circuiit and digital display circuit.second part of the system software design,application programming in C on the lower limit temperature alarm set value,temperture of the acquisition and display.DS18B20 temerture measured by dirrect reading the value into the microcontroller for date processing ,the output display after the final completion of the overall systerm design.The system constitutes a simple,effective signal acquisition,data processing speed ,ease of use of the actual monitoring.Keywords: MCU STC89S52; DS18B20; LEN; 目 录第一章 绪论41.1课题背景及来源41.2课题内容及要求4第二章 系统整体设计521系统设计方案论证5第三章 系统的硬件选择及设计63.1主控制器的设计63.2温度采集电路的设计63.3温度显示电路的设计10第四章 系统的软件设计114.1概述114.2程序流程图114.3 控制源程序13第五章 系统调试21结 论22致 谢23参考文献24第一章 绪论1.1课题背景及来源单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域,对各个行业的技术改造和产品更新换代起着重要的推动作用。众所周知,环境温度一直是生物能否较适宜生存的一个重要因素,而人们对环境温度的感知也从单纯的身体感官的感受发展到用各种温度计来对环境温度进行准确的测量。但是受限于技术等原因,温度计通常都有体积较大,精度不高等各种缺陷。而数字温度测量芯片的出现则解决了这些问题,其中的一款芯片DS18B20是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此,用它来组成一个测温系统,具有线路简单,在一根通信线上可以挂载很多这样的数字温度芯片,十分方便。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。1.2课题内容及要求本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机STC89C52芯片为核心,辅以温度传感器DS18B20和LED数码管及必要的外围电路,构成了一个多功能单片机数字温度计;并且可以通过按键显示设定温度值。该装置适用于人民的日常生活和工、农业生产的温度测量,实现对温度的监测。其主要研究内容包括两方面,一是对系统硬件部分的设计,包括温度采集电路和数码管显示电路;二是对系统软件部分的设计,应用C语言编程设置温度设定值、温度的采集与显示。通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、DS18B20、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度计的总体设计。其具体的要求如下:1、根据设计要求,选用STC89C52单片机为核心器件;2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的串行接口P3.6引脚相连;3、显示电路采用4个LED数码管显示器接P0口并行显示温度值,数码管由P2口(P2.3P2.6)选通,动态显示。第二章 系统整体设计21 系统设计方案论证2.1.1 方案一由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。因此,我们引出第二种方案。2.1.2 方案二我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本设计中采用了方案二。通过方案二设计的温度计总体设计方框图如图2.1所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用4位LED数码管以串口并行输出方式传送数据实现温度显示。系统硬件电路图见附录A。主控制器数码管单片机复位报警装置温度传感器时钟振荡图2.1总体设计方框图第三章 系统的硬件选择及设计3.1主控制器的设计3.1.1 STC89C52的简介STC89C52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了 Flash 程序存储器,既可在线编程(ISP),也可用传统方法进行编程,因此,低价位STC89C52单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机STC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 1、STC89C52的最小系统图芯片STC89C52的最小系统图如图3.1 所示。图 3.1 STC89C52单片机最小系统图3.2温度采集电路的设计由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。3.2.1 DS18B20的简介DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:DS18B20 的性能特点如下:l 独特的单线接口仅需一个端口引脚进行通讯l 每个器件有唯一的 64 位的序列号存储在内部存储器中l 简单的多点分布式测温应用l 无需外部器件l 可通过数据线供电。供电范围为3.0V到5.5V。l 测温范围为-55125(67257)l 在1085范围内精确度为5l 温度计分辨率可以被使用者选择为912位l 最多在 750ms 内将温度转换为12 位数字l 用户可定义的非易失性温度报警设置l 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件l 与DS1822兼容的软件l 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图 3.2 所示。其中,DQ 为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。其电路图3.3所示。图3.2外部封装形式 图3.3 传感器电路图3.2.2 DS18B20内部结构图3.4为DS1820的内部结构框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。DS18B20采用3脚PR35封装或8脚SOIC封装。存储器与逻辑控制64位Rom和单总线接口低温触发器TL高温触发器TH温度传感器高速缓存I/O C配置寄存器8位CRC发生器VDD图3.4 DS18B20内部结构框图温度传感器DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3.5所示。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留位(FFh)保留位(0Ch)保留位(10h)CRCByte0Byte1TH用户字节1TL用户字节2配置寄存器 Byte2Byte3Byte4Byte5Byte6Byte7Byte8图3.5 高速暂存RAM结构图其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下:0R1R011111 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0其中R0和R1是温度值分辨率位,可按表3.3进行配置。表3.3 温度值分辨率配置表R1R0分辨率最大转换时间(ms)009位93.75ms(tconv/8)0110位183.50ms(tconv /4)1011位375ms(tconv /2)1112位750ms(tconv)当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625/LSB形式表示。温度值格式如下:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LS Byte232221202-12-22-32-4Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8MS ByteSSSSS262524这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。格式中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。3.2.3 温度采集电路设计的温度采集电路如图3.6所示。 图3.6 温度采集电路图3.3温度显示电路的设计3.3.1 LED数码管的操作LED数码管,也叫LED数码显示器,由于它具有很高的性能价格比、显示清晰、亮度高、使用方便、电路简单、寿命长等诸多优点,长期以来一直在各类电子产品和工程控制中得到非常广泛的应用。LED数码管的基本组成是半导体发光二极管,它是将若干个发光二极管,按照一定的笔段组合起来构成的一个整体。LED数码管能显示09十个数字及部份英文字母。常见的八段LED数码管结构如图3.7所示图3.7 数码管的内部结构根据8个发光二极管的不同连接形式,可以将LED数码管分成共阳极和共阴极两种。 如果加到各笔段对应发光二极管阳极上的代码不同,则就能控制LED数码管显示不同的字符和数字,这个代码称为段码。通常将这个段码用单片机系统中的一个字节进行存储,正好这个字节中的8个二进制位(D7、D6、D5、D4、D3、D2、D1、D0),依次对应LED数码管的8个笔段dp、g、f、e、d、c、b、a。3.3.2温度显示电路显示电路采用4个共阴极LED数码管,从P0口并行输出段码,用P2.3P2.6四个端口输出选择脉冲,控制数码管的点亮。(见总电路图)第四章 系统的软件设计4.1概述软件设计关键在于DS18B20的使用。DS18B20属于单线式器件,它在一根数据线上实现数据的双向传输,这就需要一定的协议,来对读写数据提出严格的时序要求,而STC89C52单片机并不支持单线传输,因此必须采用软件的方法来模拟单线的协议时序。4.2程序流程图系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。1、主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.4所示。 N Y Y Y N N Y N初始化1S到?初次上电读出温度值,温度计算处理显示数据刷新发温度转换开始命令调用子程序发DS18B20复位命令发跳转ROM命令发读取温度命令读取操作,CRC校验移入温度暂存器9字节完?CRC校验正确?结束图4.4 主程序流程图图4.5 读温度流程图2、读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.5所示。发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图4.6 温度转换流程图3、温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图4.6所示。4、计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4.7所示。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束NNYY开始温度零下?温度值取补码置“”标志计算小数位温度BCD值 计算整数位温度BCD值 结束置“+”标志NY图4.7计算温度流程图 图4.8显示数据刷新流程图5、 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4.8所示。4.3 控制源程序 #include#include#include #include#define uchar unsigned char#define uint unsigned int/uchar code TAB=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/uchar code TAB1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; uchar code TAB=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code TAB1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;sbit DQ=P15;sbit wei1=P20;sbit wei2=P21;sbit wei3=P22;sbit wei4=P23;sbit sd=P16;/p16口接蜂鸣器实现报警void delay(uint i)while(i-);void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i0;i-)/DQ=1;/delay(1);DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;/读出数据放入高位,最后右移到低位delay(4);return(dat); write(uchar dat)uchar i=0;for(i=8;i0;i-)DQ=0;DQ=dat&0x01;/从地位开始写入delay(5);DQ=1;dat=1;delay(4); Readtem(void)uchar a=0;uchar b=0;uint temp;float f_temp;init_DS();write(0xcc);/跳过读序列号操作write(0x44);/启动温度转换delay(125);init_DS();write(0xcc);write(0xbe);/读温度寄存器a=Read();/读取温度低位LSBb=Read();/读取温度低位HSBtemp=b;temp=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*100+0.5;f_temp=f_temp+0.05;return temp;/*t1=(a&0x0f)*0.0625;/取小数部分t=(b4);/取整数部分if(t128)t=t+1;t=t+t1;return(t);*/void main()uint temp;while(1)temp=Readtem();/tp=tp*100;/把二位数乘以100变成四位数display(temp); if(temp2500) sd=0;/25为自己设定温度值else sd=1; 第五章 系统调试 系统的调试以程序为主,硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 看影子猜动物英语课堂游戏
- CN120203828A 全口义齿制造方法及全口义齿
- 老年人安全移动课件
- 实际问题与一元一次方程 (2知识点+10大题型+过关测)学生版-2025年人教版新七年级数学专项提升
- 酸菜知识培训内容摘要
- 镗工高级模拟考试题及答案
- 探索与表达规律 预习练(含解析)
- 人教版八年级英语下册专练:任务型阅读专练20篇(附答案)
- 配音课件app教学课件
- 人教版八年级英语下册期末考前模拟必刷卷01(含答案)
- 第七届全国急救大赛(医生组)理论测试考试题库及答案
- AGV拖车电机选择计算表
- 精神障碍的早期识别与心理治疗
- 液氧贮存与充装安全管理
- 老师孤独症培训课件
- 家庭经济困难学生认定申请表
- 2024年《经济法基础》教案(附件版)
- 智慧化税费申报与管理 课件 项目四企业所得税智慧化税费申报与管理
- 《税费计算与申报》课件 项目二 增值税的计算与申报任务三 增值税的申报
- 电动汽车的储能技术
- 阀门检验报告汇总266黄铜球阀
评论
0/150
提交评论