版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论1.1温度报警器简介温度报警器是一种通过控制温度传感器来进行采集周围温度的一种报警装置,单片机是通过对数据的处理进行报警从而提醒我们及时的去处理。在我们生活当中还有很多类似这样的电路产品,只不过现在应用比较广泛的还是以芯片为核心的温度报警器。既然是由芯片来控制的,自然跟单片机的应用息息相关的。目前大部分这种类型的传感器都是通过编写程序来进行控制的。1.2温度报警器的背景与研究意义现如今在各行各业的发展中,温度的控制对于我们来说都是比较重要的。在我们的工业生产当中,温度对于车间里面的生产还是取决定性的作用。其涉及到的领域非常广泛,无论是在平时的工作当中,还是在工厂生产的车间里面,它总是不可或缺的。随着社会科技的不断发展,越来越多的人对于温度精确度的要求可以说是越来越苛刻了。我们的问题在于如何能够快捷地获得相关的一些参数,这一点对于以后的发展来说尤其重要。但是我们又不得不受到各种各样的限制。随着现代科技的发展,一些问题对于我们来说已经迎刃而解了,并且在信息科技上已经取得了重大突破。其中在计算机技术,通信技术,传感器技术这三大信息领域,分别关联着信息如何处理,信息如何传输,信息如何采集等多个问题。但是随着科技的进步,这些难点被逐一攻克。其中对于传感器技术方面的研究,已经取得了突破性的进展。然而对于温度传感器的技术是非常重视的,在我们国家的各个领域中应用非常广泛。并且对我们生活产生了一定的影响。无论是在居家生活还是有关工商业的生产,温度总是和我们紧密的连接在一起的,我们更加地需要一种温度测量的技术来帮助我们控制好环境的温度,从而能够使我们能够更好地生活和工作。所以本次设计对于温度测量检测控制还是具有一定的现实意义。温度传感器的发展历程可以大致地分成三个阶段:①传统的分立式温度传感器②模拟集成温度传感器③智能集成温度传感器。我们在工业中应用最广泛的传感器:分立式温度传感器又被人称之为热变耦合传感器。这种仪器的测量方式非常特别,需要和被测物质直接接触才能进行测量,故其测量精度非常的高。虽然这款仪器的测量度非常高,但是由于使用的条件比较苛刻,故而适用的范围受到了一定的限制。接下来我将为大家介绍一款由半导体制成的模拟集成温度传感器,我们通常把他称之为硅传感器。这种传感器出现的年代较晚,但是功能非常地强大。仅仅靠着一个芯片不仅可以对温度进行测量,还可以对模拟信号进行输出。虽然它的功能非常地单一,但是它的优点也非常的明显。在进行测量时,测量的误差很小,其性价比很高。再紧接着我要说的是一款智能型温度传感器,这种传感器比我们上面说的那款要晚十年出来,但是其功能也是非常地强大。结合了三种技术为一体的智能型传感器,包括微电子技术,计算机技术等。它可以直接通过数据输出的方式来显示一些温度的控制量。因此可以用来适应每一种的MCU(微控制器)。随着科技的高速发展,我们对于温度的把控也越来越精确了。在当今社会人们对于温度传感器的需求,人们已经不仅仅满足于现阶段的发展。人们已经逐步在单片机的基础上从模拟信号式向数字信号式进行转变,慢慢地向着智能化的目标前进。我写的这篇文章的目的是对DS15B20传感器的一些结构特点和AT89C52芯片的工作原理进行一些相关的说明。首先简单的说一下这个装置的一些功能、可以通过设定温度的范围来与环境温度的对比,通关声光报警来判断是否超标。在这个装置的设计方面,我采用单片机来进行整体的控制,运用传感器来传递温度信号,在最后使用数码管显示器将所测得的温度数值显示出来。从而完成采集,传递,控制,报警等功能的。随着当前科技的不断进步,我们对于信息的需求量也是越来越大了。因此在各个方面对于温度的控制还是非常重要的。举个例子,我在一个工厂里实习,车间里面的温度必须控制在一定的范围内,如果温度稍微有些偏差,可能会影响整个车间的生产效率,严重地话会损坏一些机械设备。所以,我更加确信这次设计对于以后的发展还是具有一定的现实意义的。1.3温度报警器的现状及发展趋势在当今社会的发展中温度无论是在工商业的发展,还是应用于科研等方面都是一个值得关注的物理量。据有关资料表明,温度传感器每年的销售数量异常庞大,与同行制作工艺相比更是被世界各地所需求。因而,只有对于温度测量的结果合格了,才会提高产品的产量,进一步挺高产品的生产效率。不仅促进国民经济的发展,还在社会的领域中广泛应用,在将来的发展当中,温度报警器必将成为不可或缺的一部分。1.4设计要求与方案论证我们要明白自己设计的目的主要是做什么的,再根据计划安排设计基本的方案,最后进行可行性分析。1.4.1基本设计要求基本范围0℃-99℃;精度误差小于0.1℃;数码管直读显示;1.4.2扩展功能:我们能够自由地设计温度的报警范围的工作性能。2总体设计方案2.1数字温度计设计方案论证2.1.1方案一我们可以利用热敏电阻类型的元器件来进行设计。主要是使用其感温元件的感温效应,通过其对温度感知的变化,通来进行模拟型号向数字信号地转变。得到信号之后进行A/D转换,转换之后的数据交由单片机进行处理,最后通过显示电路来进行表现出来。2.1.2方案二在本次单片机设计当中,我们不难想到可以通过使用传感器的方式来进行设计电路。选择传感器的方式一者可以避免电路的复杂性,其次我们可以使用它来直接测量被测温度。再将所测得的数据直接传输给单片机让其显示温度即可达到设计的目的。对比以上两种设计方案。由于方案一要用到A/D转换,所以电路设计起来比较麻烦。使用方案二的原因是由于其电路设计比较简洁,软件设计也比较简单,方便。所以采用方案二。2.2总体设计框图通过一系列的探讨之后咱们将电路的总体设计方案设计成图3.2所示,我选择的是由AT89S52单片机组成的控制器和DS18B20的传感器,再加上用蜂鸣器作为声控报警器,LED显示作为灯光报警器,由主控制器控制,两种相结合形成我们日常所看见的声光报警器。最后再用串口通讯的方式来显示最终的温度,温度的数字由4位LED灯数码管组成。在报警之后,再由单片机进行复位,就这样组成了一套完整的报警体系。LED显示主控制器LED显示主控制器单片机复位单片机复位报警点按键报警点按键蜂鸣器报警蜂鸣器报警DS18B20传感器DS18B20传感器图2.2总体设计方框图2.3单片机的选择方案一:选择微芯公司所研发的PIC系列单片机由该公司设计出来的这款PIC系列单片机,无论是在性能方面还是在品质上都可以算是无可挑剔的。但是,由于其价格昂贵,故而性价比不是很高。方案二:选择德州仪器所制造的MSP430系列单片机MSP430单片机在其内在组成方面属于一款混合型的单片机,其自身具备了精简的指令集。它的优点对于我们来说也非常明显,具有可操作性的片内设置,而且在其工作状态下还算是一款比较节能型的单片机。同时,考虑到MSP430单片机系列的售价还不能被广大实验者所接受,故而也不太适用于本次设计。方案三:选择Atmel公司的AT89C52单片机AT89S52单片机是一款兼具性能和性价比两者于一体的一款单片机,同时具备了功耗小等特点。其片内含有可反复擦写的Flash只读程序存储器,不仅拥有中央处理器还具有单元存储器,由于其CPU比较强大,所以可以自由地编写程序。所以在这次设计当中,可以帮助我们解决很多难以处理的问题。综合以上三种方案,我选择方案三中所使用的单片机。因为经过对比,其具有性能高,功耗小,成本低等多个特点。而且选择这款单片机更能够帮助我们解决从控制,储存,读写等一系列问题。下面我将为大家介绍这款单片机所使用的芯片的内部结构图。如图2.3.1:图2.3.1AT89S52结构图这款芯片的实物图如图3.3.2所示:图2.3.2AT89S52实物图经过一系列的对比之后,我们发现AT89C52单片机不仅满足我们这次设计的要求,同时还兼具性价比高这一优点。2.4温度传感器的选择2.4.1DS18B20的介绍在我们生活中传感器的种类繁多并且应用非常广泛,接下来我为大家介绍的这款DS18B20传感器,它是在DS1820之后进行改良的一款性价比比较高的一款传感器。和普通的传统性传感器相比较,它是一种只需要一根小小的导线,就能测得周围的实际温度的传感器。所具有的功能比较偏智能化。DS18B20的主要特征:●全数字温度转换及输出;●其分辨率非常高,而且其温度测量精确度也比较合适;●具有最大工作周期;●可选择寄生工作方式;●检测温度范围大致可以稳定地控制在200℃的范围以内;●其报警范围可以根据用户自定义进行设计;●具有多位的光刻片内ROM存储器,可以进行联机操作;●具备各种各样的封装形式,可以用于差别不大的硬件系统;●具有独立的单接线引脚通讯;●可以由多个传感器连接组成,以此来实现组网功能;●无须外部器件;●供电要求非常方便,仅仅只需要一根数据线即可实现;●零待机功耗;●温度以9或12位数字;●报警时:立刻识别并标志超过程序设定温度范围内的器件;(及达到温度报警标准)●具有负电压特性。一旦电源极性发生改变,就会立即停止工作从而防止温度计等元件烧坏;我们可以通过软件来进行修改稳点报警器报警值的上下限范围。我在这里简单的叙述一下这款传感器的操作步骤;首先初始化,传感器开始就行复位。接着当这个复位脉冲信号传递到ROM时,发出功能命令指令,然后再发出存储操作指令给制定的存储器。完成以上操作之后,在进行最后的数据处理。其中的过程可以进行分时操作来完成。该传感器的芯片封装结构图。如下图2.4.1:图2.4.1DS18B20芯片封装结构根据图中的DS18B20结构图,我简单地描述下其内部的主要构造。它有四个部分组成,分别是传感器,存储器,触发器,寄存器。根据图中的引脚所示:我们很容易就能找到其对应的功能。右边VDD为外接电源输入端口,左边DQ为数据输入输出端。下面的GND为电源接地端。传感器的存储器片内ROM,其对应的多位系列号是不能够随意更改的。因为这一项是传感器在出厂前就已经被设定好了的。由于其对应的序列号是独一无二的,故此我们可以将它看作地址序列码。该传感器的内部结构框图如下图2.4.2所示。简单叙述一下该装置的内部结构图:主要是由64位的片内存储器ROM组成,左边单线连接I/O通讯口,接地电容保护电路,还有电源输出端口。右侧主要是控制逻辑和内部数据的计算与储存。其中包含了温度传感器,高温触发器TH,低温触发器TL,寄存器,发生器等用于数据运算的逻辑功能。I/OCI/OC64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图2.4.2DS18B20内部结构框图DS18B20工作原理在功能上来看,它同时具有温度检测和数据输出两种非常强大的功能,它结合两种功能为一体。我们可以根据其功能大致地将它的一个工作周期分成两个不同的组成部分,第一部分关于温度检测,第二部分用于数据处理。接下来,我们需要去了解一下它到底是如何进行存储信息的。DS18B20可以从功能方面分成以下三种形态的存储器第一种是ROM片内存储器,它主要是用来存放一些相关的代码。它的数据是在一出厂之前就被设置好了的,所以是不能进行更改的。第二种是RAM,我们可以称它为数据暂存器。它的功能非常的简单,仅仅用作于数据的存放和取用。一些相关的计算都是在它的内部进行完成的。第三种就是寄存器。寄存器的工作原理是这样的;一般来说如果我们想得到一些精确度比较高的温度数值的话,我们可以通过调节寄存器当中的分辨率来进行实现的。我下面通过图来简述以下相关字节的定义;首先看TM,表格中当后面五位一直置1时,处于工作状态。我们可以通过它来判断DS18B20是处于什么样的工作阶段。如果后面五位一直都是1的话,自然是处于工作状态,反之则处于测试状态。由于我们之前已经说过它在出厂时就已经被设置好了,已经被置0了。如果有需要的话,用户可以自行去进行修改。那如何设置分辨率呢?这时我们可以通过改变RO和R1来进行调节温度数值转换的精确度,最终我们还是要通过它转换之后的数值来进行分辨率的设置。两者可以算得上是一一对应的关系。温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTMR1R011111图2.4.3DS18B20字节定义2.5显示模块选择在选择显示器方面,我选择数码管来进行显示读数。选择的原因主要是因为它是由发光二极管构成的,属于半导体型材料。2.5.1数码管的分类数码管的种类非常多,下面我将从各个方面来介绍数码管。从制作模型来说的话,我们可以根据段数的不同,可以大致分成七段数码管和八段数码管。一般来说比较常见的就是八段数码管了(如下图所示)。还有就是根据显示的数字的个数不同,可以分成一位,两位等多位数码管。我们可以根据自己的需要来进行选取。一般来讲四位数码用的比较多一点。我们还可以根据它们的连接的方式不同来将它们分成共阴极数码管和共阳极数码管,顾名思义,共阴极数码管的连接方式就是将他们的阴级连接在一起而形成的COM管。同理共阳极数码就是将它们的阳极连在一起形成的数码管。接下来重点是讲一下它们的区别:共阳极数码管阳极端口接高电平,只要在其输出端口给入一个低电平信号,即可点亮该数码管。对于共阴极数码管,阴级端口接高电平,阳极接高电平就可以进行点亮。反之如果阳极接高电平,其对应的字段就不亮。常见的数码管的模型如下图2.5.1所示;图2.5.1八段数码管事物图2.5.2数码管驱动原理数码管的驱动原理指的是,通过已经设计好了的驱动电路来显示我们所需要的数字。驱动电路主要是通过驱动其中代码的方式来实现驱动功能的。那么现在主要的问题是我们需要先做一个显示的系统用来显示其中的数值。这个问题解决后,接下来我们就应该思考一下用什么来进行驱动。一般来说常见的驱动就是采用I/O接口来进行的。驱动解决了之后,就是选择一个什么样的驱动方式比较好。常见的驱动方式分为以下两种:静态显示驱动和动态显示驱动。接下来我简单地谈一下这两种驱动方式各种的优缺点。(1)静态显示驱动:静态驱动我们常常称之为直流驱动。它的工作原理是;一个段码对应着一个I/O接口,驱动的方式也只能一对一进行驱动。所以缺点也是显而易见的。我们在做实验当中,所用的端口一般都比较少,就算在端口足够的情况下进行一一对应,最后进行检查的时候也是非常麻烦的。所以这个驱动电路将会非常复杂。不仅操作起来会非常的复杂,而且还会为以后排查增加不必要的麻烦。所以在实际的应用中,根本是行不通的,只能选择用译码器来进行驱动。(2)动态显示驱动:一般在实际问题当中还是选择动态显示接口比较合理。动态驱动的操作步骤相比较而言比较简单,只需要将所有的数码管同名端连接在一起,在设计相应的位选通控制电路即可。这个电路是和I/O端接口独立连接的,一旦单片机输出字形码时,只要是与之相关的数码管都会接到相对应的字形。接下来我们就应该关注的是哪个数码管应该显示哪个字形是如何控制的。我们一般都是通过单片机对控制电路进行调节进而来控制COM端口的数码管显示怎么样的字形。具体是通过打开数码管的选通电路来显示其相应的数字。通过时间的先后顺序来控制COM数码管,这样就可以轮流地显示数码管的数字了。动态显示驱动的原理就是这么一个操作流程了。我们就会联想到我们所看到的数码管显示数字都是同时进行闪烁的,几乎是没有任何延迟的。会不会跟我刚才所说的理论相冲突了。其实并不会,实际上轮流显示的时间非常短暂,以致我们肉眼几乎无法区别出来。给我们的感觉就是它们好像同时点亮的,不会有任何延迟,闪烁等现象出现。当我们对动态显示驱动和静态显示驱动进行对比后发现其中的效果都是一样,但是对于动态显示来说能够简化驱动电路,相比之下功耗更低而已。但是对于静态显示驱动也有它的优点,例如操作简单,而且还不是很容易出错,在接线少的情况下一一对应更方便我们去检查。如果能够用较少的线完成多个数码管的驱动,那么可以优先选择静态驱动。但是相比较而言动态驱动方式功耗低,更符合大众的需求。对于这次设计要求,我选择采用动态驱动的方式进行驱动数码管。3.系统硬件电路设计首先根据我们之前所选择元器件的顺序,大致可以分成以下几个系统电路。首先应该是单片机的最小系统电路,其次根据传感器的选择确定了温度传感器系统电路。紧接着就是数码管的选取而确定的显示系统电路。接着就是电源输入端口,和I/O接口等电路的设计。最终设计的系统电路图,如图3.1.1所示;在该图中有三个独立式按键K2,K3,K4,它们主要的功能是调整温度报警器的上下限温度范围。如果我们测量的温度不在我们所设定的范围之内,就会立马开始报警。这是蜂鸣器会响起,LED灯会一直闪烁。并且数码管显示器上面不会有任何数字显示。这时我们可以手动按键进行复位处理。我复位完成以后,我们可以再根据自己的需要重新设定温度报警的范围。 再来说明一下按键复位电路。复位电路主要是帮助我们在报警完成之后进行复位处理。操作方式也比较简单,只需要进行手动按键复位即可。不过前提条件是必须是要接通电源。这样就避免了重启单片机来达到复位的效果。图3.1.1系统电路设计图3.2单片机最小系统说到单片机的最小系统,那不得不说其中所包含的主要电路。复位电路,晶振电路是必不可少的。另外还有一些其它的按键设置电路。下面就让我们看下单片机的最小系统电路是如何设计的,如图3.2.1所示;单片机AT89C52可以使用低电压进行供电,另外其功耗也非常小。在我们已经设置好的端口中,由于本次设计的需要,我们只需要留一个电源输入端口接口就行了。另外,假如遇到一些特别的情况,例如在我们身边没有电源插座的情况下,我们可以选择用两节干电池来代替电源即可。图3.2.1单片机最小系统电路3.3温度传感器系统说到温度传感器系统,我们还是先简单的了解一下温度传感器电路,如下图3.3.1。图3.3.1DS18B20温度传感器系统目前该传感器一般采用单线传输的方式进行数据的传输,外接的电源接一个保护电阻并且和单片机上面的P10端口连接起来的。这样就可以进行数据的双向传输。图中1号端口GND为接地端,2号端口I/O数据传输端,3号端口为电源接口。3.3.1DS18B20的测温原理我先来简单的描述一下它的测温原理。主要是利用晶振的感温系数不同分别来进行高低温的测量。我们可以将它根据对于感受温度振荡频率不同分成两种,一种是高温度系数晶振,一种是低温度系数晶振。它们的区别就是温度系数高的晶振对于温度的变化非常明显,反之低温也是一样的。我们可以将所产生的信号送给减法计数器1,再由高温晶振所产生的信号送给计数器2,我们可以用它来作为脉冲输入。这时,我们就必须开始进行计数处理,这一项由计数门来完成。当计数门开始工作时,传感器就会对低温振荡器发送一种时钟脉冲信号,随后开始逐一计数,直到完成此次温度测量。从计数门开始计数这段时间,我们可以将它交由振荡器来操作,由它来决定开启时间。我举个简单的例子来说明这一测量过程,首先给定一个被测温度,我们将这个温度所对应的一个基数放入减法计数器当中,并且存入温度寄存器当中。这样计数器和寄存器就会被预置该温度所对应的一个基数值。下面我来说明一下其计数原理,低温系数晶振会发送时钟信号给减法计数器1,然后开始进行减法计数。一旦减法计数器1里面预置的数减到0了,那么温度寄存器里面的数会加1。之后减法计数器里面又重新装进去一个预置数,接着又会对其进行减法计数,以此循环往复操作,一直到减法计数器里面的数为0为止。随后系统就会停止对温度寄存器进行累加操作,最后温度寄存器所得到的数字就是我们需要测得的实际温度值。我们可以通过改变其输出来重新定义减法计数器里面的预置数,一旦计数门关闭,会立刻停止其循环系统,一直到最后温度寄存器里面的值就是我们所需要的测量值。根据表1温度转换时间表,通过这段表格,我们可以知道温度转换的时间和频率有关系,频率越高其对应的转换时间就会越长。所以,当我们在进行选择时,必须将两者都同时考虑进来才行。从图中我们不难发现RAM中间空了三个字节。在图中第九个字节主要是用作校验位,用来检验前面九个字节的正确与否。当这个传感器接受到转换命令时,它会立马进行数据转换这一操作。当转换完成之后,所得到的温度值就会以二进制补码的形式放入存储器当中。这时我们只要将单片机的I/O端口进行连接,就可以进行数据的读取了。在读数据的过程中我们应该要按照低位在先,高位在后顺序来读取。得到的温度会以我们常见的样式显示出来。在测量的过程中还有一个符号位,当符号位置的数为0,表示我们所得的温度数值为正数,再将其二进制转换成十进制就是我们所需要的温度。如果符号位的数为1,就表示是负数。这时我们就应该先取补码,然后再将它变成原码。之后再按照上述操作进行即可。表2是部分温度值所对应转换的二进制温度数据。表1DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750当上述温度转换的操作进行完成之后,我们就将我们所测的温度值拿出来和RAM里面我们之前设定好了的最大温度值和最小温度值进行比较。如果所测得的温度大于最大的温度值或者小于最小的温度值时就会发生报警,同时报警标志位会进行置位处理。这时就会进行对主机进行反馈问题,并且开始进行报警搜索。这是系统对于发生问题的一种自我检测能力,如果想要检测得更快,我们可以多加几个传感器即可实现。一般在存储器的最高位还有一种循环校验码,当主机前面开始计算时,它会不停地和传感器里面的数字进行比较,以此来保证最后数据的正确性。表2一部分温度对应值表温度/℃二进制表示十六进制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90H4.系统软件设计我们所设计的这款装置的吸引程序主要包含以下五种主要程序。4.1主程序下面我介绍一下主程序的主要功能,第一就是读出传感器当中的温度测量值。第二就是对它进行处理。读数这一操作比较简单,我就主要讲一下如何进行处理。首先当系统开始运行时,我们将传感器当中已经测量好的温度值和我们在RAM内设定的温度范围值进行对比,对比完成之后,再进行计算。计算好了之后,通过我们之前所说的那个PI0出口,也就是连接着单片机的那个出口进行数据传输,传输到单片机之后,再由单片机来进行处理,最后得出结果。单片机就会将这个结果传输到数码管中,由其显示器进行显示数值。在实际操作当中,我们一般是通过手动按键设置来设置报警初始范围,一旦超过设定范围之后,单片机会立即通过数据输出口来传递数据,来进行声光报警提醒人们主要及时防范。其程序流程主要见图4.1.1所示。简单地解释一下流程图:由开始出发,初始化之后,调用温度模块,接着判断是否有DS18B20传感器,如果存在有的话,那么就可以进行下一个操作,处理温度值的转换。如果不存在,立马会显示错误处理。接着将处理好的温度值送到控制器89C52进行处理,经过按键扫描模块,显示模块,最终显示测量温度。然后再通过与已经设计好的程序温度范围进行对比,判断是否超过规定的范围。如果超出,立马发出报警提示,反之则返回上一步操作。初始化初始化调用温度模块程序DS18B20存在?是处理温度值转换BCD码送AT89C52处理按键扫描模块显示模块,LED显示温度是否越限?开始是报警否否错误处理,显示.图4.1.1主程序流程图4.2读出温度子程序该程序的主要功能就是用来对每次读出的数值进行校验。如果校验发生错误时,不需要改写温度的数据。其程序操作流程图如图4.2.1所示简单叙述一下校验步骤:开始之后首先要给传感器发出一个复位的命令,紧接着发送跳出存储器ROM的命令,然后再发送读取温度命令,接着就进行读取操作。然后进行CRC校验,校验过程先是要根据是否有九个字节来判断,如果是则进行下一步,反之返回上一步。接着再进行CRC校验,如果校验成功就亦如温度缓存区,反之则直接结束。开始开始发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验结束NYYN移入温度缓存器9字节完?CRC校验?图4.2.1读温度流程图4.3温度转换命令子程序该程序开始时发出温度转换的命令,紧接着发出跳过指令。然后再发出温度转换开始的命令。大致的温度转换命令子程序流程图如下图,图4.3.1所示发DS18B20复位命令开始发跳过ROM命令发温度转换开始命令发DS18B20复位命令开始发跳过ROM命令发温度转换开始命令始结束4.4计算温度子程序这个程序比较简单,上面我已经说过了如何计算。先根据ROM中读取的数据,进行相应的转换之后,再来判判断这个温度的正负符号即可。大致的程序流程图如图4.4.1所示。简单叙述一下运算流程:开始将RAM中所读取的值进行BCD吗转换再进行下面步骤,先把当前的温度和0进行比较。如何当前的温度小于0即零度以下,就将温度值取补码置“-”表示,反之则置“+”表示,然后分别计算小数位BCD的值和整数位BCD的值,最后再结束子程序开始温度零下?温度值取补码置“—”标志计算小数位温度BCD值计算整数位温度BCD值结束置“+”标志NY图4.4.1计算温度流程图4.5键盘扫描流程图开始开始ENTER_FLAG为1是否有UP按下DISPLAY显示退出子程序(RET)返回主程序ENTER子程序Flag=1DOWN子程序否是是否否是否否是是ENTER按键是否按下是否有ENTER按下是否有DOWN按下UP子程序图4.5.1按键扫描流程图5系统仿真设计5.1Proteus软件介绍Proteus软件出版的年代比较早,在最近的几年里还是比较受欢迎的。这款软件一般用作EDA的仿真软件,功能非常地强大。不仅仅在仿真软件这一方面,还可以对单片机,和某些元器件进,模拟仿真。对于像我这样的初学者而言,非常受我们这些学生欢迎。这款软件主要是应用于虚拟技术的仿真模拟操作,对于那些学习单片机的小伙伴而言是一项不可或缺的工具,无论是应用于教学研究还是作为培训项目,都能够对我们进后的学习产生一定的帮助。这款软件能够帮助我们培养自身的电路设计能力和对一些软件仿真的操作能力。通过我自身学习实践证明,这款软件的优点有以下几个方面,第一点;功能性强大。第二点;可操作性强。第三点;对我们的学习能力要求不是很高,上手简单。综合以上几点考虑,我还是比较喜欢这款软件的。5.2Proteus仿真图图5-1为正常温度界面图,图5-2为报警温度界面,实现实时显示和温度报警。图5-1正常温度界面图5.3硬件调试简单来说,调试这一部分主要是对已经设计好的系统功能进行的这一操作。首先我们应该要对系统的性能进行相关的调试。调试本身的这一操作不是很难,但是要想得到我们想要的结论还是不容易的。首先直接插上电,先要进行软件调试。我们可以将已经编写好了的显示程序烧入硬件,用来进行检测。调试这一过程我们可以分成两种,一种是软件调试,一种是硬件调试。软件调试主要是检测其程序代码是否有错位的地方,我们可以通过系统检测出不合理的位置,进一步进行逐一修改。接着就是硬件调试,主要是看一下电路又没有什么故障,I/O接口有没有什么问题,各元件是否在电路当中起到了一定的作用等。调试虽说不算很难,但这一过程非常复杂,而且必须要进行反复验证。调试这一过程是需要非常细心,并且还要非常地有耐心。接下来我就谈一下焊接的方式。对于刚学这个的同学,很容易出现以下几个问题:第一,焊接电路的时候用导线连接时容易将导线裸露在外面,这样很容易造成短路。第二,多根导线交叉连接。这样接线虽然说没有什么安全隐患,但是会给我们排查故障的时候造成不必要的麻烦。第三,焊接时最好不要一次性焊完之后再排查。就拿数码管显示电路系统为例,再焊完这个系统电路之后要用万能表进行排查,确认电路和各个元器件工作正常时再进行焊接下一个电路。这样能够方便我们排查问题。当我们焊接之前,我们首先要确定如何排版才能更有利于我们接下来的工作。5.4调试结果在调试的过程中,我也出现了很多问题。比如当我接好数码管显示电路时,接通电源发现数码管不亮,经过一系列的排查之后我发现我少接了一根地线。另外在调试的过程中要注意正负极
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保健护理培训总结
- 商务工作流程分享
- 专题17 社会主义制度的建立与社会主义建设的探索(解析版)
- 2024年07月广西广西北部湾银行招考笔试历年参考题库附带答案详解
- CTVR在临床的应用
- 2024年06月华夏银行西宁分行招聘笔试历年参考题库附带答案详解
- 攻略11 古代史中考100题猜押精炼(解析版)
- 低压电工基础知识
- 《禽病实验室诊断》课件
- 《非虚构类电视》课件
- 期末综合素养评价 (三)(试题)-2024-2025学年一年级上册数学
- 肠易激综合征护理查房
- 绵阳小升初数学试题-(绵中英才学校)
- 数据中心数据中心建设项目电气工程设计方案
- 2023-2024学年衢州市八年级语文上学期期末试卷(附答案解析)
- 《税费计算与申报》课程标准(含课程思政)
- 开源软件组件漏洞检测与自动修复技术研究综述
- 四川省泸州市(2024年-2025年小学四年级语文)统编版期末考试(上学期)试卷及答案
- 4 地表流水的力量 (教学设计)-2023-2024学年 六年级下册科学人教版
- 防范工贸行业典型事故三十条措施解读
- 2024年1月国家开放大学专科《刑法学(2)》期末纸质考试试题及答案
评论
0/150
提交评论