




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无 锡 职 业 技 术 学 院毕业设计说明书(论文)题目摘 要:本课题主要介绍基于at89c51单片机和ds18b20数字温度传感器的温度测量系统。该系统利用at89c51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。它以at89c51单片机为主控制芯片,采用数字温度传感器ds18b20实现温度的检测,测量精度可以达到0.5。该系统采用了1602显示模块,形象直观的显示测出的温度值。基于at89c51单片机的单总线温度测控系统具有硬件组成简单、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。摘 要 关键词:数字温度传感器;at89c51单片机;温度测量1 引言在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。温度是一个永恒的话题和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其用途已遍及工农业生产和日常生活的各个领域。2 总体方案设计21方案一:该方案使用了at89c51单片机作为控制核心,以智能温度传感器ds18b20为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警。显示电路采用1602液晶模块显示,使用二极管,电阻和蜂鸣器组成的报警电路。如图1ds18b20温度传感器数据采集单片机 1602液晶显示电路报警电路图1温度测量系统方案框22方案二:该方案采用 温度测量(数字量)-数据采集-数据处理-控制执行-温度打印,整个系统结构如图2所示。at89c51单片机报警键盘led显示a/d转换光隔加热电路温度传感器图2系统硬件结构示意图运算放大器打印机要有方案比较,就经用的是什么方案3分电路设计和论证3.1温度传感器的选择在电热恒温箱的控制系统中温度传感器是非常重要的元件之一,它将负责恒温箱的温度采集,也就是对恒温箱的温度作时时地采集。它把采集到的温度传道控制部分,然后由控制部分分析是否需要加热或是停止加热一系列的动作,由于温度度传感器是电热恒温箱的温度探测器,所以对于温度传感器的性能,包括它的工作稳定性、可靠性及灵敏度等技术指标一定要保证,因为它直接影响到整个控制系统的运行。温度是一个和人们生活环境密切相关的物理量,也是一个在科学试验和生产活动中需要控制的重要物理量。因此,在各种传感器中,温度传感器是应用最广泛的一种。温度传感器是一种将温度变化转换为电学量变化的装置,用于检测温度和热量,因此也叫做热电式传感器。其中将温度变化转换为电阻变化的元件主要有热电阻、热敏电阻和高分子ntc、ptc热敏电阻,将温度变化转换为电势的传感器主要有热电偶和pn结式传感器,将热辐射转换为电学量的器件有热释电探测器、红外探测器,另外还有集成温度传感器、光纤温度传感器、液晶温度传感器和智能温度传感器等等,种类越来越多,应用亦愈来愈广泛。3.2温度传感器的基本原理利用感温材料,把测量温度转化为测量电阻的测温系统,主要有金属热电阻式和半导体热电阻式两大类,前者简称热电阻,后者简称热敏电阻。它们的阻值随温度的升高,有的增加即属于正温度系数热敏电阻,有的减少即属于负温度系数热敏电阻。常用于测量-200500c范围内的温度,同时在5001200c温度范围中也有足够好的特性。1.热电阻的特性大多数金属导体的电阻具有随温度变化的特性,其特性方程如下:rt = ro1+a(t-to) 式中rt表示任意绝对温度t时金属的电阻值;ro表示基准状态to时的电阻值;a是热敏电阻的温度系数(1/c)。对于绝大多数金属导体,a并不是一个常数,而是有关温度的函数,但在一定的温度范围内,可近似地看成一个常数。不同的金属导体,a保持常数对应的温度范围也不同。一般选作感温电阻的材料必须满足如下要求:(1)电阻温度系数a要高,这样在同样条件下可加快热响应速度,提高灵敏度。通常纯金属的温度系数比合金大,一般均采用纯金属材料。(2)在测温范围内,化学、物理性能稳定,以保证热电阻的测温准确性。(3)具有良好的输出特性,即在测温范围内电阻与温度之间必须有线性或接近线性的关系。(4)具有较高的电阻率,以减少热电阻的体积和重量。(5)具有良好的可加工性,且价格便宜。比较合适的材料有铂、铜、铁和镍等。它们的阻值随温度的升高而增大,具有正温度系数。3.3热敏电阻热敏电阻是用某种金属氧化物为基体原料,加入一些添加剂,采用陶瓷工艺制成的具有半导体特性的电阻器,其电阻对温度变化很明显,电阻温度系数比金属的大很多,被称为热敏电阻。热敏电阻分为三种类型:正温度系数(ptc-positive temperature coefficient)热敏电阻,负温度系数(ntc-negative tempera-ture coefficient)热敏电阻和临街温度系数(ctr-critical temperature resistor)热敏电阻。它们的共同特点是灵敏度高,从复性好,工艺简单,便于工业化生产,因而成本较低,应用很广泛。它们的温度特性曲线如图1.热敏电阻特性参数1.标称电阻值(r)标称电阻是热敏电阻在25c时的零功率状态下的阻值。其大小取决于热敏电阻的材料和它的几何尺寸。如果环境温度不是25c,而在25c27c之间,则按下式计算rt = r1+a(t-25)2.电阻温度系数(a)用于描述温度的变化引起电阻变化率变化的参数。指在规定的温度下,单位温度变化使热敏电阻值变化的相对值。用下式表示a = 1/rdr/dt*100%式中a决定了热敏电阻在全部工作范围内对温度的灵敏度,单位为%/c。3.时间常数()尽管热敏电阻的几何尺寸可以制作得很小,但它还是有热惯性的。时间常数就是表征热敏电阻值惯性大小的参数,其数值等于热敏电阻在零功率测量状态下,当环境温度突变时,热敏电阻的阻值从起始值变化到最终变化量的63%时所需的时间。4.额定功率(p)指在标准压力(750*133.322 pa)和规定的最高环境温度下,热敏电阻长期连续工作所允许的最大耗散功率。在实际使用中,热敏电阻所消耗的功率不得超过额定功率。3.4半导体热电阻温度传感器半导体材料的电阻率对温度非常敏感,这显然对半导体器件的可靠性会产生不利影响,但是我们可以利用其电阻率随温度变化的特性制成温度传感器。1.半导体热电阻温度传感器的工作原理有半导体物理知半导体材料的电阻率可以用下式表示=1/(nq+p)式中n,p分别为材料中电子和空穴的浓度;、分别为电子和空穴的迁移率;q为电子的电量。对于p型半导体材料,空穴浓度远远大于电子浓度,则上式可以简化为=1/pq对于n型半导体,电子浓度n远远大于空穴浓度p,则式可以简化为=1/nq以上表明,半导体材料的电阻率主要决定于载流子(电子或空穴)浓度和迁移率。而载流子浓度和迁移率都与温度密切相关,应分别进行分析。3.5 热电偶利用两种不同的金属连接在一起,当结点处温度变化时,另两端产生电势变化的原理制成的传感器称为热电偶。它具有结构简单,使用方便,精度高,热惯性小的特定,可测量局部温度,便于远距离传送,集中检测和自动记录,应用十分广泛。1.热电偶的基本原理1823年赛贝克(seebeck)发现,把两种不同的金属组成闭合回路,且使其两接触点处温度不同,回路中就会产生电流,把这个物理现象称为赛贝克效应,亦称热电效应。将两种不同导体材料a和b,两端连接在一起组成回路,一端温度为to,另一端温度为t(若 tto),则图中微安表上会有一定读数;若将to触点分开,则端口产生一个与温度t、to及导体材料a、b有关的电势e(t,to),这个电势就是赛贝克电势,两个端点中温度为t的一端称为工作端,温度为to的一端称为自由端或参考端。回路的总电动势为e(t,to)=atdt=e(t)-e(to)式中a为热电势或赛贝克系数,其值与热材料和两接点的温度有关。众所周知,半导体材料和器件的许多性能参数,如电阻率、pn结的反向漏电流和正向电压等都与温度有着密切的关系,利用它们对温度的依赖性制成半导体温敏器件,实现对温度的检测,控制和补偿等功能。半导体温度传感器按其工作原理可分为用半导体单晶体制成的非结型温度传感器和具有pn结的半导体温度传感器两种类型。3.6 pn结温度传感器1.二极管温度传感器由pn结理论可知,二极管的正向电流io与其压降vf有如下关系i = iexp(qv/kt)式中i为pn结反向饱和电流;q为电子的电荷量;k为波尔兹曼常数;t为绝对温度。则 v = kt/q lni/i又因反向饱和电流为io = atexp(-qv/kt)式中a为发射结面积;是与材料和工艺有关的常数;qv为禁带宽度。由上式可得到v = -v-kt/qln b+ln t-ln i上式表明,当电流保持不变时,pn结正向压降v随温度t的上升而下降,近似线性关系。二极管温度传感器是利用pn结正向电压与温度关系的特性而制作的。2.晶体管温度传感器研究发现在晶体管机电机电流恒定的条件下,其发射结上的正向电压随温度上升而近似线性下降,这种温度特性与二极管相似。但对于实际的二极管,其正向电流除扩散电流以外,还包括空间电荷区中的复合电流和表面复合电流成份,后两种电流成分使实际二极管的电压温度特性偏离前面讲的理想近似线性关系。而三机管中虽然发射极电也包括上述三部分,但是只有扩散电流能够到达集电极,后两个电流成分则作为基极电流漏掉,使晶体管表现出比二极管更好的线性和互换性。(1)基本原理由晶体管原理可知,npn晶体管的基极发射极电压v与温度t的关系为v = v-kt/q(at/ic)式中v=e/q(eg为硅单晶的禁带宽度 );a为发射结面积;是与材料和工艺有关的常数。当ic一定且t不太高时,vbe基本与温度成线性关系,当温度较高时,产生一定的非线性偏移。(2)晶体温度传感器的结构在实现温度检测时,只有温敏三极管本身是不够的,必须附加适当的外围电路,才构成温度传感器。外围电路通常包括参考电压源、运算放大及线性电路等部分。图给出了一种常用的晶体管温度传感器基本电路及其温度特性曲线。该电路由一只运算放大器和一个温敏三极管组成。电容c的作用是防止寄生振荡。温敏三极管作为反馈元件跨接在运放的反向输入端和输出端,基极接地。这种接法使得发射极为正偏,而集电极几乎为零偏。这是因为运放的反相输入端为虚地。晶体管的集电极ic仅取决于电阻rc和电源电压e即ic=e/rc,而与温度无关,从而保证了恒流源工作条件,使电压v随t近似线性下降3.7集成温度传感器所谓集成温度传感器是将温敏晶体管及其辅助电路集成在同一个芯片上的温度传感器。它与其他温敏元件相比,最大的优点在于输出结果与绝对温度成正比,即是理想的线性输出。同时,体积小,成本低,使用方便,因此广泛用于温度检测、控制和许多温度补偿电路中。因为温敏晶体管的v与绝对温度的关系并非绝对的线性关系,加之在同一批同型号的产品中,v值也可能有100mv的离散性,所以集成温度传感器采用对管差分电路,直接给出与绝对温度严格成正比的线性输出。图中给出集成温度传感器的基本原理图。其中bg1和bg2晶体管的杂质分布种类完全相同,且都处于正向工作状态,集电极电流分别为i1和i2。由图可见,即电阻r1上的压降v为两管的基极发射极压降之差,并有v=v-v=kt/qi/i-kt/qi/i=kt/qi/ii/i式中i、i为bg1和bg2管的发射极反向饱和电流;若ae1、ae2为bg1和bg2管发射极面积。而ies2/ies1=ae2/ae1,通过设计可以使bg1、bg2发射极面积之比=ae2/ae1是与温度无关的常数,故只要在电路设计中能保证i1/i2是常数,则式中vbe就是温度t的理想的线性函数,这就是集成温度传感器的基本原理。1.电压型集成温度传感器(1)基本原理 电压型集成温度传感器是指输入电压与温度成正比的温度传感器。其核心电路如图所示。图中bg3,bg4,bg5pnp晶体管结构和性能完全相同,bg3与bg4组成恒流源,且两者射极电流相同(称为电流镜),所以r1上压降v可表示为v=kt/q则r1上电流为i=kt/qr因为bg5与bg3、bg4完全相同,且基极、集电极点位相同,所以bg5的射极电流与 bg3、bg4上相同,所以vo=r/rkt/q则上述电路的温度系数为=dvo/dt=r/rk/q可见只要两个电阻比为常数,就可得到正比于绝对温度的输出电压,而输出电压的温度灵敏度即温度系数可由电阻比r/r;bg1,bg2的发射极面积比来调整。(2)电压型集成温度传感器的电路结构及性能常用的电压型集成温度传感器为四端输出型,代表性的型号有sl616,lx5600/5700,lm3911,up515/610a-c和up3911等。其线路由基准电压、温度传感器和运算放大器三部分组成。温度传感器是核心电路,原理是输出电压与温度成正比,如图若将图中输入与输出短接,运算放大器起焕缓冲的作用,输出为10mv/kt,即是ptat的输出值。若给输入端加上偏置电压,那么传感器的零输出将由0k移到与偏置电压对应的温度。假设所加偏压为2.73v,零输出温度2.73v/k=273k。只要所选偏置电压为设定10mv/k,传感器的温度达到设定温度t时,输出为0,未达到设定温度时输出不为0,因此与适当的控制电路相接,此电路可作为温度控制使用。外形结构为四个引线封装形式。典型性能参数中,最大工作温度范围为-40125,灵敏度为10mv/k,线性偏差为0.52%,长期稳定性为0.3%,测量精度为4k。四端电压输出型温度传感器框图2.电流型集成温度传感器(ad590)(1)ad590的基本原理ad590原理电路如图所示。其中t和t集成在一起,作为电流镜向恒流源,使流过t和t的电流相等。则电路的总电流it表示为i=2i=2kt/qr为了使it随温度线性变化,电阻r必须选用具有零温度系数的薄膜电阻。则电流温度系数为 c=di/d=2k/qr如果取8,r为358,则电流温度系数c可调整为1ua/k。图1-48为ad590的实际线路图。原理图1-47的t1,t2,t3,t4分别为图1-48中的t9,t11,(t1-t2),(t3-t4)代替。t9和t11的发射结面积比为常数。t1,t2,t3,t4组成典型的恒流负载,为t9,t11提供相等的恒定电流(i1-i2)。t7,t8差分对管的负反馈作用使t9和t11的集成电极电压保护相等,t10为t7和t8恒流负载。流过其上电流与t11的相同。调节r5可调节传感器的电流。由于流过r5的电流为流过r6的2倍,则有 vbe11+2i9r5=vbe9+i9r6所以 vbe= vbe11- vbe9=i9(r6-2r5)则有 i总=3i9=2kt/q(r6-2r5)=3kt/qr*6图1-47 ad590原理电路图式中r*相当于前面原理电路的电阻r。另外t12的作用是在刚接通电源时,提供一个小电流使传感器开始工作。t6能使t7和t8集电极电压平衡,同时在工 作电压接反时又能起到保护器件的作用。 图1-48 ad590的实用电路图(2)ad590的结构及性能ad590是美国哈里斯公司生产的采用激光修正的精密集成温度传感器。ad590有3种封装形式:to -52封装、陶瓷封装(测量范围为-50+150)、to -92封装(测温范围0+70)。主要性能指标见表,该器件的外形与小功率晶体管相仿,共有3个管脚:1脚为正极,接电流输入;2脚为负极,接电流输出;3脚接管壳。使用时将第3脚接地,可起到屏蔽作用。ad590m的测温范围是-55+150,最大非线性误差为0.3,响应时间仅20us,线性误差低至0.05,功耗约2mw。ad590等效于一个高阻抗的恒流源。在工作电压为+4+30v,测温范围是-55+150范围之内,对应于热力学温度t每变化1k,就输出1ua的电流。在298.2k(对应于25.2)时输出电流恰好等于298.2ua。这表明,其输出电流i(ua)与热力学温度t(k)严格成正比。因此,输出电流的微安数就代表着被测温度的热力学温标数 型号主要技术指标ad590iad590jad590kad590lad590m最大非线性误差/0.31.50.80.40.3额定温度系数/ua/k1.0额定输出电流/ua298.2(+25.2)长期温度漂移/月0.1响应时间/us20工作电压范围/v+4+30ad590系列产品主要技术指标ad590电流-温度特性曲线传感器比较写的好多啊3.8 单片机的选择3.8.1 单片机的发展随着电子技术、微电子技术的飞速发展。微型计算机发展很快。单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广,发展很快。它就是在一块半导体硅片上集成了微处理器(cpu),存储器(ram,rom,eprom)和各种输入、输出接口(定时器计数器,并行口,串行口,a/d转换器以及脉宽调制器pwm等),这样一块集成电路芯片具有一台计算机的属性,因而被称为单片机微型计算机,简称单片机。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易等优点广泛应用于诸多领域,如工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化、数据采集系统等各个方面。单片机技术的开发和应用技术已逐渐成为一个国家工业发展水平的标志之一。 目前世界上由很多单片机制造公司,如美国的intel、atmel、motorola、zilog和fairchild公司;荷兰的philips公司;德国的siemes公司等。他们相继推出了各种的单片机品种,其中atmel公司推出的高性能位单片机at89c51单片机以其优越的性能,成熟的技术和高性价比迅速占了工业测控和自动化工程领域的主要市场,成为单片机领域中的主流产品。3.8.2 at89c51单片机性能与应用at89c51内部包括1个8位cpu、128b ram,21个特殊功能寄存器(sfr)、4个8位并行i/o口、1个全双工串行口,2个16位定时器/计数器,它是一个低功耗、高性能的含有4kb闪烁存储器的8位cmos单片机,时钟频率高达20mhz,制造工艺为chmos的单片机一般都采用40只引脚的双列直插封装(dip)方式,如图40个引脚分别是:1. vcc(40引脚):接+5v电源。2. vss(20引脚):接地。3. xtal1(19引脚):接外部晶体的1个引脚。该引脚内部是1个反相放大器的输入端。这个反相放大器构成了片内振荡器。如果采用外接晶体振荡器时,此引脚接地。4. xtal2(18引脚):接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。若采用外部时钟振荡器时,该引脚接收时钟振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。5rst/v(9引脚):rst(reset)是复位信号输入端,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。在单片机正常运行时,此引脚应为0.5v低电平。v为本引脚的第二功能,即备用电源的输入端。当主电源vcc发生故障,降低到某一规定值的低电平时,将+5v电源自动接入rst端,为内部ram提供备用电源,以保证片内ram中的信息不所有的图都要居中。图1 什么图 下面的依次排下去单片机的最小系统要写出来吧丢失,从而使单片机在复位后能继续正常运行。6.ale (30引脚):ale引脚输出为地址锁允许信号,当单片机上电正常工作后,ale引脚不断输出正脉冲信号。当单片机访问外部存储器时,ale输出信号的负跳沿用于单片机发出的低8位地址经外部锁存器锁存的锁存控制信号。即使不访问外部锁存器,ale端仍有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。如果要判断单片机芯片的好坏,可用示波器查看ale端是否有正脉冲信号输出。如有脉冲信号输出,则单片机基本上是好的。7.psen(29引脚):程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。此引脚接外部程序存储器的端。8. /vpp(31引脚):功能为内外程序存储器选择控制端。当引脚为高电平时,单片机访问片内程序存储器,但在pc值超过0fffh(对于8051)时,即超出片内程序存储器的4kb地址范围时,将自动转向执行外部程序存储器内的程序。当引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。对于8031来说,因无内部程序存储器,所以该引脚必须接地,这样只能选择外部程序存储器。9.p0口:双向8位三态i/o口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个ls型ttl负载。 p1口:8位准双向i/o口,可驱动4个ls型ttl负载。p2口:8位准双向i/o口,与地址总线(高8位)复用,可驱动4个ls型ttl负载。p3口:8位准双向i/o口,双功能复用口,可驱动4个ls型ttl负载。at89c51作为温度测试系统设计的核心器件。该器件是intel公司生产的mcs-51系列单片机中的基础产品,采用了可靠的cmos工艺制造技术,具有高性能的8位单片机,属于标准的mcs-51的cmos产品。不仅结合了hmos的高速和高密度技术及chmos的低功耗特征,而且继承和扩展了mcs一48单片机的体系结构和指令系统。at89c51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4k,四个i/o口全部提供给用户。可用5v电压编程,而且擦写时间仅需10毫秒,仅为8751/87c51的擦除时间的百分之一,与8751/87c51的12v电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7v6v),全静态工作,工作频率宽在0hz24mhz之间,比8751/87c51等51系列的6mhz12mhz更具有灵活性,系统能快能慢。at89c51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。p0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。3.9温度传感器的工作原理与单片机的连接温度传感器的单总线(1-wire)与单片机的p27连接,p27是单片机的高位地址线。p2端口是一个带内部上拉电阻的8位双向io,其输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流3。如图3所示:ds18b20与单片机的接口电路非常简单。ds18b20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机i/o口,电源与数字输入输出脚间需要接一个4.7k的电阻4。图3温度传感器与单片机的连接图ds18b20的内部框图如图4所示。64位rom存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(th)和下线警报触发(tl)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(crc )。使用寄生电源时,ds18b20不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过dq引脚提供;高电平总线信号同时也向内部电容cpp充电,cpp在总线低电平时为器件供电。(注:internal vdd-内部vdd 64-bit rom and 1-wire prot-64位rom和单线端 memory control logic-存储器控制逻辑 scratchpad 暂存器 temperature sensor 温度传感器 alarm high trigger( th)register 上限温度触发alarm low trigger( tl)register 下限温度触发 8-bit crc genertor 8位crc产生器 power supplly sense 电源探测 parasite power circuit 寄生电源电路)图4 ds18b20的内部框图访问ds18b20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,ds18b20都不会响应主机。a初始化:ds18b20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由ds18b20发出的应答脉冲构成。当ds18b20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。b. rom命令:rom命令通过每个器件64-bit的rom码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。ds18b20的rom如表3-6所示,每个rom命令都是8 bit长。c. 功能命令:主机通过功能命令对ds18b20进行读/写scratchpad存储器,或者启动温度转换。ds18b20的功能命令如表5所示。表5 ds18b20的功能命令图指令代码功能读rom33h读ds18b20中的编码(即64位地址)符合rom55h发出此命令后,接着发出64位rom编码,访问单总线上与该编码相对应的ds18b20,使之作出响应,为下一步对该ds18b20的读写作准备搜索rom0f0h用于确定挂接在同一总线上ds18b20的个数和识别64位rom地址,为操作各器件作好准备跳过rom0cch忽略64位rom地址,直接向ds18b20v 温度转换命令,适用于单个ds18b20工作报警搜索命令0ech执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44h启动ds18b20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节ram中读暂存器beh读内部ram中9字节的内容写暂存器4eh发出向内部ram的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48h将ram中第3、4字内容复制到e2prom中重调eeprom0b8h将eeprom中内容恢复到ram中的第3、4字节读供电方式0b4h读ds18b20的供电模式,寄生供电时ds18b20发送“0”,外部供电时ds18b20发送“1”(6)ds18b20的信号方式ds18b20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。a.初始化序列:复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(tx)。然后主机释放总线并进入接收(rx)模式。当总线被释放后,4.7k的上拉电阻将单总线拉高。ds18b20检测到这个上升沿后,延时15s60s,通过拉低总线60s240s产生应答脉冲。初始化波形如图6所示。图6 初始化脉冲b.读和写时序在写时序期间,主机向ds18b20写入指令;而在读时序期间,主机读入来自ds18b20的指令。在每一个时序,总线只能传输一位数据。读/写时序如图3-4所示。写时序存在两种写时序:“写1”和“写0”。主机在写1时序向ds18b20写入逻辑1,而在写0时序向ds18b20写入逻辑0。所有写时序至少需要60s,且在两次写时序之间至少需要1s的恢复时间。两种写时序均以主机拉低总线开始。产生写1时序:主机拉低总线后,必须在15s内释放总线,然后由上拉电阻将总线拉至高电平。产生写0时序:主机拉低总线后,必须在整个时序期间保持低电平(至少60s)。在写时序开始后的15s60s期间,ds18b20采样总线的状态。如果总线为高电平,则逻辑1被写入ds18b20;如果总线为低电平,则逻辑0被写入ds18b20。3.10单片机与报警电路系统中的报警电路是由三极管,蜂鸣器,发光二极管和限流电阻组成,并与单片机的p1.0p1.3端口连接。p1端口的作用和接法与p2端口相同,不同的是在flash编程和程序校验期间,p1接收低8位地址数据,如图所示7;图7报警电路3.11电源电路由于该系统需要稳定的5 v电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器lm7805。它仅有输入端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。图8为电源电路连接图6。图8电源电路连接图3.12显示电路采用技术成熟,价格便宜的1602液晶显示器做为输出显示。本次设计使用的1602液晶显示器为5v电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置128个字符的ascii字符集字库,只有并行接口,无串行接口7。4 软件设计4.1 主程序流程图 如图10所示i/o口初始化读温度显示tvaluefano风扇开启tvaluefanc风扇关闭tvalue150yfanc+s3是否按下zt=1zt=2zt=3nyykey=1;zt+;zt=0zt=4arm=0arm150yfano150yfano+fano=os4是否按下nyfano=ofano-fano30yalarm30yarm=0yzt=3zt=2zt=1s2是否按下fanc-s2、s3、s4都不按下yfanc=0nalarm-nnnfanc30ykey=0n4.3主程序#include / 51系类单片机头文件#include lcd1602.h /包含对1602读写操作的头文件#include delay.h/延时操作头文件#include 18b20.h /包含对18b20操作的头文件#includesbit beep = p30; /定义蜂鸣器信号线sbit led0=p10;/定义发光二极管端口sbit led1=p11;sbit led2=p12;sbit led3=p13;uint warn_l1=250; /定义温度下限值 温度*10uint warn_l2=220;uint warn_h1=370;uint warn_h2=350;/*函数名称:deal(uint t) * 函数功能:对18b20获取的温度进行相应的处理 * 入口参数:temp *出口参数:无 */void deal(uint t)if(twarn_l2)&(t=warn_l1)/2225度 led0=0; /第一个闪烁delayms(20);led0=1;mdi(); /蜂鸣器慢“滴” /模拟开启制热else if(t=warn_l2) / warn_h2)&(t=warn_h1)/ 37度led2=0; /第三四个灯闪烁led3=0;delayms(10);led2=1;led3=1;kdi(); /蜂鸣器慢“滴” /模拟加大制冷功率else beep=1; /温度正常/*函数名称:display(uint t); *函数功能:显示温度 *入口参数:t *出口参数:无 */void display(uint t)write_com(0x80+12); / 第一行第13列write_data(t/100+0x30); /十位+0x30转换为字符显示write_com(0x80+14);write_data(t%100/10+0x30);write_com(0x80+15);write_data(t%10+0x30);/*函数名称:main(void); * 函数功能:主函数 * 入口参数:无 * 出口参数:无 */void main(void) uchar i = 0; uint temp = 0; while(1) init(); /lcd 初始化 tempchange(); /温度转换 _nop_(); /稍作延时 temp = get_temp(); deal(temp); /温度处理 _nop_(); for(i=10;i0;i-) display(temp(); /温度处理 18b20.h 头文件#ifndef _18b20_h_ /防止重复定义#define _18b20_h_#include#include #include18b20.h#includedelay.hextern void dsreset(void); /函数声明 外部可见extern void tempwritebyte(uchar dat);extern bit tempreadbit(void);extern uchar tempreadbyte(void);extern void tempchange(void);extern uint get_temp(void);#endif 18b20.c 文件#include18b20.hsbit beep = p30; /定义蜂鸣器信号线sbit ds = p27; /定义18b20信号线static uint temp = 0;static float f_temp = 0.0;/* 函数名称:dsreset(void) * 函数功能:18b20 初始化 * 入口参数:无 * 出口参数:无 */void dsreset(void) ds = 1; /将数据线置高电平 _nop_(); /稍作延时,要尽可能短 ds = 0; / 拉低数据线 delayus(40); /延时 _nop_(); ds = 1; /将数据线拉高 delayus(14); /延时 ds = 1; /拉高数据线/* 函数名称:temwritebyte(uchar dat) * 函数功能:向18b20写一个字节 * 入口参数:dat * 出口参数:无 */void tempwritebyte(uchar dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45710-2025聚对苯二甲酸乙二醇酯纤维及切片中低聚物的测定高效聚合物色谱法(APC)
- 2025年食品科学与工程专业综合知识考核试题及答案
- Aromatase-IN-5-生命科学试剂-MCE
- 2025年人力资源管理政策与实务试题及答案
- 2025年监会与财经法规专业资格考试试题及答案
- 2025年家庭教育与儿童心理发展专业知识考试试卷及答案
- 2025年海洋科学专业研究生入学考试题及答案
- 2025年公共卫生管理硕士考试试题及答案
- 爱的礼物我家的宠物狗写物作文(7篇)
- 一年级写人作文我的妹妹300字(12篇)
- 互联网与营销创新智慧树知到期末考试答案章节答案2024年华东师范大学
- 云南开放大学实-用写作离线作业1-5
- 四川省成都市温江县2023-2024学年八下物理期末监测试题及答案解析
- 内科学(肾脏-内分泌-血液)智慧树知到期末考试答案章节答案2024年温州医科大学
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- 100以内进退位加减法口算题每天60道
- MOOC 嵌入式软件设计-大连理工大学 中国大学慕课答案
- 永久基本农田储备区划定技术方案
- 医疗销售经验技巧分享
- 大气组成与垂直分层(简洁版)
- 钢铁企业环保培训课件
评论
0/150
提交评论