基于单片机的温度控制及报警系统的设计.doc_第1页
基于单片机的温度控制及报警系统的设计.doc_第2页
基于单片机的温度控制及报警系统的设计.doc_第3页
基于单片机的温度控制及报警系统的设计.doc_第4页
基于单片机的温度控制及报警系统的设计.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

摘 要温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于AT89S52的温度检测及报警系统。该系统将单总线温度传感器DS18B20并接在控制器的一个端口上,对传感器温度进行循环采集,将采集到的温度值与设定值进行比较,当超出设定的上限温度时,通过电路给出报警信号。用AT89S52单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行了实时采集与检测。文中给出了系统实现的硬件原理图及程序设计。经实验测试表明,该系统测量精度高、抗干扰能力强、报警及时准确,具有一定的参考价值。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便。 关键词:数字温度传感器;单总线;单片机AT89S52;时钟液晶显示;报警信号ABSTRACTTemperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the test and control the temperature more rapidly development, this paper is designed based on AT89S52 temperature detection and alarm systems. The system will be a single-bus temperature sensor DS18B20 and connected to a port on the controller, the temperature sensors on loop collection, the temperature will be collected to compare with the set value, when the temperature exceeds the upper limit set , through the circuit gives alarm signal. The main content of this design is temperature testing circuit that uses AT89S52 single-chip microcomputer .It is a part of the whole design that cannot be lacked. The system is used to collect and control temperature in real time.In this paper, it gives the system implementation of hardware and program designing. The experimental tests show that this high accuracy, strong anti-interference ability, alarm timely and accurate, with a certain reference value. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience.Key Words:Digital temperature sensor; Single bus; Monolithic Integrated AT89S52; Lcd clock; Alarm signal目 录1绪论11.1课题的背景与意义11.2温度检测及国内外报警系统的近况11.3温度参数、温度检测、报警系统31.3.1温度范围31.3.2温度测量31.3.3报警系统32系统总体设计方案43液晶显示电路和时钟电路的设计63.1液晶显示模块的设计63.1.1TS12864液晶显示器简述63.1.2TS12864-3主要特性及各引脚功能63.1.3 TS128643液晶显示器工作原理73.2时钟电路的设计73.2.1时钟电路的简述73.2.2时钟电路的引脚功能及结构83.2.3时钟电路工作原理84报警系统硬件设计和单片机温度控制104.1温度控制系统硬件设计104.1.1主控制单片机104.1.2AT89S52的特点104.1.3AT89S52主要功能及特性104.1.4单片机最小系统模块134.2报警系统的设计144.2.1报警系统蜂鸣器的特性144.2.2报警系统工作原理144.3 DS18B20芯片简介154.3.1温度传感器的历史及简介154.3.2DS18B20性能特点及内部结构154.3.3DS18B20工作时序194.3.4DS18B20的操作协议214.3.5DS18B20序列号编码234.3.6DS18B20的测温原理234.3.8DS18B20在测温系统中的应用244.3.9注意事项244.4温度检测模块的设计254.5温度控制系统的设计265系统调试275.1硬件调试方法275.1.1常见的硬件故障275.2软件调试285.3误差分析28结 论29参考文献30附录1:英文资料31附录2:中文资料36附录3:程序40附录4:总原理图56致 谢57天津职业技术师范大学2010届本科生毕业设计(论文)1绪论1.1课题的背景与意义在近四十年的时间里,电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了一代新型的电子计算机微型计算机,使得计算机应用日益广泛;而单片微型计算机的问世,则更进一步推动了这一发展趋势,使计算机应用渗透到各行各业,达到了前所未有的普及程度。一个由微电子技术为先导,计算机技术为标志,包括新材料、宇航、生物工程、海洋工程等多种学科在内的新技术革命正在兴起。 在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。随着温度检测理论和技术的不断更新, 温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和半导体集成传感器等,每种传感器根据其自身特性,都有它自己的应用领域。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。1.2温度检测及国内外报警系统的近况温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。温度采集控制系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。同时温度也是生活中最常见的一个物理量,也是人们很关心的一个物理量,它与我们的生活息息相关,有着十分重要的意义,在工业生产中,温度过高或过低会直接影响到产品的质量、对机械设备和控制系统中的各种元器件造成一定的损坏,严重的会影响到生产安全。在日常生活中,温度过高或过低同样会造成一些不良影响。在实际生产、生活等各个领域中,温度是环境因素的不可或缺的一部分,对温度及时精确的控制和检测显得尤为重要。比如,农业上土壤各个层面上的温度将会影响植物的生长;在医院的监护中也用到温度的测量。在工业中,料桶里外上限温度要求不一,以及热处理中工件各个部位的温度对工件形成后的性能至关重要等等。现代电子工业的飞速发展对自动测试的要求越来越高。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。针对以上情况,在控制成本的前提下,通过本设计设计一款能够实时检测控制温度,又具有对系统设定不同的报警温度的温度控制报警系统功能。此系统能够满足现代生产生活的需要,效率高,具有较强的稳定性和灵活性。因此,在生产和生活中要对温度进行严格的控制,使温度在规定的范围内变化。通过本系统提高对于温度控制的认识。在学习实践中提高对理论的认知能力和动手解决实际问题的能力,达到教学实践相结合的目的。采用先进的科学技术,向社会提供各种超值安全设备服务,给用户带来安全和放心。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。1.3温度参数、温度检测、报警系统1.3.1温度范围基本范围0-50精度误差小于0.5液晶模块直读显示可以任意设定温度的上下限报警功能1.3.2温度测量通过DS18B20传感器检测测量温度通过AT89S52单片机进行控制通过用TS12864液晶传送数据实现温度显示1.3.3报警系统温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S52 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,采集的温度经处理后超过设定温度的上限时,单片机通过电磁式蜂鸣器和两个发光二极管发出报警信号。59天津职业技术师范大学2010届本科毕业设计(论文)2系统总体设计方案根据功能和指标要求,本系统可以从元件级开始设计。设计采用AT89S52单片机作为主控制芯片。按键开关和液晶屏显示器,4个按键为温度测量电路的输入接口。通过扩展必要的外围接口电路,实现对温度的测量和控制。温度控制电路是通过DS18B20单总线数字温度计温度器实现的。温度传感器是一种单总线型温度测量器件,具有直接的数字信号,可采用总线供电,在同一根总线上可接多个传感器,构成多点测温网络,是温度场监控系统的理想选择。本系统包括温度传感器,输出控制模块,数据传输模块,温度显示模块和报警模块。温度传感器为数字温度传感器DS18B20,包括了A/D转换电路和单总线数据输出电路部分。温度报警计电路设计总体设计方框图如图2-1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,报警电路采用电磁式蜂鸣器,用LCD液晶TS128643显示器传送数据实现温度显示。按键输入电路时钟电路复位电路报警电路测温电路显示电路温度控制电路单片机图2-1 总体设计方框图单元模块功能如下:检测电路由温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。精度较差为 2C 。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。显示电路由TS12864液晶显示模块构成。液晶显示(LCD)大体分为笔段型、字符型、点阵图形型等几大类。TS128643液晶显示模块是采用控制芯片ST7920来控制显示的。该显示器能够使用串口和并口两种接线方式。并口可以选择4线和8线两种。为了能够简单、有效地显示汉字和图形,该模块内部设计有2MB的中文字型CGROM和64*256点阵的GDRAM绘图区域;同时,该模块还提供有4组可编程控制的16*16点阵造字空间;除此之外,为了适应多种微处理器和单片机接口的需要,该模块还提供了4位并行、8位并行、2线串行以及3线串行等多种接口方式。超温报警主机的核心器件是单片机,它是整个系统的心脏,由它来接受报警信号并控制协调各功能模块的正常工作,考虑到系统的功能和经济性因素,采用的是当今流行的性价比比较高的AT89S52。AT89S52是一个低功耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。3液晶显示电路和时钟电路的设计3.1液晶显示模块的设计3.1.1TS12864液晶显示器简述液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用中得到越来越广泛的应用。随着科技的发展,液晶显示模块的应用前景将更加广阔。本文将介绍点阵图形型带汉字库的液晶显示器。TS128643液晶显示模块是采用控制芯片ST7920来控制显示的。ST7920是台湾矽创电子公司生产的中文图形控制芯片,它是一种内置128*6412汉字图形点阵的液晶显示控制模块,用于显示汉字及图形。该芯片共内置8192个中文汉字(16*点阵)、128个字符的ASCII字符库(8*16点阵)及64*256点阵显示RAM(GDRAM). 为了简单、有效地显示汉字和图形,该模块内部设计有2MB的中文字型CGROM和64*256点阵的GDRAM绘图区域;同时,该模块还提供有4组可编程控制的16*16点阵造字空间;除此之外,为了适应多种微处理器和单片机接口的需要,该模块还提供了4位并行、8位并行、2线串行以及3线串行等多种接口方式。3.1.2TS12864-3主要特性及各引脚功能表3-1 TS128643各引脚功能引脚序号符号电平功能1VSS0V电源地2VDD+5V电源输入3VO液晶显示对比度调节4RS(D/I)H/LH:Display Data,L:Display Instrution5R/WH/LH:读信号,L:写信号6E读写使能7-14DB0-DB7H/L数据总线15PSBH/LH:8位或4位并口方式,L:串口方式16NC17/RESH/L复位端,低电平有效18NC19LED(+)背光源正端(+5V) 20LED(-)背光源负端TS128643是一种图形液晶点阵液晶显示器,该显示器能够使用串口和并口两种接线方式。并口可以选择4线和8线两种。可完成图形显示。也可以显示8*4个(16*16点阵)汉字,LED背光 黄绿色。如选用不带汉字库的TS12864,对于使用的部分汉字分别提取其字模并以二进制形式保存于内部FLASHROM中。主要技术参数和性质是:电源电压标准值为-0.3+7.0V液晶驱动电压为Vdd-19.0Vdd+0.3V输入电压为-0.3Vdd+0.3工作温度一般在-20+70度存储温度一般在-3080度4具有8位标准数据总线、6条控制线及电源线,可与CPU直接接口,显示各种字符及图形。3.1.3 TS128643液晶显示器工作原理利用DS18B20数字温度传感器对温度信号进行采集,然后将采集到的温度经信号调理电路处理后直接被送到AT89S52中, 每隔一段时间进行温度刷新,用TS12864液晶显示器模块进行温度显示,将采集到的温度值与初始设定好的最高温度进行比较,如果大于最高温度30度,则利用蜂鸣器进行报警。图3-1 TS128643液晶模块电路图根据预先写好的信号数据及设定的各种控制参数,按照嵌入单片机控制规则进行计算和处理,自动通过液晶模块显示当前温度值及日期时间,通过控制4个按键来进行时间转换和设置。根据当前状态输出正常信号,同时将各种数据通过LCD进行显示监控。3.2时钟电路的设计3.2.1时钟电路的简述时钟电路可以简单定义为产生象时钟一样准确的振荡电路。任何工作都按时间顺序的电路。现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本设计采用的时钟电路DS1302是DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。3.2.2时钟电路的引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。图3-2DS1302引脚图3.2.3时钟电路工作原理 DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。图3-2示出DS1302的连接图,其中,时钟的显示用LCD。 DS1302与CPU的连接。实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有34线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2A(典型值),省电模式时小于1A,工作电压为2.4V3.3V,显示清晰。图3-3时钟模块电路图4报警系统硬件设计和单片机温度控制4.1温度控制系统硬件设计本系统主要是基于单片机实现其温度检测和报警功能,其硬件的主要设计如下:4.1.1主控制单片机主控单片机采用一片ATMEL AT89S52。根据题目要求,充分利用了单片机灵活控制的优点,发挥其优势功能,采用单片机控制显示信号灯,提高了系统的灵活性,设置方便。AT89S52芯片本身集成了看门狗(WDT)电路,这是为了系统更加的稳定可靠,避免了系统因为死机而停止工作的情况发生这种做法对于实际上长时间运行在恶劣状况的交通灯控制系统来说是十分必要的。它可以完成自动加载复位,省去人工调整的麻烦,可以做到无人职守。AT89S52 是整个系统的核心处理器,单片机首先把通过传感器测到的现场温度与预先设置的温度进行比较,如果大于或小于预先设置值,就输出信号去控制加热器的工作,从而实现温度控制。AT89S52 还负责液晶显示、报警以及与上位机进行通信等工作。4.1.2AT89S52的特点AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节 Flash,256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。4.1.3AT89S52主要功能及特性主要功能特性如下:l与 MCS-51 单片机产品兼容l8K 字节在系统可编程 Flash 存储器l1000 次擦写周期l全静态操作:0Hz33Hzl三级加密程序存储器l32 个可编程 I/O 口线l三个 16 位定时器/计数器l八个中断源l全双工 UART 串行通道l低功耗空闲和掉电模式l掉电后中断可唤醒l看门狗定时器l双数据指针l掉电标识符引脚功能如下:VCC :电源GND:地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1口是一个具有内部上拉电阻的8位双向 I/O口,p1输出缓冲器能驱动4个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2 分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如表3-1所示。在 flash 编程和校验时,P1 口接收低 8 位地址字节。表4-1 P1口引脚功能引脚号第二功能P1.0T2(定时器/计数器 T2 的外部计数输入),时钟输出P1.1T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。在 flash 编程和校验时,P3 口也接收一些控制信号。RST:复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第0位置“1”ALE操作将无效。这一位置“1”,ALE仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。4.1.4单片机最小系统模块复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位和手动复位。本设计采用的是手动复位。有时系统在运行过程中出现程序跑飞的情况,在程序开发中,经常需要手动复位。AT89S52始终使RST脚接高电平后再悬空,单片机才能正常工作。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。高频率的时钟电路有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。但是对系统要求较高,而且功耗较大,运行环境苛刻。合适频率的晶振对于电路的准确运行有好处,电容的大小会影响振荡器频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性,在本设计中采用11.0592M无源晶振接入XTAL1和XTAL2引脚,并联两个22UF的陶瓷电容帮助起振。图4-1 单片机系统电路4.2报警系统的设计4.2.1报警系统蜂鸣器的特性蜂鸣器是一种一体化结构的电子讯响器,广泛应用于电子产品中作发声报警。蜂鸣器有两类:一类是压电式,一类是电磁式。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。本设计使用是电磁式蜂鸣器电磁式。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。电磁式蜂鸣器有两种类型:有源蜂鸣器和无源蜂鸣器。有源蜂鸣器内部带振荡源,无源蜂鸣器内部不带振荡源。有源蜂鸣器工作的理想信号是直流电,无源蜂鸣器工作的理想信号是方波。无源蜂鸣器接直流电是不会工作的。有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。4.2.2报警系统工作原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器。4-2报警电路原理图如图所示,蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,结合电路我们可以通过程序控制P3.7脚的电平来使它发出声音和关闭。 程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,都可以通过编程实验来验证。4.3 DS18B20芯片简介4.3.1温度传感器的历史及简介温度的测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。不过在居民住宅中使用已可满足要求。在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。4.3.2DS18B20性能特点及内部结构DS18B20是美国DALLAS公司生产的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与未处理器接口等优点,适合于各种温度测控系统。该器件将半导体温敏器件、A/D转化器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。信号传输采用两芯(或三芯)电缆构成的单总线结构。一条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址码。微控制器通过对器件的寻址,就可以读取某个传感器的温度值,从而简化了信号采集系统的电路结构。(1) DS18B20的性能特点如下:1) 独特的单线接口仅需要一个端口引脚进行通信;2) 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3) 无须外部器件;4) 可通过数据线供电,电压范围为3.05.5V;5) 零待机功耗;6) 温度以3位数字显示;7) 用户可定义报警设置;8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (2) DS18B20的外形及管脚排列如下图4-3: 图4-3 DS18B20封装(3) DS18B20内部结构主要由六分组成:1) 64位光刻ROM。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。图4-4DS18B20内部结构2) 非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。3) 高速暂存存储,可以设置DS18B20温度转换的精度。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAM。高速暂存RAM的结构为8字节的存储器,结构如表4-2所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。它的内部存储器低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。 表4-2DS18B20内部存储器结构Byte0温度测量值LSB(50H)Byte1温度测量值MSB(50H)E2PROMByte2TH高温寄存器-TH高温寄存器Byte3TL低温寄存器-TL 低温寄存器Byte4配位寄存器-配位寄存器Byte5预留(FFH)Byte6预留(0CH)Byte7预留(IOH)Byte8循环冗余码校验(CRC)DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,见下表4-3。表4-3DS18B20字节定义TM R1R0 1 1 1 1 1由表4-4可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。表4-4 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表4-5是一部分温度值对应的二进制温度数据。表4-5一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H4) CRC的产生 在64 b ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。5)温度报警信号DS18B20完成温度转化后,就把测的的温度值与Th、Tl做比较,若TTh或TTl,则将器件内的报警标志位,将对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。一旦某温度点越限,主机利用报警搜索命令,即可识别正在报警的器件,并读出其序号,而不必考虑非报警器件。4.3.3DS18B20工作时序根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:1. 每一次读写之前都必须要对DS18B20进行复位;2. 复位成功后发送一条ROM指令;3. 最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1560微秒左右后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。其工作时序包括初始化时序、写时序和读时序,具体工作方法如图所示。(1) 初始化时图4-5 初始化时序总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,4.7K上拉电阻将总线拉高,延时1560us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us。(2) 写时序图4-6 写时序 写时序包括写0时序和写1时序。所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us。(3) 读时序图4-7 读时序总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。每个读时序都由主机发起,至少拉低总线1us。主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us。4.3.4DS18B20的操作协议DS18B20单线通信功能是分时完成的。单线信号包括复位脉冲,响应脉冲,写“0”,写“1”,读“1”。它们有严格的时隙概念。系统对DS18B20的操作以ROM命令(5个)和存储器命令(6)形式表现,各种指令功能如表4-6,4-7所示。表4-6 DS18B20 ROM命令指令约定代码功能读ROM33H读DS18B20中的编码(既读64位地址)符 合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相应的DS18B20,使之做出响应,为下

温馨提示

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

评论

0/150

提交评论