温度测量报警系统设计_第1页
温度测量报警系统设计_第2页
温度测量报警系统设计_第3页
温度测量报警系统设计_第4页
温度测量报警系统设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要本论文介绍了一种以单片机为主要控制器件,以DS18B20为温度传感器的温度测量报警系统。主要包括硬件电路的设计和系统程序的设计。硬件电路主要包括主控制器,测温电路和温度显示电路等,主控制器采用单片机AT89C51,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用3位数码管显示。本设计中系统程序主要包括DS18B20工作程序、LED显示子程序、键盘输人程序和温度检测报警程序等。此外,还介绍了系统的调试和性能分析。由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度报警系统相比,本设计具有低成本和易使用的特点。DS18B20温度传感器还可以在远距离

2、多点测温控制等方面进行应用开发,具有很好的发展前景。关键词:89C51,单片机,DS18B20,传感器AbstractThis paper presents a microcontroller to the main control device to DS18B20 temperature sensor for measuring the temperature alarm system. Hardware including main circuit design and system design process. Hardware including main controller c

3、ircuit, the circuit temperature and temperature display circuit, the main controller using MCU AT89C51, temperature sensors using U.S. DALLAS Semiconductor production DS18B20, showed that three digital circuits used in a dynamic scanning of the Direct Reading Show. The design of the system procedure

4、s include DS18B20 procedures, LED display routines, keyboard input process and temperature detection alarm procedures.In addition, it introduced a system of debugging and performance analysis. As a result of the improved intelligence DS18B20 as a temperature sensor detection devices, with the tradit

5、ional temperature alarm system compared with the established low-cost and easy to use features. DS18B20 temperature sensor can also long-range multi-point temperature control, and other aspects of application development, has good prospects for development.Key words: 89C51MCU DS18B20 Sensor 目 录第一章 绪

6、论11.1本课题研究的意义11.2目前发展状况1第二章 系统总体设计32.1课题要求简述32.2工作原理32.3 课题总体设计思路3第三章 系统硬件设计53.1温度测量模块设计53.2控制模块设计123.3显示输出设计153.4报警电路设计173.5键盘控制器设计183.6电源设计183.7系统硬件连接设计19第四章 系统软件设计214.1 系统软件总体工作过程214.2软件程序214.3 LED数码显示器显示程序24第五章 结论25参考文献26致 谢27第一章 绪论1.1本课题研究的意义在当今科学研究和生产生活中,温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技

7、术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;在大规模集成电路生产线上,环境温度不适当,会严重影响产品的质量。采用单片机控制温度,无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,人们对它的要求越来越高。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而

8、且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。近年来随着计算机在社会领域的渗透,单片机的应用正在各个领域不断地深入,同时带动传统控制检测日新月益更新。在实施检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,所以我们仅单片机方面知识是不够的,还应根据具体硬件结构,设计单片机外围设备。数字温度传感器因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,现在被广泛应用于各种温度控制系统中。DS18B20就是单总线数字式温度

9、传感器。本论文的立足点是,运用比较常规的温度传感器和单片机芯片以及价格低廉的电子元件构成低成本、高性能的智能系统,努力学习传感器和单片机的相关知识,熟练掌握,灵活运用,最终实现将智能数字式温度测量报警系统应用到更广泛的领域中去。1.2目前发展状况电子仪器是对物质世界的信息进行测量与控制的基本手段。传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的

10、接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。数字时代的到来,温度控制系统越发显得重要。习惯上,人们大多仍继续使用着传统的模拟传感器对温度进行测量,用机械元件进行温度控制。一个传统意义上的温度控制系统在控

11、制时,首先要经过感温元件,测量电路,放大电路,模数转换电路后才能得到相应的数字量信息,然后通过机械元件控制加热或者冷却或者报警才能达到对温度的控制,系统比较繁琐。这样在应用实例中许许多多的缺点就暴露了出来。例如,系统的元件比较多,所以必须要考虑的线路环节较多,而且器件之间又难免存在着干扰,传统温度控制系统对恶劣工作条件适应能力差,不能在极限工作条件下正常工作。利用传统的模拟信号传感器实现温度测量,需要解决引线误差补偿,切换误差,放大电路零点漂移误差等问题,传统的机械元件控制加热冷却或者报警存在着控制精度不高,时间控制不准确等问题,并且需要模数转换等复杂的接口,在实际应用中很是不方便,因此传统的

12、温度控制元件正逐步被新型温度控制器所代替。最近几年,由于半导体技术的迅猛发展,数字化技术推动了信息化的革命,在传感器和控制器的器件结构上采用数字化技术,使信息的采集变的更加方便功能强大,精确,价格低廉的数字式温度传感器和控制器不断的出现。随着传感器和控制器这两个温度控制器主要元件技术的不断更新,温度控制系统也有了长足进步。温度控制系统正在日趋的集成化和微型化,适应能力也不断提高。但随着集成化和微型化的加剧,也出现了若干问题。例如程序设计要求精密无误,内部损坏很难修理等问题。虽然存在一些不足,但是充分利用微处理技术发展数字化和集成化的温度控制系统仍是温度控制发展的方向之一。而且在未来的生产生活中

13、,温度控制系统将被更广泛的应用。第二章 系统总体设计2.1课题要求简述 本课题为温度测量报警系统设计,该系统设计的要求为:(1)设计制作一个具有0100度的数字温度表,测量值数据用3位数码管显示,其中有一位小数,小数点能自动移动,小数点左边1位以上的零自动熄灭。(2)测量温度误差小于0.5度。(3)具有被测温度上,下限设置功能,当检测温度超过上,下限值时,用“嘀嘟”音响发出报警信号。为达到上述要求,该系统采用了温度传感器(内置A/D转换器)、单片机控制器、3位数码管显示器及报警设置与控制电路等组成。单片机控制器2.2工作原理数码管显示器温度传感器(A/D转换器)超温报警电路键盘控制电路图2-1

14、 系统总体组成框图上图所示智能数字式温度测量报警系统的工作原理为:由温度传感器采集温度信号并转换成模拟信号,然后经过A/D转换器把模拟信号转换成数字信号后送入单片机输入端。单片机根据输入端接收到的数字信号,通过软件编程,将数字信号由数码管显示器显示出来。由键盘设置温度上下限,当温度超过设置的上下限温度值时超温报警器报警。2.3 课题总体设计思路(1)依照课题设计要求,选取AT89C51单片机为核心器件。(2)温度传感器采用 DSl8B20 数字式温度传感器。(3)按键采用独立式按键,分别为:设置键:当该键按下时,进入上下限温度设置状态。加一键:在输入上下限温度时,该键按下一次,被调整位加一。减

15、一键:在输入上下限温度时,该键按下一次,被调整位减一。 确认键:当该键第一次按下时,确认所调上限温度,当该键第二次按下时,确认所调下限温度,同时退出设置状态。设置键(SET)通过P1.0口引脚接入,加一键(UP)通过P1.1口引脚接入,减一键(DOWN)通过P1.2口引脚接入,确认键 (RET) 通过P1.3口引脚接入。(4)LED数码显示管采用动态扫描显示法,P0.0P0.7控制LED数码显示管的段选信号,P2.0P2.2控制LED数码显示管的位选信号。(5)当温度T在(99.9C=T9.9C)范围时,使第二位数码管的dp为低电平,使第一、第三位数码管的dp为高电平,第二位数码管显示小数点亮

16、。(6)当温度等于100C时,使第三位数码管的dp为低电平,使第一、第二位数码管的dp为高电平,第三位数码管显示小数点亮,显示数字右移一位。(7)当温度T在(9.9C=T=0.0C)范围时,使第一位数码管驱动三极管截止,第一位数码管整体不亮。上述操作就可满足设计要求的第一条(0100度的数字温度表,测量值数据用3位数码管显示,其中有一位小数,小数点能自动移动,小数点左边1位以上的零自动熄灭。),具体操作由系统软硬件结合来完成.第三章 系统硬件设计3.1温度测量模块设计1.传感器的选择温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实施测量温度,在农业生产中也离不

17、开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器。模拟集成温度传感器。智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。为了克服上面提到的三个问题,采用了新型数字温度传感器DS18B20,在对其测温原理进行详细分析的基础上,既提出了提高DS18B20测量精度的方法,又取得了良好的测温效果。2.

18、 DS18B20的相关概述1:GND为电源地。2:DQ为数字信号输入/输出端。3:VDD为外接供电电源输入端。图3-1 DS18B20管脚图如今,随着数字信息技术的飞速发展和传统工业改造的逐步实现,温度自动控制系统在很多领域得到广泛应用。传统的温度控制使用热敏电阻作为温度敏感元件。没有温度检测元件和控制元件,虽然成本低,但是因其处理电路简单,可靠性相对较差,控制准确度和精度都比较低。因此正逐步的被新型温度传感器组成的温度控制系统所代替。本系统采用了美国DALLAS公司最新推出的DS18B20单总线数字式温度传感器,DS18B20是DALLAS公司继DS1820之后推出的增强型单线数字温度传感器

19、。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统,如图 3-1 。与传统的热敏电阻温度传感器不同,它能够把温度信号直接转换成串行数字信号供给微处理机。DS18B20读出或写入数据仅需要一根I/O口线即总线,总线本身可以向所有挂接的DS18B20芯片提供电源而不需要额外电源,并且它体积小,电压适用范围宽(3V5V),用

20、户还可以通过编程实现912位的温度分辨率。因此,它的实用性和可靠性比同类产品更高。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。信号传输采用两芯(或三芯)电缆构成多单总线结构。一条单总线电缆上还可以挂接若干个数字温度传感器,每一个传感器有唯一的地址编码,微控制器通过对器件的寻址,就可以读取某一个传感器的温度值,从而简化了信号采集系统的电路结构,采集端口的连接线减少了50倍,既节省了造价,又给现场施工带来了极大的方便。3.传感器特点DS18B20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它i/o口线与微机接口,无

21、须经过其它变换电路,直接输出被测温度值。测温范围为-55+125,测量分辨率为0.0625;在-10+85时精度为0.5。可用数据线供电,电压范围:3.05.5V。负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625。内含64位经过激光修正的只读存储器ROM。适配各种单片机或系统机。用户可分别设定各路温度的上、下限。内含寄生电源。每个芯片唯一编码,支持联网寻址,零功耗等待。4.内部结构DS18B20是实现单总线测控网络的关键器件,它的内部结构如图3-2所示。DS18B20有4个主要的数据部件

22、: 64位激光ROM。64位激光ROM从高位到低位依次为8位循环冗余校验码(CRC)发生器、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图3-3所示。其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如表1所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。V

23、DDDQ64位ROM和单线接口存储器和控制器高速暂存存储器温度灵敏原件低温触发器TL高温触发器TH配置寄存器8位CRC生成器电源检测图3-2 DS18B20内部结构简图图3-3 DS18B20配置寄存器结构图DS18B20内部存储器由ROM、RAM和E2ROM组成,如表3.1所示。其中,ROM 由64位二进制数字组成,共分为8个字节,字节0的内容是该产品的厂家代号28H,字节1字节6的内容是48位器件序列号,字节7是ROM前56位的CRC校验码。由于64位ROM 码具有唯一性,在使用时作为该器件的地址,通过读ROM命令可以将它读出来。表 3.1DS18B20内部存储器结构字节ROMRAM0产品

24、代号(28H)温度低8位148位温度高8位E2ROM2器件序列号TH TH3TL TL 4配置寄存器配置寄存器5-6保留7CRC保留8CRCRAM是由9个字节的高速暂存器和非易失性电擦写E2ROM组成。其中字节0、1存储当前温度,字节2、3存储上、下限报警温度TH和TL,字节4是配置寄存器,字节8是RAM前64位的CRC校验码。RAM 中E2ROM用于存储TH、TL和配置寄存器的值。数据先写人RAM,经校验后再传给E2ROM。通过DS18B20功能命令对RAM进行操作。DS18B20可完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,例如+125的数字

25、输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H,如表3.2所列。表 3.2温度测量值与数字量输出对照温度数字量输出(二进制)数字量输出(十六进制)+1250000 0111 1101 000007D0H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 111

26、1 0101 1110FF5EH-25.06251111 1111 0110 1111FF6FH-551111 1100 1001 0000FC90HDS18B20的温度测量范围是-55 +125 ,分辨率的默认值12位。表3.3是温度存储格式与配置寄存器控制字的格式。由表3.3中可知,检测温度由两个字节组成,字节1的高5位s代表符号位,字节0的低四位是小数部分,中间7位是整数部分;字节2是配置寄存器控制字的格式,当R1R0的值为00B、01B、10B、11B时,对应的分辨率为9、10、11、12位,转换时间为93ms、187ms、375ms、750ms。R1,R0的设定值与位数,分辨率和最大

27、转换时间的关系具体如表3.4所示,可见位数每减少一位,分辨率同比减少而转换时间则加快一倍。器件上电默认分辨率为12位。表3.3温度存储格式与配置寄存器控制字格式Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0字节0232221202-12-22-32-4字节1SSSSS262524字节20R1R011111表 3.4 分辨率和最大转换时间的关系R1R0分辨力/最大转换时间/ms有效位数000.593.759位(bit11-bit3)010.25187.5010位(bit11-bit2)100.125375.0011位(bit11-bit1)110.0625750.0012位(b

28、it11-bit0)当主机发出温度转换命令(44H)时,便启动了温度转换过程,转换时间最长750mS。主机通过读暂存器功能命令(BEH),将温度值读出。通过写暂存器功能命令,改变分辨率的设置。5. DS18B20的通讯协议数字式温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号,然后通过串行通信的方式输出。因此掌握 DS18B20 的通信协议是使用该器件的关键。所有的 DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写“0”写“1”时隙;读“0” 读“1”时隙。与DS18B20 的通信,是通过操作时隙完成单总线上的数

29、据传输,发送所有的命令和数据时,都是字节的低位在前,高位在后。(1)工作序列由DS18B20的通讯协议可知,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都必须要对DS18B20进行复位;复位成功后发送一条ROM指令;最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20等待112-60usDS1820发应答脉冲60-240usVPGND主机发送复位脉冲480us主机接收应答脉冲480us图3-

30、4 复位和应答时隙(2)复位和应答脉冲时隙每个通信周期起始于微控制器发出的复位脉冲,其后紧跟 DS18B20 发出的应答脉冲,如图3-4所示。在写时隙期间,主机向 DS18B20 器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。图3-5写“0”和写“1” 时隙(3)写时隙当主机将单总线DQ从逻辑高(空闲状态)拉为逻辑低时,即启动一个写时隙。所有的写时隙必须在 60120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图3-5所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙

31、起始后15us之内释放总线。(4)读时隙DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有读时隙至少需要60 us。且在两次独立的读时隙之间,至少需要 1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。读时隙如图3-6所示。图3-6 读“0”和读“1” 时隙在主机发起读时隙之后,DS18B20器件才开始在总线上发送“0”或“1”。若DS18B20发送“1”,则保持总线为高电平。若发送“0”,则拉低总线,当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至空闲高电平状态。

32、DS18B20发出的数据,在起始时隙之后保持有效时间15us。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15us之内采样总线状态。6. DS18B20测温精度的提高DS18B20有两种供电方式:3.0V5.5V的电源供电方式和寄生电源供电方式(直接从数据线获取电源)。电源检测电路用于判定供电方式。DS18B20正常使用时的测温分辨率为0.5,在对DS18B20测温原理详细分析的基础上,我们采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.10.01DS18B20内部暂存寄存器的分布如表3-1所示,其中第7字节存放的是当温度寄存器停止增值时计数器1

33、的计数剩余值,第8字节存放的是每度所对应的计数值,这样,我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用DS18B20提供的读暂存寄存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度。7.DS18B20使用中的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS1

34、8B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。 (2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距

35、离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。3.2控制模块设计1.单片机控制器系统电路的主芯片采用ATMEL公司的AT89C51单片机。AT89

36、C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Fl

37、ash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。图3-7 AT89C51引脚图2.主要功能特性:(1)与MCS-51 兼容 (2)4K字节可编程闪烁存储器 (3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24Hz(6)三级程序存储器锁定(7)1288位内部RAM(8)32可编程I/O线(9)两个16位定时器/计数器(10)5个中断源 (11)可编程串行通道(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路 3.管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL

38、门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”

39、时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

40、P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间

41、,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。/VPP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)

42、,不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信

43、号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.3显示输出设计 LED数码显示器是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)

44、发光二极管数码显示器。其内部结构如图3-8所示。图3-8数码管示意图1.LED数码显示器有两种连接方法:(1)共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。(2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。2.LED显示器驱动方式LED显示器驱动方式可以分为静态显示驱动和动态显示驱动两种。静态显示驱动一般是通过数字集成电路对所需要显示的字符笔段连续施加电压;而动态显示驱动则是利用矩阵扫描方式间断向所需要显示的字符笔段轮流施加电压。(1)静态显示驱动当LE

45、D显示器工作于静态显示驱动方式时,不同数位的LED数码管的公共极(共阴极或共阳极)将被连接在一起并接地或+5V,而每个数位的8根笔段线分别和一个8位锁存器相连。不同数位的数码管相互独立,分别用不同的驱动器件进行驱动,它们的显示字符一旦确定,只要不改变显示字符,相应的锁存器的输出就一直不变。这种驱动方式的优点是编程容易、管理简单、显示亮度高、稳定性好,占用CPU时间较少;其缺点是占用硬件电路和微处理器系统接口资源较多、引线多、印刷版布线复杂、硬件投入成本高。(2)动态显示驱动当LED显示器工作于动态显示驱动方式时,通常把不同位数的同名笔段互连起来,共用一个显示驱动器。每一个位数的字符显示都需要靠

46、笔段字型驱动和位数驱动相配合,如果需要在不同数位上显示不同字符,可以依次传送需要显示字符笔段的字型码,接着选通相应数位显示该字符,持续施加一段时间的电压,然后再显示下一个数位的字符。动态显示驱动方式的优点是引线少、线路简单、硬件成本相对较低。其缺点是需要不断刷新,当采用软件扫描时,占用CPU的时间较多;当采用硬件扫描时,又会增加硬件成本,LED显示数位越多,显示亮度越低,若处理不好或位太多,将会引起显示闪烁。3.数据输入接口方式(1)并行输入数据并行输入方式是以并行方式传送数据,其优点是传送数据速度快,其缺点是需要占用较多的I/O接口线。(2)串行输入数据串行输入方式是以串行方式传送数据,其优

47、点是占用I/O接口资源少,其缺点是传送数据速度相对慢。4. 七段LED显示器结构与原理七段显示器由七条发光二极管组成显示字段,这七段发光管分别称为a、b、c、d、e、f、g,有的还带有一个小数点dp。将七段发光管阴极都连在一起,成为共阴极接法,当某个字段的阳极为高电平时,对应的字段就点亮。共阳极接法就是将LED显示器所有阳极并接后连到+5V电源上,当某一字段的阴极为0时,对应的字段就点亮。通过七段的不同组合控制,可以显示09和AF共16个数字、字母、实现十六进制显示。加在7段阳极上的电压可以用数字量表示,对于共阳极,如果某位为1,则对应段发光;如为零,则不发光。数字量与段的对应关系如下: D7

48、 D6 D5 D4 D3 D2 D1 D0dp g f e d c b a本系统输出显示采用并行输入、共阳极接法的LED数码显示器,并采用了具有一定驱动能力的74LS273集成电路芯片做LED数码管的驱动器。为了节省硬件资源,LED数码管采用动态扫描显示,且字型码由软件产生。3.4报警电路设计报警电路采用普通的蜂鸣器,蜂鸣器通常工作电流较大,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个三极管来增加通过蜂鸣器的电流,见下面硬件原理图。当温度达到设定的上下限时,通过程序控制使P1.7管脚置低电平,从而使三极管导通,蜂鸣器发出嘀嘟报警音。3.5键盘控制器设计为了达到设定温度上下限超温报警值,

49、本系统采用了键盘输入电路。它可以完成温度上下限报警值的设定,它具有设置(SET)、加1(UP)、减1(DOWN)、确定(RET)等功能。硬件原理图中,四个按键开关的设置操作如下:(1)按K1进入温度报警值设置(SET)状态,此时数码管显示温度上限超温报警值(例如:当时是+80C)。(2)若想将当前设定值提高,按K2进行温度设定值加1(UP)调整(例如:按5次K2报警值变为+85C)。(3)若想将当前设定值减少,按K3进行温度设定值减1(DOWN)调整(例如:按5次K3报警值变为+75C)。(4)按K4将当前的设定值确认为温度上限报警值,并同时进入温度下限报警设置状态(例如:当时是+10C)。(

50、5)若想将当前设定值提高,按K2进行温度设定值加1(UP)调整(例如:按3次K2报警值变为+13C)。(6)若想将当前设定值减少,按K3进行温度设定值减1(DOWN)调整(例如:按3次K3报警值变为+7C)。(7)再按K4将当前的设定值确认为温度下限报警值,并同时退出设定温度报警值状态。3.6电源设计本设计用到电源为+5V电源。图3-9中电路提供+5V的电源;主要用于单片机(AT89C51)、数码管显示与驱动电路(包括74LS273)、传感器与报警器的供电。图3-9 +5V电源78XX/79XX系列是常用三端固定电压集成线性稳压器,78XX系列为正电压输出稳压器,79XX为负电压输出稳压器。它

51、们简单易用、价格低廉,广泛应用于各种电子设备。在降压电路中应注意以下事项:(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电流不能太大,1.5A是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,否则效率会很差。3.7系统硬件连接设计系统主要硬件设计如图3-11所示,除了以上介绍的AT89C51、DS18B20、数码显示器、报警电路之外还包括晶振、键盘按钮、三极管、电容、电阻等器件。整个硬件系统主要以DS18B20和AT89C51为主,如图3-10所示,DS18B20把测量的温度转化为数字信号传送给AT89C

52、51,由AT89C51对信号进行判断,并给出相应的信号发送各个元件,各个元件得到AT89C51发送来的不同信号信号后执行各自功能。判断后传递给其他元件把温度转化成数字信号AT89C51单片机DS18B20温度传感器其他元件图3-10 信号传递流程图图3-11 硬件设计电路图第四章 系统软件设计智能数字式温度测量报警系统软件的应用程序主要包括:DS18B20工作程序、LED显示子程序、键盘输人程序和温度检测报警程序等。4.1 系统软件总体工作过程开机后主机首先发一复位脉冲,使信号线上的DS18B20芯片复位,接着发送跳过ROM 操作命令(因为本系统只采用了单只DS18B20温度传感器),准备接收

53、下面的内存访问命令。内存访问命令控制DS18B20的工作状态,完成整个温度转换、读取等工作(单总线在ROM命令发送之前存储命令和控制命令不起作用)。其测温工作的流程图如图4-1所示,在对DS18B20进行操作的整个过程中,主要包括:启动在线DS18B20作温度转换、读取在线DS18B20温度值、将读出的温度值存入寄存器。然后通过寄存器的温度与报警值比较(当温度等于事先设定的上下限温度报警值时,蜂鸣器启动报警)后,调用数码显示器子程序,将温度值显示在数码管上,此时完成一个循环程序后,接着进入到下一个循环程序。开始系统初始化发送跳过ROM指令发送温度转换指令再次初始化DS18B20发送跳过ROM指

54、令读出温度值存入寄存器Y报警温度报警值N调用数码显示器子程序更新数码管显示 图4-1 DS18B20测温工作流程图4.2软件程序DS18B20的命令集ROM操作命令Read ROM 33H (读ROM)Match ROM 55H(匹配ROM)Skip ROM CCH (跳过ROM)Search ROMF0H (搜索ROM)Alarm search ECH(告警搜索)存储器操作命令 Write Scratchpad4EH(写暂存存储器)Read ScratchpadBEH(读暂存存储器) Copy Scratchpad 48H (复制暂存存储器)Convert Temperature44H (温度变换)Recall EPROMB8

温馨提示

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

评论

0/150

提交评论