毕业论文 基于ds1820的温度采集系统设计_第1页
毕业论文 基于ds1820的温度采集系统设计_第2页
毕业论文 基于ds1820的温度采集系统设计_第3页
毕业论文 基于ds1820的温度采集系统设计_第4页
毕业论文 基于ds1820的温度采集系统设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DCS1820温度采集系统的设计摘要DS18B20的温度采集系统利用下位机设置温度上下限和实时温度的采集,并将结果传输到上位机,以达到对温度的比较、控制。本设计用MCS51单片机为主要硬件,设计了包括温度采集,温度显示,系统控制,串口通信等外围电路。在温度测量部分采用具有“一线总线”接口的数字传感器DS18B20,实现单线多点数据的采集。关键词DS1820温度传感器单片机通信接口目录摘要1前言3第一章温度采集显示系统的设计要求和设计方案411系统设计任务412功能要求413方案论证和选定4第二章温度采集系统外部器件的设计621总体分析6228051单片机的性能及应用723DS18B20芯片简介1324DS18B20原理及应用1425DS18B20与单片机的典型接口设计2726DS18B20使用中注意事项28第三章硬件设计2931硬件电路设计的功能简介2932硬件设计部分的组成3033硬件电路图31第四章软件电路的设计3241系统功能3242系统流程图3243DS18B20温度采集源程序33第五章联机调试和分析40结论40参考文献41致谢41附录1图片42附录2PROTEUS仿真软件电路图43前言在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。由DALLAS出品的新型的单路串行数字温度传感器DS18B20,完成温度测量、分析、判断阈值、输出功能。整个系统具有集成度高、可靠性强、抗干扰性强(串行通信特点)、鲁棒性强、可扩展性强(可利用识别序列号组成多点测量)、体积小、功耗低等特点。本系统具有测温、上限报警、下限报警、温度控制及显示功能。基于本系统可扩展如下功能1增加键盘使可随时调整温度上下限。2扩展传感器数量,组成测量网络。实现多点测量。同时对MCS51单片机系列各芯片进行了优劣势对比、介绍了单线数字温度传感器的基本内部结构及主要性能特点。单片机是可以对端口进行控制、输入输出数据,对数据进行处理的器件。MCS51单片机是美国INTE公司于1980年推出的产品,符合我校课程安排的培训教材以MCS51单片机作为代表进行理论基础学习。ATMEL生产的系列单片机指令系统与单片机课程学习中接触的指令系统相同,管脚分布以及功能与学习过程中实验使用相同。利用此类单片机,选择合适传感器进行数据交换、数据处理、根据处理结果控制外围设备,从硬件设计到软件实现,此类系统具有一定可行性。该系统希望实现对特定地点温度的测量,以及控制,据有很广泛的可利用性以及扩展性。综合以上分析,在计算机广泛应用的今天,温度采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。它在现代信息领域发挥着重要作用,是信息产品不可或缺的重要组成部分。因此选择基于单片机温度采集系统设计是很有意义也是很有必要的。第一章温度采集显示系统的设计要求和设计方案11系统设计任务1、了解DS18B20的工作原理,掌握其使用和编程方法。2、理解DS18B20控制时序和控制方法流程。3、学会DS18B20与单片机的接口设计。4、掌握51单片机对DS18B20的软硬件设计。12功能要求1、数字温度要求测温范围为50110,精度误差在01以内,LCD数字显示器直接读出显示。2、编程实现80C51与DS18B20之间的通讯,连续读出DS18B20中所测9位精度的温度。3、在仿真器中设断点进行观察,观察温度变化时测量值的变化情况。13方案论证和选定一、显示方案的选择1、用LED数码管进行显示显示效果由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。安全性即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。2、用LCD数码管进行显示显示准确、可靠新型数码显示器性能稳定,不会出现重码等显示错误,显示数据准确、可靠;节能、安全新型数码显示器每平方米电流仅为100MA,驱动电压为2085V。使用寿命长新型数码显示器使用寿命可达810年以上。全天候使用新型数码显示器抗紫外线能力强。由以上比较得使用LCD数码管显示更为优越,所以我选择LCD作为温度显示器。二、程序方案的选择1、用C语言进行编程采用这类编程需要有较强的C语言能力,C51程序是用于单片机系统的,因此要考虑单片机的资源,例如储存器空间和寻址方式等。C程序是针对具体应用系统编写的,所以软件的编写一定要在系统硬件的基础上完成,也就是软件编写一定要考虑系统硬件环境。在编译和链接时,要根据需要合理选择编译控制指令和链接控制指令。2、用汇编语言进行编程在运用这类程序编写时,它把体现单片机各种功能的寄存器组织在统一的地址空间中。用直接寻址的方法实现单片机的各种操作,使指令显得灵活、简洁、易理解。此外,MCS51指令中有一个位处理指令子集,这在设计需要进行位操作的程序时十分方便有效。此外,MCS51指令系统在其储存空间、时间的利用率及工作效率方面都是较高的。习惯使用伪指令,记忆和理解一个变量名比记忆一个地址要容易的多。一些开发环境对编程有特殊要求。第二章温度采集系统外部器件的设计21总体分析1、本数字温度采集设计系统采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为55125,最大分辨率在00625。DS18B20可以直接读出温度被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。2、功能的要求,确定系统由3个模块组成主控制器、测温电路、显示电路。主控制器单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可用二节电池供电。测温电路温度传感器使用DS18B20,DS18B20也支持“一线总线”接口,测量温度范围为55C125C,在1085C范围内,精度为05C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,与前一代产品不同,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。显示电路显示输出采用LCD显示器。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。对于画面稳定、无闪烁感的液晶显示器,刷新率不高但图像也很稳定。3、单片机由于其体积小,功耗低,价格低廉,且具有逻辑判断,定时计数,程序控制等多种功能而广泛的应用于温度控制系统之中,是温度采集系统的重要核心部分之一。228051单片机的性能及应用1、单片机的发展1976年INTEL公司推出MCS48系列8位单片机,以体积小、功能全、价格低等自身的魅力,得到了广泛的应用,成为单片机发展过程中的一个重要标志。由于MCS48系统的成功应用,单片机系列及单片机应用技术迅速发展,到目前为止,世界各地商场以相机研制出大约50个系列300多个品种的单片机产品。代表产品有INTEL公司的MCS51系列机,MOTORALA公司的MC6801系列机,ZILOG公司的Z8系列机等等。目前,单片机正朝着高性能和多品种发展,但由于MCS51系列8位单片机仍能满足大多数应用领域的需求,可以肯定,以MCS51系列为主的8位单片机,现在及以后的相当一段时间内仍然将占据单片机应用的主导地位。2、单片机的应用特点1)具有较高的性能价格比。高性能、低价格是单片机最显著的一个特点,其应用系统具有印制板小,接插件少、安装调试简单方便等特点,使单片机应用系统的性能价格比大大高于一般微机系统。2)体积小,可靠性高。由单片机组成的应用系统结构简单,其体积特别小,极易对系统进行屏蔽等抗干扰措施。另一方面,单片机对信息传输及对存储器和I/O接口的访问,一般情况下是在单片机内部进行的,因此,不易受外界的干扰。所以,单片机应用系统的可靠性比一般微机系统高得多。3)控制功能强。单片机采用面向控制的指令系统,实时控制功能特别强。在实时控制方面,尤其是位操作方面单片机有着不俗的表现。CPU可以直接对I/O口进行输入、输出操作及逻辑运算,并且具有很强的位操作能力,能有针性地解决由简单到复杂的各类控制任务。在单片机内储存器ROM和ROM是严格分工的。ROM用作程序储存器,只放程序,常数和数据表格,由于配置较大的程序储存空间ROM,可以将以调好的程序固化在ROM(也称烧录或者烧写),这样不仅掉电时程序不丢失,还避免程序被破坏,从而确保了程序的安全性。而RAM用作数据存储器,存放临时数据和变量,这种方案使单片机更适用于实时控制系统。4)使用方便,容易产品化。由于单片机具有体积小、功能强、性能价格比较高、系统扩展方便、硬件设计简单等优点。单片机的硬件功能具有广泛的通用性。同一种单片机可以用在不同的控制系统中去,只是其中所配置的软件不同而已。换言之,给单片机固化上不同的软件,便可形成不同的专用智能芯片,可称为“件就是仪器”。5)单片机开发工具具有很强的软、硬件调试功能,使研制单片机应用系统极为方便,加之现场环境的可靠性,因此使单片机能满足许多小型对象的嵌入式应用要求,可广泛的应用在仪器仪表、家用电器、智能玩具、控制系统等领域中。3、单片机的应用单片机由于其体积小、功耗低、且具有逻辑判断等功能,因而广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴1在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途由此可见,单片机从根本上改变了系统控制的设计思想和方法。过去必须由模拟电路、数字电路控制电路实现大部分功能,现在已能用单片机并通过软件方法实现。由于软件技术的飞速发展,各种软件系列产品的大量涌现,可以极大地简化硬件电路。随着单片机应用的推广普及,单片机技术无疑是21世纪最为活跃的新一代电子应用技术。随着微控技术的发展,单片机的应用必将导致传统控制技术发生巨大变革。4、单片机的芯片简介1)单片机引脚图图20单片机引脚图40个引脚按引脚功能大致可分为4个种类电源、时钟、控制和I/O引脚。电源VCC芯片电源,接5V;VSS接地端;注用万用表测试单片机引脚电压一般为0V或者5V,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0V5V之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0V或者5V。时钟XTAL1、XTAL2晶体振荡电路反相输入端和输出端。控制线控制线共有4根,ALE/PROG地址锁存允许/片内EPROM编程脉冲ALE功能用来锁存P0口送出的低8位地址PROG功能片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN外ROM读选通信号。RST/VPD复位/备用电源。RST(RESET)功能复位信号输入端。VPD功能在VCC掉电情况下,接备用电源。EA/VPP内外ROM选择/片内EPROM编程电源。EA功能内外ROM选择端。VPP功能片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。I/O线80C51共有4个8位并行I/O端口P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)5单片机实物图主要功能及其特征8位CPU中央处理器、内置程序存储器ROM、随机存取数据存储器RAM和输入输出端口I/O全部集成在单一的芯片上而构成了完整的微型计算机。1)8位CPU。2)双列直插40PINDIP封装。3)所有指令均为12个机器周期。4)96条指令,大部分为单字节指令。5)2个工作寄存器。6)2个可编程定时/计数器。7)8层堆栈。8)单一5V电源供电。9)使用6MHZ外接石英晶体管振荡器,此时机器周期为25US。10)与先期开发的8080和8085微处理器兼容。6单片机的结构框图如图所示图21单片机的结构框图23DS18B20芯片简介1、DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在9375MS和750MS内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。2、其主要特点如下。独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3055;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;3、DS18B20的外形及管脚排列如图所示图32DS18B20的管脚排列DS18B20引脚定义如下1)DQ为数字信号输入/输出端;2)GND为电源地;3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。24DS18B20原理及应用1、DS1820测温原理及内部结构图33DS18B20内部结构框图图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1,而高温度系数晶振的振荡频率随温度变化明显,它产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置值重新装入,并再次对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数减到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图1中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。2、DS18B20有4个主要的数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRCX8X5X41)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位。图34DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于00625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于00625即可得到实际温度。例如125的数字输出为07D0H,250625的数字输出为0191H,250625的数字输出为FF6FH,55的数字输出为FC90H。温度值数字输出(二进制)数字输出(16进制)125000001111101000007D0H8500000101010100000550H2506250000000110010001019H10125000000001010001000A2H0500000000000010000008H图34DS18B20温度对照表3、DS18B20温度传感器的内部存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如下所示。其中温度信息(第1,2字节)、TH和TL值第3,4字节、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。图35DS18B20内部储存器结构图当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以00625/LSB形式表示。温度值格式如下对应的温度计算当符号位S0时,直接将二进制位转换为十进制;当S1时,先将补码变换为原码,再计算十进制值。TH用户字节1TH用户字节2配置寄存器EEPROM温度LSD(50H)温度LSD(05H)CRC保留位FFH保留位10H保留位0CH配置寄存器TH用户字节2TH用户字节1高速暂存器(上电状态)BYTE1BYTE8BYTE0BYTE7BYTE6BYTE2BYTE5BYTE4BYTE3DS18B20完成温度转换后,就把测得的温度值与TH,TL作比较,若TTH或TINCLUDEINCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHAR主程序主程序初始化进入睡眠开中断各端口初始化DEFINEUINTUNSIGNEDINTVOIDSERIAL_SETVOIDVOIDPROCESSUNSIGNEDCHAR,UNSIGNEDCHARCHARVOLATILEXIAOSHU_TEMP5,ZHEN_TEMP4/BITFLAGBITDOT_DIS1SBITDQP10/SBITDQP21EXTERNUNSIGNEDCHARTEMP5/功能延时600US参数无/VOIDDELAY600USVOIDUCHARIFORI0I4PROCESSHIGH,LOWELSEFLAG0/ZHENTEMP1HIGHTEMP2LOWTEMP1TEMP14TEMP3TEMP1|TEMP2HIGHTEMP3LOWLOWPROCESSHIGH,LOW/功能数值处理函数参数无返回/VOIDPROCESSUNSIGNEDCHARHIGH,UNSIGNEDCHARLOWUINTTEMP1UCHARITEMP1LOW625XIAOSHU_TEMP0TEMP1/10000XIAOSHU_TEMP1TEMP1/100100XIAOSHU_TEMP2TEMP1100/100XIAOSHU_TEMP3TEMP1100XIAOSHU_TEMP40IFXIAOSHU_TEMP30XIAOSHU_TEMP30IFXIAOSHU_TEMP20XIAOSHU_TEMP20IFXIAOSHU_TEMP10XIAOSHU_TEMP10IFXIAOSHU_TEMP00XIAOSHU_TEMP00DOT_DIS0ZHEN_TEMP0HIGH/1000ZHEN_TEMP1HIGH100/100ZHEN_TEMP2HIGH100ZHEN_TEMP30FORI0I2IIFZHEN_TEMP00ZHEN_TEMP0ZHEN_TEMP1ZHEN_TEMP1ZHEN_TEMP2ZHEN_TEMP20ELSEBREAK/SERIAL_SETFUNCVOIDSERIAL_SETVOIDSCON0X50TMODTMODTMODTMOD|0X2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论