基于单片机的智能温度控制系统设计_第1页
基于单片机的智能温度控制系统设计_第2页
基于单片机的智能温度控制系统设计_第3页
基于单片机的智能温度控制系统设计_第4页
基于单片机的智能温度控制系统设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

河南城建学院本科毕业设计(论文) 摘要I摘 要在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用 AT89C51 单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本系统的温度检测电路中采用芯片 DS18B20,简化了系统的软硬件设计,提高了温度检测的精度。在输出控制中主要采用硬件电路实现,降低了程序的复杂性。在系统的硬件电路中采用了抗干扰设计,增强了系统的抗干扰能力。系统的软件设计采用了模块化结构,具有可移植性强和通用性强的特点。关键词:AT89C51 单片机,温度,DS18B20河南城建学院本科毕业设计(论文) AbstractIIAbstractIn the modern industrial production, the current, voltage, temperature, pressure, and flow, velocity, and switch quantity is accused of main parameters. Example: in metallurgical industry, chemical industry, electric power engineering, paper industry, machinery and food processing and so on many domains, people need to all kinds of heating furnace, heat treatment furnace, reactors and boiler temperature detection and control. Using AT89C51 SCM to control temperature, has not only convenient control, simple and flexible configuration advantages, and can greatly improve the technical indexes are controlled temperature, which can greatly improve the products quality and quantity. Therefore, the problem of temperature control chip is a industrial production we often encounter problems.This system USES the temperature detection circuit chip DS18B20, simplify the design of the software and hardware system and improve the precision of temperature detection. In the output control mainly adopts hardware circuit implementation, reduces the complexity of the program. In the system hardware circuit design is adopted in the system, the anti-interference ability. System software design using modular structure, strong commonality and portability.Keyword:AT89C51, Temperature, DS18B20河南城建学院本科毕业设计(论文) AbstractIII河南城建学院本科毕业设计(论文) 目录IV目 录摘 要 .IAbstract.II目 录 .III1 引言 .11.1 国内外研究综述 .11.2 温度控制器的发展状况 .11.3 毕业设计(论文)所用的方法 .22 总体设计 .32.1 前言 .32.2 总体设计 .42.3 AT89C51 单片机简介 .42.3.1 AT89C51 系列基本组成及特性 .42.3.2 AT89C51 系列引脚功能 .52.3.3 AT89C51 系列单片机的功能单元 .72.4 温度传感器的选择 .102.4.1 DS18B20 简介 .102.4.2 DS18B20 的引脚名称及作用 .102.4.3 DS18B20 的内部结构 .112.4.4 DS18B20 的测温原理 .112.4.5 DS18B20 的转换精度控制字及分辨率设置 .122.4.6 DS18B20 的温度数字关系 .132.4.7 DS18B20 的内存结构图 .142.4.8 DS18B20 的操作命令 .142.4.9 DS18B20 的工作时序 .162.4.10 DS18B20 与单片机的硬件接口 .182.4.11 DS18B20 使用中注意事项 .183 各部分电路设计 .203.1 振荡电路与复位电路 .203.2 DS18B20 与单片机的接口电路 .203.3 各子程序流程图 .213.4 整体电路图 .264 硬件组成 .275 软件设计 .30结 论 .32参考文献 .33致 谢 .34附录 A 汇编语言程序源代码 .35附录 B C 语言程序设计 1.41附录 C C 语言程序设计 2.49河南城建学院本科毕业设计(论文) 引言11 引言1.1 国内外研究综述当前,国内外利用单片机的温度控制系统软硬件实施方式主要类型是直接使用单片机以及其他一些外围芯片作为数据采集和控制的装置,不使用上位 PC 机做数据处理。这种类型的自动控制系统一般以单片机为核心,包括输入模块、控制模块、输出模块等。硬件电路一般由温度传感器及模拟信号处理电路、A/D 转换器、单片机、D/A 转换器、LED(或 LCD)显示器及微打印机、简易键盘、指示报警装置等组成,即为一个单片机的最小应用系统,实现基本的输入输出功能和简单的控制功能。软件设计一般采用中断技术定时采集环境因子参数,然后经过相关的标度转换得到环境因子的参数化值,再通过一定的控制算法与设定值进行比较从而对外设进行控制,一般常用的控制算法是数字 PID 控制算法,这种算法经过改进可以实现较为稳定和精确的控制。产品的工艺不同,控制温度的精度也不同,因而采用的控制算法也不同。就温度控制系统的动态特性来讲,温度控制系统基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用 PID 算法或达林顿算法来实现温度控制。当系统对控制精度要求不高时,对升/降温过程的线性也没有要求时,系统可采用最简单的通断控制方式,即当被控温度达到设定值时,停止加热,当温度低于设定值时,开始加热,从而可保持恒温控制。这种系统成本低,又有一定的控制精度,能较好的满足一般农业用户的需求;但由于控制系统的核心单片机的数据处理能力及存储器容量的限制,控制精度有限,对生长环境参数要求较高的一些特殊作物不能很好的满足要求,另外如果没有扩展微打印机就无法查询历史温度值,因为单片机的数据存储器数据断电即逝。1.2 温度控制器的发展状况温度是表征物体冷热程度的物理量,是工业生产和日常生活中经常测量的物理量,也是人类研究最早测量方法最多的物理量之一。因而温度检测仪应用领域之广,使用数量之多,一直高居各类测量仪之首。近百年来,温度传感器的发展大致经历了以下三个阶段:传统的分立式温度传感器(含敏感元件) ;模拟集成温度传感器/控制器;智能温度传感器(即数字温度传感器) 。河南城建学院本科毕业设计(论文) 引言2a) 分立式温度传感器传统的热电偶、热电阻、热敏电阻及半导体温度传感器,均属于分立式温度传感器,传感器本身就是一个完整的、独立的感温元件。此类传感器通常要配温度变送器,以获得标准的模拟量(电压或电流)输出信号。b) 模拟集成温度传感器集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成传感器。可完成温度测量及模拟信号输出功能的专用 IC,它属于一种简单的集成温度传感器,适合远距离测量、控温,不需要进行非线性校准,典型产品有AD590、AD592 等。c) 模拟集成温度控制器模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105 和 MAX6509。d) 智能温度传感器智能温度传感器(亦称数字温度传感器)是在 20 世纪 90 年代中期问世的。智能温度传感器是微电子技术、计算机技术和自动测试技术的结晶,它也是集成温度传感器领域中最具活力和发展前途的一种新产品。目前,国际上许多著名的集成电路生产厂已经开发出上百种智能温度传感器产品。1.3 毕业设计(论文)所用的方法本智能温度控制系统的设计包括了硬件组成和软件的设计。在硬件设计上主要通过温度传感器 DS18B20 对温度进行采样和转换,将测量结果送给单片机 AT89C51,单片机将输入的温度值进行数据分析,并将温度值与设定的温度值上下限进行比较,根据比较结果进行相应的处理,并通过 LED 显示器以数字形式显示测量的温度。若温度超限则报警,以便进行及时的处理。整个系统的软件编程通过汇编语言对单片机 AT89C51 实现其控制功能。整个系统结构紧凑,简单可靠,操作灵活,功能强大,较好的满足了现代生产和科研的需要。河南城建学院本科毕业设计(论文) 总体设计32 总体设计2.1 前言温度是工业控制中主要的被控参数之一。在现代化的工业生产中,人们常常需要对各类生产过程中的温度进行检测和控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,温度具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高、指令丰富、提供多种外围接口部件、控制灵活等优点,把单片机应用于温度控制中,采用单片机做主控单元,无触点控制,可完成对温度的采集和控制的要求。所以广泛应用于电子仪表、家用电器、节能装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。单片机在温度控制系统中的应用方法,包括控制系统结构、控制原理、控制电路、控制软件和控制软件流程图。在温度控制系统的控制电路中,最常见的电路有电源稳压电路、过零检测电路、温度检测电路、按键输入电路、显示电路、输出控制电路和报警电路。针对对温度极其敏感的一些大型工业场合,为达到对其温度的良好控制,本文从实用的角度以 AT89C51 为核心设计了一套智能温度控制系统。AT89 系列单片机是ATEML 公司生产的 8 位 Flash 单片机。AT89 系列单片机的核心是 8031,在软件和硬件方面与 MCS-51 系列单片机完全兼容,AT89 系列单片机的指令与有关定义和 MCS-51 系列单片机完全相同,可以直接使用 MCS-51 系列单片机编写的程序。AT89 系列单片机的引脚排列及其定义与 MCS-51 系列单片机完全一致,可以直接替换。由于内部有 Flash ROM,所以编写的程序烧录很方便,易于电擦除,可以反复使用,非常方便用户对程序进行修改,可以缩短研制周期,降低研制成本。在单片机内部有 Flash存储器,功耗特别低,Flash ROM 的容量从 AT89C1051 的 1KB 到 AT89S55 的 20KB,品种多,选择余地大。AT89C51 是 ATEML 公司推出的一种低功耗、高性能的 CMOS 单片机,片内有 4KB 的内部 Flash 程序存储器,128 字节的内部数据存储器,工作电压为 5V,有 40 个引脚。本系统运行情况良好且经济可靠。河南城建学院本科毕业设计(论文) 总体设计42.2 总体设计智能温度控制系统的总体设计是围绕低成本、模块化、可扩展以及寿命长的特点展开的。在硬件选择方面,选择性价比高的 AT89C51 单片机、LED 显示器、相关硬件等;在软件方面,采用了功能模块化,为以后的升级或者扩展做准备。同时采用间歇式的工作模式,非采样期间只有显示器、稳压器等处于活动状态;在保证性能要求的情况下缩短 AD 转换的时间等一系列措施,有效的提高了器件寿命。为了降低整个系统的成本,在满足性能要求的前提下,选择低成本元器件,简化系统设计;采用多点校准技术和线性插值方法,降低了对传感器的线性的要求,扩大了可选传感器的范围,提高了产品的通用性和可扩展性,提高了产品的竞争力。该智能控制系统通用性比较高,可广泛应用于工业现场恶劣环境、楼宇供热、供水控制,完全脱离人工操作,并可以远程监视、控制,真正实现智能控制。随着系统的不断完善,控制效果会更加良好,温度监控会更加稳定,受到用户好评。2.3 AT89C51 单片机简介2.3.1 AT89C51 系列基本组成及特性AT89C51 是一种带 4k 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。而在众多的 51 系列单片机中,要算 ATMEL 公司的 AT89C51 更实用,也是一种高效微控制器,因为它不但和 8051 指令、管脚完全兼容,而且其片内的 4K 程序存储器是 FLASH 工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。而这种单片机对开发设备的要求很低,开发时间也大大缩短。AT89C51 基本功能描述如下:AT89C51 是一种低损耗、高性能、CMOS 八位微处理器,而且在其片种还有 4k 字节的在线可重复编程快擦快写程序存储器,能重复写入/ 擦除 1000 次,数据保存时间为十年。它与 MCS-51 系列单片机在指令系统和引脚上完全兼容,不仅可完全代替 MCS-51 系列单片机,而且能使系统具有许多 MCS-51 系列产品没有的功能。AT89C51 可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。只要程序长度小于 4k, 四个 I/O 口全部提供给用户。可用 5V 电压编程,而且写入时间仅 10 毫秒, 仅为 8751/87C51 的擦除时间的百分之一,与 8751/87C51 的 12V 电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。AT89C51 芯片提供三级程序存储器锁定加密, 提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统河南城建学院本科毕业设计(论文) 总体设计5不被仿制。另外,AT89C51 还具有 MCS-51 系列单片机的所有优点。1288 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/ 计时器, 5 个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。AT89C51 有间歇、掉电两种工作模式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU 可根据工作情况适时地进入睡眠状态, 内部 RAM 和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是 VCC 电压低于电源下限, 当振荡器停止振动时, CPU 停止执行指令。该芯片内 RAM 和特殊功能寄存器值保持不变, 一直到掉电模式被终止。只有 VCC 电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位、掉电模式可被终止。2.3.2 AT89C51 系列引脚功能AT89C51 有 40 引脚双列直插(DIP)形式。其与 80C51 引脚结构基本相同,其逻辑引脚图如图 2.1。图 2.1 AT89C51 逻辑引脚图各引脚功能叙述如下:1.电源和晶振VCC运行和程序校验时加+5VGND接地XTAL1输入到振荡器的反向放大器XTAL2反向放大器的输出,输入到内部时钟发生器(当使用外部振荡器时,XTAL1 接地,XTAL2 接收振荡器信号)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平河南城建学院本科毕业设计(论文) 总体设计6时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。2.I/O( 4 个口,32 根)P0 口8 位、漏极开路的双向 I/O 口。当使用片外存储器( ROM、RAM)时,作地址和数据分时复用。在程序校验期间,输出指令字节(需加外部上拉电路) 。P0口(作为总线时)能驱动 8 个 LSTTL 负载。P1 口8 位、准双向 I/O 口。在编程/校验期间,用于输入低位字节地址。P1口可驱动 4 个 LSTTL 负载。对于 80C51,P1.0T2 ,是定时器的计数端且位输入;P1.1T2EX,是定时器的外部输入端。这时,读两个特殊输入引脚的输出锁存器应由程序置 1。P2 口8 位、准双向 I/O 口。当使用片外存储器( ROM 及 RAM)时,输出高 8 位地址。在编程/校验期间,接收高位字节地址。 P2 口可以驱动 4 个 LSTTL 负载。P3 口8 位、准双向 I/O 口,具有内部上拉电路。 P3 口提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置 1。P3 口可以输入/ 输出 4 个 LSTTL负载。3.串行口P3.0RXD(串行输入口) ,输入。P3.1TXD(串行输出口) ,输出。4.中断P3.2INT0 外部中断 0,输入。P3.3INT1外部中断1,输入。5.定时器/计数器P3.4T0 定时器/计数器 0 的外部输入,输入。P3.5T1 定时器/计数器 1 的外部输入,输入。6.数据存储器选通P3.6WR 低电平有效,输出,片外存储器写选通。P3.7RD 低电平有效,输出,片外存储器读选通。7.控制线(共 4 根)输入:河南城建学院本科毕业设计(论文) 总体设计7RST复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。EA/Vpp片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21V 的编程电压。注意:在加密方式 1 时,EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。输入、输出:ALE/PROG地址锁存允许信号,输出。ALE 以 1/6 的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。在 EPROM 编程期间,作输入,输入编程脉冲(PROG ) 。ALE 可以驱动 8 个 LSTTL 负载。 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。注意:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。输出:PSEN片外程序存储器选通信号,低电平有效。在从片外程序存储器取址期间,在每个机器周期中,当 PSEN 有效时,程序存储器的内容被送上 P0 口(数据总线) 。PSEN 可以驱动 8 个 LSTTL 负载。2.3.3 AT89C51 系列单片机的功能单元1.并行 I/O 接口:单片机芯片内有一项主要功能就是并行 I/O 口。51 系列共有 4 个 8 位的并行 I/O口,分别记作 P0、P1 、P2、P3 每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低八位地址和数据由 P0 口分时传送,高八位地址由 P2口传送。2.定时器/计数器定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻 CPU 的负担和简化外围电路都大有好处。C51 系列包含有两个 16 位的可编程定时器/计数器分别称为定时器/ 计数器 T0 和定时器/计数器 T1;在 C51 部分产品中,还包含有一个用做看门狗的 8 位定时器。河南城建学院本科毕业设计(论文) 总体设计8定时器/计数器的核心是一个加 1 计数引脚上施加器,其基本功能是加 1 功能。在单片机的定时器 T0 或 T1 中,有一个定时器发生由 0 到 1 的跳变时,计数器增 1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。在单片机中,定时功能和计数功能的设定和控制都是通过软件来进行的。定时器/计数器内部结构及其原理:由定时器 0、定时器 1、定时器方式寄存器TMOD 和定时器控制寄存器 TCON 组成。当定时器 /计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加 1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因为 C51 系列单片机的一个机器周期由12 个振荡脉冲组成,所以,计数频率 fc=fosc/12。如果单片机系统采用 12MHz 晶振,则计数周期为:(2-1) sT12/*016这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚 T0(P3.4)和T1(P3.5 )的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2 期间采样引脚输入电平,若前一个机器周期采样值为 1,后一个机器周期采样值为 0,则计数器加 1。新的计数值是在检测到输入引脚电平发生 1 到 0 的负跳变后,于下一个机器周期的 S3P1 期间装入计数器中的,可见,检测一个由 1 到 0 的负跳变需要两个机器周期,所以最高检测频率为振荡频率的 1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。3.振荡器XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。当输入至内部时钟信号时要通过一个二分频触发器,而对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.芯片擦除整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平 10ms 来完成。在芯片擦除操作中,代码阵列全被写 “1”且在任何非空存储字节被重复编程以前,该操作必须被执行。AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。河南城建学院本科毕业设计(论文) 总体设计95.中断系统中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。C51 系统有关中断的寄存器有 4 个,分别为中断源寄存器 TCON 和 SCON、中断允许控制寄存器 IE 和中断优先级控制寄存器 IP;中断源有 5 个,分别为外部中断0 请求 INT0、外部中断 1 请求 INT1、定时器 0 溢出中断请求 TF0、定时器 1 溢出中断请求 TF1 和串行中断请求 R1 或 T1。5 个中断源的排列顺序由中断优先级控制寄存器 IP 和顺序查询逻辑电路共同决定,5 个中断源分别对应 5 个固定的中断入口地址。中断的特点是分时操作,实时处理和故障处理。简单介绍一下本次设计所需的单片机芯片 AT89C51 的中断系统中要用到的中断类型。(1)外部中断源AT89C51 有 INT0 和 INT1 两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式来输入中断请求信号。AT89C51 究竟工作于哪种中断触发方式,可由用户对定时器控制寄存器TCON 中 IT0 和 IT1 位状态的设定来选取。AT89C51 在每个机器周期的 S5P2 时对INT0、线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若AT89C51 设定为电平触发方式(IT0=0 或 IT1=0),则 CPU 检测到 INT0、INT1 上低电平时就可认定其上中断请求有效;若设定为边沿触发方式 (IT0=1 或 IT1=1),则 CPU 需要两次检测 INT0、INT1 线上电平方能确定其上中断请求是否有效,即前一次检测为高电平和后一次检测为低电平时中断请求才有效。(2)定时器溢出中断源定时器溢出中断由 AT89C51 内部定时器分的中断源产生,故它们属于内部中断。AT89C51 内部有两个 16 位定时器/计数器,受内部定时脉冲 (主脉冲经 12 分频后)或T0/T1 引脚上输入的外部定时脉冲计数。定时器 T0/T1 在定时脉冲作用下从全“1”变成全“0”时可以自动向 CPU 提出溢出中断请求,以表明定时器 T0 或 T1 的定时时间已到。 (3)串行口中断源串行口中断由 AT89C51 内部串行口的中断源产生,也是一种内部中断。串行口中断分为串行口发送中断和串行口接收中断两种。在串行口进行发送/接收数据时,每当串行口发送/接收完一组串行数据时串行口电路自动使串行口控制寄存器 SCON 中的RI 或 TI 中断标志位置位,并自动向 CPU 发出串行口中断请求 ,CPU 响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行口中断服务程序中安排一段对 SCON 中 RI 和 TI 中断标志位状态的判断程序,便可区分串行口发生了接收中断河南城建学院本科毕业设计(论文) 总体设计10请求还是发送中断请求。(4)中断标志AT89C51 在 S5P2 时检测(或接收) 外部(内部) 中断源发来的中断请求信号后先使相应中断标志位置位,然后便在下个机器周期检测这些中断标志位状态,以决定是否响应该中断。2.4 温度传感器的选择在选定单片机类型后,通常还要对一些严重影响系统性能指标的器件,如传感器进行选择。有时一个设计合理的测控系统往往因为传感器的限制而达不到应有的效果。该电路的根本任务是温度的实时测量。因此,选用一块好的温度传感器是本设计的关键。典型的温度测控系统是由模拟温度传感器、A、D转换电路和单片机组成。但是由于模拟温度传感器输出为模拟信号,必须经过AD转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,成本较高。近年来,由于以DSl8B20为代表的新型单总线数字式温度传感器的突出优点使得它得到充分利。2.4.1 DS18B20 简介 DS18B20 是美国 DALLAS 半导体公司生产的可组网数字式温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比,DS18B20 具有以下特性:a) 独特的单线接口方式:DS18B20 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。b) 在使用中不需要任何外围元件。c) 可用数据线供电,电压范围:+3.0 V+5.5 V。d) 测温范围:-55 +125 。固有测温分辨率为 0.1。e) 通过编程可实现 912 位的数字读数方式。f)用户可自设定非易失性的报警上下限值。g)支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现多点测温。2.4.2 DS18B20 的引脚名称及作用形如图 2.2 所示。其体积只有 DS1820 的一半,引脚定义相同。a) DQ:数据输入输出引脚河南城建学院本科毕业设计(论文) 总体设计11b) VDD:可接电源,也可接地。因为每只 DS18B20 都可以设置成两种供电方式。采用数据总线方式时 VDD 接地,可以节省一根传输线,但完成温度测量的时间较长;采用外部供电方式则接 5V,多用一根导线,但测量速度较快。图 2.2 DS18B20 外观2.4.3 DS18B20 的内部结构它主要由 4 部分组成:64 位 ROM、温度传感器、非易失性的温度报警触发器 TH和 TL、高速暂存器。64 位 ROM 用于存储 DS18B20 序列号,其首字节固定为 28H,表示产品类型码,后 6 个字节是每个器件的编码,最后 1 个字节是 CRC 校验码。温度报警触发器 TH 和 TL 存储用户通过软件写入的报警上下极限。高速暂存器由 9 个字节组成,其中有 2 个字节 RAM 单元用来存放温度值,前 1 个字节为温度值的补码低8 位,后 1 个字节为字符号位和温度值的补码高 3 位。其内部结构框图如图 2.2 所示:图 2.3 DS18B20 内部结构框图2.4.4 DS18B20 的测温原理DS18B20 测量温度采用了特有的温度测量技术,其温度测量电路如图 2.3 所示。预置斜率累加器计数器 1计数器 2=0=0低温度系数振荡高温度系数振荡加 1停止比较预置温度寄存器设备/管理LSB电源检测64 位ROM和单线接口8 位 CRC 生成器存储器和控制器配置寄存器高温触发器 TH高速缓存存储器温度灵敏元件低温触发器 TL河南城建学院本科毕业设计(论文) 总体设计12图 2.4 DS18B20 测温结构图图 2.3 中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在-55所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 3.3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是 DS18B20 的测温原理。另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化 DS18B20(发复位脉冲)发 ROM 功能命令发存储器操作命令处理数据。2.4.5 DS18B20 的转换精度控制字及分辨率设置设置转换精度控制字格式如表 2.1 所示表 2.1 转换精度控制字格式分辨率设置如表 2.2 所示:MSB LSB0 R1 R0 1 1 1 1 1河南城建学院本科毕业设计(论文) 总体设计13表 2.2 分辨率设置R1 R0 分辨率(位) 最大转换时间(ms)0 0 9 93750 1 10 18751 0 11 3751 1 12 750由表可见,设定的分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中需要在分辨率与转换时间二者之间权衡考虑。在芯片出厂时 R1 和 R0 被配置为“1” ,即工作在 12 位模式下。当 DS18B20 接收到温度转换命令(44H)开启后,开始启动转换,转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在暂存 RAM 的第 0,1 字节。在执行读暂存 RAM 命令后,可将这两个字节的温度值通过单线总线传给 CPU,高位字节中符号代表温度值为正还是负值。2.4.6 DS18B20 的温度数字关系用 12 位精度测出的温度值用 16 位二进制补码形式表示,如表 2.3 所示:表 2.3 DS18B20 存储器映像图23 22 21 20 2-1 2-2 2-3 2-4MSB LSBS S S S S 26 25 24MSB LSB图中 S 为符号位,S=1,温度为负值;S=0,温度为正值。DS18B20 用 12 位精度测出的数字量(用 16 位二进制补码形式表示)如表 2.4 所示:表 2.4 部分温度与对应的数字温度输出之间的对应关系温度() 数字输出(二进制) 数字输出(十六进制)+125 0000 0111 1101 0000 07D0+85 0000 0101 0101 0000 0550河南城建学院本科毕业设计(论文) 总体设计14+25.0625 0000 0001 1001 0001 0191+10.125 0000 0000 1010 0010 00A2+0.5 0000 0000 0000 1000 00080 0000 0000 0000 0000 0000-0.5 1111 1111 1111 1000 FFF8-10.125 1111 1111

温馨提示

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

评论

0/150

提交评论