[硕士论文精品]温度测量与报警系统设计论文_第1页
[硕士论文精品]温度测量与报警系统设计论文_第2页
[硕士论文精品]温度测量与报警系统设计论文_第3页
[硕士论文精品]温度测量与报警系统设计论文_第4页
[硕士论文精品]温度测量与报警系统设计论文_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

温度测量与报警系统设计1目录目录1摘要21绪论31单片机控制系统及其优势312数字温度传感器DS18B20的测温优势42基于DS18B20温度计的系统设计521系统组成521DS18B20的性能特点62121820的内部结构7213DS18B20的测温原理82独立按键单元123LED数码管显示单元123程序设计1431程序流程图1431主程序14312读出温度子程序15313温度转换命令子程序15314计算温度子程序16315显示数据刷新子程序1632DS18B20的各条ROM命令163温度数据的计算方法17结论18参考文献19附录20源程序代码20设计电路原理图25温度测量与报警系统设计2摘要本文介绍的是基于传感器DS18B20数字温度计的设计。系统由测温单元,主控制器,显示单元构成。测温元件采用单总线传感器DS18B20,主控器为常用的AT89S51,显示电路采用共阳极数码管。51单片机的P0口控制段码输出,P27为数据输入端,P30P33口为扫描口。目前大多数传感器系统都采用放大传输数模转换这种处理模式。这种模式一般要占用数条数据/控制线,限制了单片机功能的扩展。而一线总线技术则很好地解决了这个问题。DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线“接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供微机处理。DS18B20集温度测量、AD转换于一体,具有体积小、动态范围宽、测量精度高、单总线结构等特点。经试验,基于51单片机和DS18B20的温度测量仪,设计简单,控制方便,测量准确,测温范围宽,完全可以取代水银温度计和热敏电阻测量。关键词传感器,DS18B20,温度计温度测量与报警系统设计31绪论1单片机控制系统及其优势单片机,也被称为微控制器(MICROCONTROLLER),是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件微处理器(CPU)、存储器(RAM,ROM,)、和各种输入、输出接口(定时器/计数器,并行I/O口,串行口,A/D转换器以及脉冲调制器PWM等)。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上1。图11单片机结构框图单片机硬件系统由以下几部分组成2(1)运算器计算机的运算部件,实现算术和逻辑运算。(2)控制器计算机的指挥控制部件,使各部分能自动协调工作。运算器和控制器是计算机的核心部分,常把它合在一起称为中央处理器,简称CPU。(3)存储器计算机的记忆部分。又分为内存储器和外存储器。温度测量与报警系统设计4(4)输入设备用于将程序和数据输入到计算机中。(5)输出设备把数据计算或加工的结果,以用户需要的形式加工或保存。单片机由于体积小、质量轻、功耗低、控制功能强、扩展灵活、微型化、使用方便、抗干扰能力强和成本低等优点比专用处理器最适合应用于嵌入式系统,因此现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。它已经渗透到我们生活的各个领域,单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域3。12数字温度传感器DS18B20的测温优势DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为912位A/D转换精度,测温分辨率可达00625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的优点。温度测量与报警系统设计52基于DS18B20温度计的系统设计21系统组成按照系统设计功能的要求,确定系统由三个模块组成微控单元、独立按键、测温电路、显示电路和报警系统4。数字温度计总体电路结构框图如图21所示图21温度计电路设计原理图如图21所示,控制器使用单片机AT89S52,温度传感器采用DS18B20,用四位共阳极LED数码管以动态扫描法实现温度显示,其中独立式按键实现对温度报警的上下限进行设置,当温度超过上设置的上下限是蜂鸣器将发声报警。温度测量与报警系统设计621DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度值。此数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20“一线总线”数字化温度传感器,测量温度范围为55C125C范围内,。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20的特性DS18B20可以程序设定912位的分辨率,精度为05C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能特点如下1独特的单线接口只需1个接口引脚即可通信2多点MULTIDROP能力使分布式温度检测应用得以简化3不需要外部元件4可用数据线供电5不需备份电源6测量范围从55至125增量值为05等效的华氏温度范围是67F至257F增量值为09F7以9位数字值方式读出温度8在1秒典型值内把温度变换为数字温度测量与报警系统设计79用户可定义的非易失性的温度告警设置10告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况11应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统212DS18B20的内部结构DS18B20内部结构如图1所示,主要由4部分组成64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。目前大多数传感器系统都采用放大传输数模转换这种处理模式。这种模式一般要占用数条数据/控制线,限制了单片机功能的扩展。而一线总线技术则很好地解决了这个问题。一线总线技术就是在一条总线上仅有一个主系统和若干个从系统组成的计算机应用系统。由于总线上的所有器件都通过一条信号线传输信息,总线上的每个器件在不同的时间段驱动总线,这相当于把数据总线、地址总线和控制总线合在了一起。所以整个系统要按单总线协议规定的时序进行工作。为了使其它设备也能使用这条总线,一线总线协议采用了一个三态门,使得每一个设备在不传送数据时空出该数据线给其它设备。一线总线在外部需要一个上拉电阻器,所以在总线空闲时是高电平。挂在单总线上的器件称为单总线器件,为了区分总线上的不同器件,生产单总线器件时,厂家都刻录了一个64位的二进制ROM代码作为芯片的唯一序列号。这样通过寻址就可以把每个器件识别出来。64位ROM的结构如下图22开始8位是温度测量与报警系统设计8产品类型的编号(DS18B20为10H),接着是每个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。图22DS18B20的内部结构图23DS18B20的管脚排列213DS18B20的测温原理SDS1820通过使用在板ONBOARD温度测量专利技术来测量温度温度测量电路的方框图见。温度测量与报警系统设计9图24使用VDD提供温度变换所需电流图25温度测量电路DS1820通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度而门开通期由高温度系数振荡器决定计数器予置对应于55的基数,如果在门开通期结束前计数器达到零那么温度寄存器它也被予置到55的数值将增量指示温度高于55同时计数器用钭率累加器电路所决定的值进行予置为了对遵循抛物线规律的振荡器温度特性进行温度测量与报警系统设计10补偿,这种电路是必需的时钟再次使计数器计值至它达到零如果门开通时间仍未结束,那么此过程再次重复钭率累加器用于补偿振荡器温度特性的非线性以产生高分辩率的温度测量通过改变温度每升高一度计数器必须经历的计数个数来实行补偿因此为了获得所需的分辩率计数器的数值,以及在给定温度处每一摄氏度的计数个数钭率累加器的值二者都必须知道此计算在DS1820内部完成,以提供05的分辩率,温度读数以16位符号扩展的二进制补码读数形式提供。下表说明输出数据对测量温度的关系数据在单线接口上串行发送DS1820可以以05的增量值在05至125的范围内测量温度对于应用华氏温度的场合必须使用查找表或变换系数。注意在DS1820中温度是以1/2LSB最低有效位形式表示时产生以下9位格式,MSB最高有效位最低有效位LSB11011025。最高有效符号位被复制到存储器内两字节的温度寄存器中较高MSB的所有位这种符号扩展,产生了如表1所示的16位温度读数。以下的过程可以获得较高的分辩率首先读温度并从读得的值截去05位最低有效位,这个值便是TEMP_READ然后可以读留在计数器内的值此值是门开通期停止之后计数,剩余COUNT_REMAIN所需的最后一个数值是在该温度处每一摄氏度的计数个数COUNT_PER_C。温度二进制表示十六进制12500000000111110100FAH2500000000001100100032H1/200000000000000010001H000000000000000010000H温度测量与报警系统设计11/21111111111111111FFFFH251111111111001110FFCEH551111111110010010FF92H表1温度数据关系2独立按键单元为了实现对报警温度上限和下限值的随时设置,在电路设计中添加了独立按键单元,一共有S1S4四个独立式按键,用P11P13对四个按键进行扫描,当某个按键被按下时对应的I/O口出现一个低电平,当微控制器AT89S52检测到对应按键的低电平时,则微控制器转向次按键的服务程序。S1按键为模式按钮,一共有三个模式正常显示温度模式、设置报警温度的上限值模式和设置报警温度的下限值模式。当S1键被按下1次时进入设置报警温度的上限值模式,此时数码管显示此前设置报警温度的上限值并闪烁,当S2按键被按下时,则报警温度的上限值加1C,当S3按键被按下时,则报警温度的上限值减1C。当S1键被按下第2次时进入设置报警温度的下限值模式,此时数码管显示此前设置报警温度的下限值并闪烁,当S2按键被按下时,则报警温度的下限值加1C,当S3按键被按下时,则报警温度的下限值减1C。当S1按键被按下第3次时进入正常显示当前温度的模式,此时数码管显示当前的温度值。温度测量与报警系统设计1223LED数码管显示单元显示电路采用4位共阳极LED数码管,从P0口输出段码,位码扫描用P30P33口来实现。如图温度测量与报警系统设计13图25数码管显示电路LED即LIGHTEMITTINGDIODE,发光二极管的英文缩写。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏。LED的发光颜色和发光效率和制作LED的材料和工艺有关,目前广泛使用的有红、绿、蓝三种。由于LED工作电压低(仅153V),能主动发光且具有一定亮度,亮度又能用电压或电流调节,本身又耐冲击、抗震动、寿命长(10万小时),所以大型显示设备中,目前尚无其它的显示方式与LED显示方式匹敌。把红色和绿色的LED放在一起作为一个像素制作的显示屏称为双基色屏或伪彩色屏;把红、绿、蓝三种LED放在一起作为一个像素的显示屏叫作三基色屏或全彩屏。制作室内LED屏的像素尺寸一般是210MM,常常采用把几种能产生不同基色的LED管芯封温度测量与报警系统设计14装成一体,室外LED屏的像素尺寸多为1226MM,每个像素有若干个各种单色LED组成,常见的成品称像素筒或像素块。LED显示屏如果想要显示图像,则需要构成像素的每个LED的发光亮度都必须能调节,其调节的精细程度就是显示屏的灰度等级。灰度等级越高,显示的图像就越细腻,色彩也越丰富,相应的显示控制系统也越复杂。在当前技术水平下,256级灰度的图像,颜色过渡已十分柔和,图像还原效果比较令人满意。LED电子显示屏是由几万至几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制作不同色彩的LED像素点。目前用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。3程序设计31程序流程图31主程序主程序主要功能是负责温度的实时显示,读出并处理DS18B20的测量温度值,温度测量每一秒进行一次。流程图如下温度测量与报警系统设计15初始化调用显示子函数1秒初次上读出温度值,温度计算处理,显示数据发温度转换开始命令NYNY图29312读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。313温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750MS在本程序设计中,采用1S显示程序延时法等待转换的完成。温度测量与报警系统设计16314计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判断。315显示数据刷新子程序显示刷新子程序主要是对显示缓冲中的显示数据进行刷新操作,当最高数据显示为0时,将符号显示位移入下一位。32DS18B20的各条ROM命令READROM读ROM33H此命令允许总线主机读DS1820的8位产品系列编码唯一的48位序列号以及8位的CRC,此命令只能在总线上仅有一个DS1820的情况下可以使用如果总线上存在多于一个的从属器件。那么当所有从片企图同时发送时将发生数据冲突的现象漏极开路会产生线与的结果。MATCHROM符合ROM55H符合ROM命令后继以64位的ROM数据序列允许总线主机对多点总线上特定的DS1820,寻址只有与64位ROM序列严格相符的DS1820才能对后继的存贮器操作命令作出响应所有与64位ROM序列不符的从片将等待复位脉冲此命令在总线上有单个或多个器件的情况下均可使用。SKIPROM跳过ROMCCH在单点总线系统中此命令通过允许总线主机不提供64位ROM编码而访问存储器操作来节省时间如果在总线上存在多于一个的从属器件而且在SKIPROM命令之后发出读命令那么由于多个从片同时发送数据会温度测量与报警系统设计17在总线上发生数据冲突漏极开路下拉会产生线与的效果。SEARCHROM搜索ROMF0H当系统开始工作时总线主机可能不知道单线总线上的器件个数或者不知道其64位ROM编码搜索ROM命令允许总线主机使用一种消去ELIMINATION处理来识别总线上所有从片的64位ROM。编码ALARMSEARCH告警搜索ECH此命令的流程与搜索ROM命令相同但是仅在最近一次温度测量出现告警的情况下DS1820,才对此命令作出响应告警的条件定义为温度高于TH或低于TL只要DS1820一上电告警条件就保持在设置状态直到另一次温度测量显示出非告警值或者改变TH的设置使得测量值再一次位于允许的范围之内贮存在EEPROM内的触发器值用于告警。3温度数据的计算方法从DS18B20读取出的二进制必学先转换成十进制,才能用于字符的显示。DS18B20的转换精度为912位,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以00625为步进的,既温度值问温度寄存器里的二进制乘以00625,就是实际的十进制温度值。通过观察可以发现,一个十进制值与二进制值之间有明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字,这个字节的二进制化成十进制后,就是温度值的百、十、个位置,而剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。因为小数部分是半字节,所以二进制范围是0F,转换成十进制小数值就是00625的倍数。这要需要4位的数码管来显示小数部分。实际应用不必有这么高的精度,采用1位数码管来显示小数,可以精确到01度。温度测量与报警系统设计18结论本设计充分利用了51单片机系统结构简单,单片机的逻辑功能强大,通过编程可容易实现复杂的功能等优势,且以单片机为核心的电路系统在不改变硬件电路的条件下,通过修改程序可实现电路功能的改变,纯数字电路系统在改变电路功能时,必须对硬件电路作出修改。因此单片机系统的通用性和可维护性都更强。其次是利用DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,使得本次设计容易直接测得温度值。由DS18B20组建的温度测量单元体积小,便于携带、安装。同时,DS18B20的输出为数字量,可以直接与单片机连接,无需后级AD转换,控制简单。由于DS18B20具有单总线特性,便于扩展,可在一根总线上挂接多个DS18B20来组建温度测量网络。且C语言编程则相对简单,但其执行效率、执行速度没有汇编语言高。温度测量与报警系统设计19参考文献1张毅刚,新编MCS51单片机应用设计(第二版),哈尔滨工业大学出版社。2唐俊翟,单片机原理与应用,冶金工业出版社。3张义和,例说8051,人民邮电出版社。4戴佳,51单片机C语音应用程序设计,电子工业出版社,2007。5万光毅,单片机实验与实践教程,北京航空航天大学出版社。6李群芳,单片微型计算机与接口技术,电子工业出版社。7杜树奉,单片机应用系统开发实例详解,机械工业出版社8蒋辉平、周国雄,单片机原理与应用设计,北京航空航天大学出版社9刘广才、门占楼单片机技术的应用与发展J黑龙江科技信息2004,0210唐元华MP48/51单片机开发系统J实验技术与管理,1991,0511何立民,单片机应用技术选编,北京航空航天大学出版社,199312王毅,单片机期间应用手册,人民邮电出版社,199513胡汉才,单片机原理及其接口技术,清华大学出版社,199614李广弟,单片机基础,北京航空航天大学出版社,2001温度测量与报警系统设计20附录源程序代码/DS18B20的读写程序,数据脚P27/温度传感器18B20汇编程序,采用器件默认的12位转化/最大转化时间750微秒,显示温度55到125度,显示精度/为01度,显示采用4位LED共阳显示测温值/P0口为段码输入,P34P37为位选/INCLUDE“REG51H“IL“INTRINSH“/_NOP_延时函数用DEFINEDISDATAP0/段码输出口FIDISCAN3/扫描口DEFINEUCHARUNSIGNEDCHARFIUINTUNSIINTSBITDQP27/温度输入口SBITIN07/LED小数点控制UINTHUINTTEMP/温度小数部分用查表法/UCHARCODEDITAB160X00,0X01,0X01,0X02,0X03,0X03,0X04,0X04,0X05,0X06,0X06,0X07,0X08,0X08,0X09,0X09/UCHARCODEDIS_7120XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF,0XBF/共阳LED段码表“0“1“2“3“4“5“6“7“8“9“不亮“UCHARCODESCAN_CON40X7F,0XBF,0XDF,0XEF/列扫描控制字温度测量与报警系统设计21UCHARDATATEMP_DATA20X00,0X00/读出温度暂放RTADISPLAY50X00,0X00,0X00,0X00,0X00/显示单元数据,共4个数据和一个运算暂用/11US延时函数/VOIDDELAYUINTTFORT0T/显示扫描函数/SCANC

温馨提示

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

评论

0/150

提交评论