已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
温度传感器设计方案第一章 绪论1.1 本课题研究的背景和意义及发展趋势 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事 ,无时不刻不在与温度打着交道。自18世纪工业革命以来,工业发展与是否能掌握温度有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。 温度对于工业如此重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段:模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器。能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。温度传感器的研究意义:本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关。温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。其测量控制一般产用各式各样形态的温度传感器。3在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在-10+85 温度范围内具有05 精度;用户可编程设定912位的分辨率。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。温度传感器的发展趋势:进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 传感器在温度测控系统中的应用。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。 针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。1.2 本课题的任务和系统设计目标 课题的主要任务是用80C51设计一个多温度检测系统,整个系统由单片机控制,要能够接收传感器的数据并显示出来,可以从软件设计输入命令,系统根据命令,选择对应的传感器,并由驱动电路驱动温度显示。根据该课题首先要解决的问题是对相关软硬件的熟悉和了解,并学习相关知识。然后对该检测系统需要的模块(包括单片机主控制器,四点温度检测,A/D转换电路的实现,数码显示电路,蜂鸣器电路,等)进行分析,最后用Proteus与KEIL连接并仿真 ,最终进行调试运行。开发工具:Proteus仿真软件 ,KEIL编程软件。系统总体设计思想是以单片机为控制核心,整个系统硬件部分包括多个温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得多个温度传感器数据并与系统设计值进行比较 ,根据比较结果分别控制执行系统。然后再进行Proteus仿真。1.3 本课题研究内容 (1)利用单片机,确定系统的总体设计方案,包括其功能设计;设计原则;组成与工作原理;(2)对单片机的应用作进一步的了解,对于温度控制要有更进一步的认识。(3)进行智能传感器的硬件电路设计;包括硬件电路构成及测量原理;温度传感器的选择;单片机的选择;输入输出通道设计;(4)本系统采用层次化、模块化设计,整个系统由数据采集系统、单片机控制系统、计算机监控系统组成。进行了调试和仿真,包括硬件仿真和软件仿真,完成数据的采集和处理。第二章 方案论证比较与选择2.1引言温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。对于控制系统可以采用单片机等。2.2方案设计2.2.1设计方案一采用模拟式分立元件,如电容、电感或晶体管等非线形元件,进行A/D转换后,就可以用单片机进行数据的处理,实现多个点温度的测量以及显示,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差大。2.2.2设计方案二本方案采用80C51单片机为核心,通过温度传感器AD590采集温度信号,经信号放大器放大后,送到A/D转换芯片,最终经单片机检测处理温度信号。 温度传感器A/D转换多路开关变送器单片机LED显示图2.1 方案二的框图如图2.1,采用该方案技术已经成熟,A/D转换电路设计较烦琐,而且使用AD590进行温度检测必须对冷端进行补偿,以减小误差。2.2.3设计方案三本方案采用 80C51作为该系统的单片机。系统整体硬件电路包括:电源电路,复位电路,晶振电路,传感器电路,温度显示电路,上下限报警电路等。报警电路可以在被测温度不在上下限范围内时,发出报警鸣叫声音。当DSl8B20 采集到多个温度信号后,进行电信号转换送至80C51 中处理,同时将温度送到显示数码管显示,单片机根据初始化设置的温度上下限进行判断处理,即如果温度大于所设的最高温度和小于所设定的最低温度就启动报警装置。整个系统由单片机控制,要能够接收传感器的数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的传感器,并由驱动电路驱动温度显示。并与预先设定值进行比较,然后由单片机输出信号去控制报警电路DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。系统框图如下:温度传感器1温度传感器2A/D 转 换 器单 片 机按键LCD显示蜂鸣报警装置温度传感器3温度传感器4 图2 .2 方案三的系统框图2.3方案的比较与选择基于数字式温度计DS18B20的温度测量仪的硬软件开发过程,DS18B20将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理电路。该仪器电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足。相对与方案1,在功能、性能、可操作性等方面都有较大的提升。相对与方案2,硬件电路简单,易于操作,具有更高的性价比,更大的市场。所以我采用方案3完成本设计。2.4方案的阐述与论证 方案三以DS18B20为传感器、80C51单片机为控制核心组成多点温度测试系统,该系统包括电源电路,复位电路,时钟电路,传感器电路,键盘与温度显示电路,上下限报警电路,驱动电路等组成部。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信。全部传感元件及转换电路集成在形如一只三极管的集要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625 , 而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。它有如下的性能特点:1)独特的单线接口,既可通过串行口线,也可通过其它I/O口线与微机接口,无需变换其它电路,直接输出被测温度值; 2)多点能力使分布式温度检测应用得以简化;3)不需要外部元件;4) 既可用数据线供电,也可采用外部电源供电;5)不需备份电源;6) 测量范围为-55+125 , 固有测温分辨率为05 ;7)通过编程可实现912位的数字读数方式;8)用户可定义非易失性的温度告警设置;9)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);10)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。根据DS18B20以上的特点我选用方案三来实现本课题。第三章 硬件设计本课题研究的多点测温系统是以单片机和单总线数字温度传感器DS18B20为核心,充分利用单片机优越的内部和外部资源及数字温度传感器DS18B20的优越性能构成一个完备的测温系统,实现对温度的多点测量。整个系统由单片机控制,能够接收传感器的温度数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动电路驱动温度显示。本课题设计了一种合理、可行的单片机监控软件,完成测量和显示的任务。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以及操作方便等优点。本课题的整个系统主要是由单片机、显示电路、键盘电路、驱动电路等构成。3.1温度传感器3.1.1温度传感器选用细则 现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。根据测量对象与测量环境确定传感器的类型要进行个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。2)灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号3)频率响应特性 传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。4)线性范围 传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。5) 稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,减小环境的影响。6) 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。3.1.2温度传感器DS18B20DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为00625 , 而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。1 DS18B20的性能特点单线数字化智能集成温度的传感器,其特点是: DSI8B20可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经电桥电路先获取电压模拟量,再经信号放大和AD转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进行重新调试的问题,使用方便 DS18B20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源 每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上尤其适合于多点温度检测系统 负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁 正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。其外形和管脚如下图:DALLASDS18B20 1 2 3 GNDDQVDD 1 2 3 DS18B20 TQ-92封装低试图 DS18B20 8脚SQIC封装图3.1 DS18B20外部形状及管脚图DS18B20与单片机的典型接口设计DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。DSl8B20与单片机的硬件连接有两种方法:一是VCC接外部电源,GND接地,I/0与单片机的I/0线相连;二是用寄生电源供电,此时,UDD和GND接地,I/0接单片机I/0。无论是哪种供电方式,I/0口线都要接47k Q左右的上拉电阻。图4给出了DSl8B20与微处理器的典型连接。 DS18B20寄生电源供电方式:如下面图3.2(a)所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处:1) 进行远距离测温时,无需本地电源2) 可以在没有常规电源的条件下读取ROM3) 电路更加简洁,仅用一根I/O口实现测温 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 DS18B20寄生电源强上拉供电方式: 改进的寄生电源供电方式如下面图3.2(b)所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。 DS18B20的外部电源供电方式:如下面图3.2(c)所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用355V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。(c)DS18B20外部电源供电方式 (a)DS18B20寄生电源供电方式 (b) DS18B20温度转换期间的强上拉供电(寄生电源方式)图3.2 DS18B20与微处理器的典型连接图(3)DS18B20 的内部结构:图3.3 为DS18B20 的内部框图,它主要包括寄生电源、温度传感器、64 位激光ROM 单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH 和TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。64位光刻ROM 的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻R0M 的作用是使每一个DS18B20都各不相同,这可实现一根总线上挂接多个DS18B20的目的。暂存存储器包含了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节.高速缓存存储器温度灵敏元件低温触发器TL高温触发器TH配置寄存器8位CRC生成器存储器和控制器64位ROM和单线接口电源检测 图3.3 DS18B20的内部结构(4)DS18B20 的测温原理:DS1820测温原理如下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。斜率累加器低温度系数晶振计数器1比较温度寄存器预置预置=0计数器2高温度系数晶振=0加1停止图 3.4 DS18B20测温原理高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,DS1 8B20测量温度原理停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 在正常测温情况下,DS18B20 的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20 提供的读暂存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分TZ,然后再用BEH 指令取计数器1 的计数剩余值CS 和每度计数值CD。考虑到DS18B20测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度TS 可用下式计算:TS=(TZ0.25) (CDCS)/CD(5)告警信号:DS18B20 完成温度转换后,就把测得的温度值与TH、TL 作比较。若TTH 或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20 同时测量温度并进行告警搜索。一旦某测温点越限,主机利用告警搜索命令即可识别正在告警的器件,并读出其序号,而不必考虑非告警器件。(6)CRC 的产生:在64 位ROM 的最高有效字节中存有循环冗余校验码(CRC)。主机根据ROM 的前56 位来计算CRC 值,并和存入DS18B20 中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。CRC 的函数表达式为:CRC=XXX1。此外,DS18B20 尚需依上式为暂存器中的数据来产生一个8位CRC 送给主机,以确保暂存器数据传送无误。在本课题中采用四个数字式温度传感器DS18B20与单片机89C51连接如下图 图3.5 DS18B20多点温度测量连接电路图(7) DS1820使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。3.2单片机系统设计 在当今新科学技术飞速发展的年代里,单片机的应用已越来越受到人们的重视,它被广泛的应用于家电、医疗、智能仪表、工业自动化等各个领域。单片机全称单片微型计算机,是将计算机的基本部分微型化,使之集成在一块芯片上的微机。目前市场上较为流行的单片机有Intel公司和Philip公司的8051系列单片机Motorola 公司的M 6800系列单片机。Intel公司的MCS96系列单片机以及Microchip 公司的PIC 系列单片机。片内含有CPU、ROM、RAM、并行I/O口、串行I/O口、定时/计数器、A/D、D/A、中断控制、系统时钟及系统总线等。本课题是利用Intel的80C51控制整个系统。80C51单片机包含下列几个部件:1个8位CPU、1个片内震荡器及时钟电路、4KB ROM程序存储器、128B RAM数据存储器、可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路、32条可编程的I/O线、2个16位的定时/计数器、1个可编程全双工串行接口、5个中断源、2个优先级嵌套中断结构。本课题运用Intel公司的80C51进行系统控制,运用到了复位电路,时钟电路,串口,I/O口。复位电路:无论哪种单片机,都会涉及到复位电路。如果复位电路不可靠,在工作中就有可能出现“死机”,“程序走飞”等现象。所以,一个单片机复位电路的好坏,直接影响到整个系统工作的可靠性。复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。当80C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作,如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序,因此要求单片机复位后能脱离复位状态。复位操作通常有上电和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用的上电复位且开关复位电路如图3.6所示,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。单片机的复位操作使单片机进入初始化过程,其中包括是程序计数器PC=0000H,P0-P3=FFH,SP=07H,其他寄存器处于零,程序从0000H地址单元开始执行,单片机复位后不改变片内RAM区中的内容。图3.6 .复位电路时钟电路:80C51单片机的时钟信号通常用内部振荡和外部振荡方式。在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。内部振荡器方式如下。如图3.7,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5-30PF。内部振荡方式所得的时钟信号比较稳定。外部振荡方式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部信号保持一致。 图3.7 时钟电路3.3按键及显示电路设计本课题要将传感器的温度信号和键盘输入的控制信号都显示出来,利用单片机80C51传输控制信号。键盘在单片机应用系统中能实现向单片机输人数据、传送命令等功能,是人工干预单片机的主要手段,键盘实质上是一组按键开关集合,通常选用机械弹性开关,它们利用了机械触点的合、断作用。键的闭合与否,反映在输出电压上就是呈现低电平还是高电平,通过对电平高低状态的检测,便可确认是否有按键按下。为了确保CPU 对一次按键动作只确认一次, 那就必须消除抖动的影响,这样才能使键盘在单片机系统中使用得更加稳定。常用的键盘接口分为独立式按键接口和矩阵式键盘接口。在本系统中,按键主要是用来设置温度的上下限,对其上限加和下限减操作,以达到所要求的温度值。 因此采用独立式键盘来完成这一功能。该温控系统主要包括:时钟模块、复位模块、报警模块、键盘模块、温度采集模块、液晶显示模块以及温度控制模块等。其中时钟模块和复位模块是启动芯片80C51不可或缺的。温度采集模块只是采用DS18B20,通过P1.0口对其初始化、读操作和写操作,控制DS18B20采集数据并转换后的数据传到单片机里进行处理。液晶显示模块是选用LCM1602来显示实时温度和所设定的温度上下限值,其中数据命令选择端RS接P3.7,读写选择端R/W接P3.6,使能信号E接P3.5,而引脚VEE接在可变电阻器上,通过调整其电阻值来调节液晶显示器对比度。键盘模块是S0复位、按钮S1、S2、S3和S4组成,其中S1是设定温度上下限的确认按键,而S2、S3分别是对温度上下限设定值进行“加一”、“减一”操作。报警模块则是由三极管驱动蜂鸣器报警。该系统中可以用DS18B20来存储设置温度上下限的值。该系统硬件电路的主要原理图见图1所示:图3.8 显示电路图及按键控制3.4报警电路设计 为了实现四点温度检测报警系统,本课题采用80C51单片机作为主控制器,采用扫描的方式对四点DS18B20温度传感器获取对应该位置的温度值,经处理后可以立即发送到单片机,如只要四点温度有一个不在设定的范围内,给出报警信号。系统总体硬件电路如图3.11所示。 图 3.9 温度报警电路第四章 软件设计4.1软件开发工具的选择要使单片机系统按照人的意图办事,需设法让人与计算机对话,并听从人的指挥。程序设计语言是实现人机交换信息的最基本工具,可分为机器语言、汇编语言和高级语言。机器语言用二进制编码表示每一条指令,是计算机能直接识别和执行的语言。用机器语言编写的程序成为机器语言程序或者指令程序(机器码程序)。因为机器只能识别和执行这种机器码程序,所以又称它为目标程序。用机器语言编写程序不易记忆、不易查错、不易修改。为了克服机器语言的上述缺点,可采用有一定含义的符号,即指令助记符来表示,一般都采用某些有关的英文单词的缩写。这样就出现了另一种程序语言汇编语言。汇编语言是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,它与机器语言指令是一一对应的。汇编语言不像高级语言(如BASIC)那样通用型强,而是属于某种计算机所独有,与计算机的内部硬件结构密切相关。用汇编语言编写的程序称为汇编语言程序。以上两种语言都是低级语言。尽管汇编语言有不少优点,但它仍存在着机器语言的某些缺陷:与CPU的硬件结构密切相关,不同的CPU其汇编语言是不同的。这使得汇编语言程序不能移植,使用不便;其次,要使用汇编语言进行程序设计必须了解所使用CPU硬件的结构与性能,对程序设计人员有较高的要求。为此,又出现了对单片机进行编程的高级语言,如PLM,C等。 KEIL C51是美国KEIL Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KEIL C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEIL C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。经以上分析综合得知,本课题采用C语言进行编程。4.2系统软件设计的一般原则在单片机应用开发中代码使用效率、单片机的抗干扰性以及软件可靠性是实际工程设计的重点。 单片机应用软件系统设计包括功能模块划分、程序流程确立、模块接口设计以及程序代码编写。我们依据系统的功能要求,将整体软件系统分割成若干个独立的程序模块。这些程序模块可以是几条语句的集合、功能函数或程序文件。随后,根据个程序模块的实现功能写出流程,一般需要写出具体的实现功能描述。程序代码通常采用汇编语言或高级语言(C语言)编写。 本课题采用C语言编程,在此必须注意以下问题:(1)提高程序代码效率必须熟悉当前使用的C语言编译器,试验每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道代码效率。(2)减少程序错误我们在编写程序时,要注重考虑如下方面。1物理参数 2资源参数 3应用参数 4过程参数(3)单片机的抗干扰性防止干扰最有效的方法是去除干扰源、隔离干扰路径。单片机干扰最常见的现象就是复位,导致程序运行异常。设计系统是一般需要添加一个“看门狗”监控模块,在系统出现不可逆转的干扰时,监控模块将重启系统,并从断点处继续执行。(4)系统的可靠性1要测试单片机软件功能的完善性。2上电、掉电测试。3系统耗损测试。4.3系统软件设计的一般步骤系统进行软件设计时,先要对本课题硬件有一个熟练的掌握,知道系统的组成,数据的传输,信号是如何被控制的,以及信号的显示。然后进行软件设计时,先搞清楚各个部分的子程序及他们的流程图,然后进行C语言编程,最后将它们系统的编程4.4软件实现系统软件设计主要包括系统程序和流程图,根据整个系统的要求,完成温度的测量与控制必须经过以下几个步骤:单片机接受传感器的温度信号,并通过LCD液晶显示器显示出来,单片机扫描按键,接受控制信号,并将温度上下限设定值显示出来,若温度不在范围内则发出报警。4.4.1系统主程序流程图 首先要对系统的各个模块初始化,先执行测温子程序,获取外界的温度值送单片机进行处理,调用相应的显示子程序,对获取的温度显示。然后单片机对按键所连接的引脚进行巡回检测,若果为低电平,说明有键被按下,执行相应的按键功能,对温度上下限的设定值进行调整并显示在LCD液晶显示器。若检测到返回键为低电平,则回到原来的测温状态,此时的报警上下限的设定值已经修改,系统根据此设定值和主程序,判断是否需要调用报警子程序和蜂鸣器响起子程序。开始系统初始化测温子程序温度显示子程序温度上下限设定键是否按下?显示温度上下限温度上下限调整键是否按下?返回键?显示调整温度报警子程序蜂鸣器响起子程序是否是否是图4.1 系统主程序流程图4.4.2传感器程序设计(1)DSl8B20编程简介每一片单总线芯片内部都有一个全球惟一的64 位编码,在多路测温时就是通过匹配每个芯片的ROM编码(ID),来搜寻该路的温度。DS18B20有9个可擦写的内部寄存器,称为便笺式RAM。所有的串行通讯,读写每一个bit位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化;其次执行ROM 命令;最后就是执行功能命令(R0M命令和功能命令后面以表格形式给出)。如果出现序列混乱,则单总线器件不会响应主机。当然,搜索ROM 命令和报警搜索命令,在执行两者中任何一条命令之后,要返回初始化。基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备,且准备就绪。每次访问任何单总线器件,必须严格遵守这个命令序列;如果出现序列混乱,则单总线器件不会响应主机。但是这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。在 主 机 发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18 B20支持的某个功能命令。这些命令允许主机写人或读出DS18 B20暂存器,启动温度转换以及判断从机的供电方式。(2)软件实现前面提及单总线器件的ROM命令,在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备的唯一64位ROM代码相关。允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备,以及其设备类型或者有没有设备处于报警状态。从机设备可能支持5种ROM命令(实际情况与具体型号有关),每种命令长度为8位。主机在发出功能命令之前,必须发送合适的ROM命令。 搜索ROMF0h当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机就能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换)以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步(初始化)。 读ROM33h(仅适合于单节点)该命令仅适用于总线上只有一个从机设备。它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该命令用于多节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。 匹配ROM 55h匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令。其它设备将处于等待复位脉冲状态。 跳越ROMCCh(仅适合于单节点)主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如,主机通过在发出跳越ROM命令后跟随转换温度命令44h,就可以同时命令总线上所有的DS18B20开始转换温度,这样大大节省了主机的时间。值得注意的是,如果跳越ROM命令跟随的是读暂存器BEh的命令(包括其它读操作命令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。 报警搜索ECh(仅少数1一Wire器件支持)除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令。该命令允许主机设备判断那些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。DS18B20在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求,只有严格遵守通讯协议才能保证数据传输的正确性和完整性。所有时序均以主机为Master,单总线器件为Slave,每次数据的传输均从主机启动写时序开始,如果要求单总线器件回送数据,则在写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的复位时序 图4.2 DS18B20复位时序/该函数返回为0,表示有DS1820,否则没有bit reset(void) bit err; DQ=0;/在数据线上产生600us的低电平 delay15(40); DQ=1;/数据线拉高 delay15(4);/延时60us err=DQ;/读取数据线状态,err=0:复位成功 delay15(18);/ err=1:复位失败 return(err); DS18B20的读时序 图4.3 DS18B20读时序DS18B20的读时序分读0时序和读1时序两个过程。读时序是主机先把单总线拉低,在之后的l5s内必须释放单总线,以便将数据传输到单总线上。DS18B20完成一个读时序至少需要60s。unsigned char read_bit(void) unsigned char i;DQ = 0; /将DQ 拉低开始读时间隙_nop_();_nop_();DQ = 1; / then return highfor (i=0; i0;i-) /循环读8位(先低位,后高位) dat=dat1; /读出数据先右移一位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告专业求职者面试必-备技能与策略
- 双汇战略投资分析及决策思维面试专题研究
- 定价分析师定价分析师岗位招聘需求分析
- 单元操作工生产计划执行情况分析报告
- iPSC来源干细胞治疗SMA的个体化方案设计
- 培训课程材料设计与制作全解析
- VR辅助脊柱畸形矫正手术方案沟通
- 外贸交易风险与防范措施
- 家政服务公司管理与服务标准
- 2025 小学二年级数学下册图形运动实践(画对称蝴蝶)课件
- 电力调度班组安全大讲堂
- 广东省数字经济产业发展概况及未来投资可行性研究报告
- 校园驻校教官培训
- 2024-2030年中国苯甲酰氯市场产销需求与未来发展趋势预测报告
- 医用营养制剂市场发展预测和趋势分析
- DL∕T 507-2014 水轮发电机组启动试验规程
- 铁路弹条Ⅱ型扣件
- 实际投资额审计报告模板
- UTC慧飞无人机测绘技术课程理论考核
- 彝族民间音乐智慧树知到期末考试答案2024年
- 当代大学德语3单词表
评论
0/150
提交评论