基于单片机控制的四回路多点温度采集控制系统的设计论文.doc_第1页
基于单片机控制的四回路多点温度采集控制系统的设计论文.doc_第2页
基于单片机控制的四回路多点温度采集控制系统的设计论文.doc_第3页
基于单片机控制的四回路多点温度采集控制系统的设计论文.doc_第4页
基于单片机控制的四回路多点温度采集控制系统的设计论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 本课题介绍的是以单片机 at89s52 为控制核心的四回路多点温度采集控制系统的 设计。该系统通过多个温度传感器同时采集温度信号,并将温度信号转换成数字信号 经单片机处理并经输出驱动电路显示于共阴极数码管。同时将控制规律预先设置,从 而提出处理建议,自动判断出是否通过控制继电器动作来控制执行机构达到优化工业 生产的目的。同时,可以通过四路按键开关来选择显示某待测点温度,使得管理人员 更好的掌握生产过程。此外,只要对传感器类型进行改变和对程序做出调整,该系统 可以满足其他生产控制的需要。 在本文中,首先介绍了当前计算机控制技术的发展及过单片机在过程控制中的应 用.其次针对系统所使用的单片机的性能和发展情况做了简单介绍,同时对测量温度在- 55125 之间的智能温度传感器 ds18b20 做了介绍。 其次,本文重点对测控硬件、软件的组成进行了分项、模块化逐步分析设计。对 各部分的电路进行了介绍,最终实现了该系统的硬件电路,绘制了电路原理图。在焊接 完元器件后,完成了硬件调试。根据硬件的设计和测控系统所要实现的功能,本设计 对软件也进行了一一设计,并经过反复的模拟运行、调试,修改简化了软件系统,最 后形成了一套完整的程序系统。 整个论文共分为六部分,分别对四回路控制器做了较全面的叙述。 关键词:四回路、单片机 89s52、ds18b20、系统设计、硬件系 abstract this topic introduced the design of the fore core multi-point temperature acquisition loop control system which control core was mcu.the system through a number of smart temperature sensors ds18b20 collected the temperature,and the temperature signals was converted to digital signal by it.the processed signals was shown on a total digital cathode tube through the output drive circuitry.at the same time the mcu processed the signals by the pre- control law which setted up,and made recommendations to auto matically determine whether the actions by controlling the relay to control the implementing agencies to optimize the industrial production purposes.iaddition,the four-way button can switch to choose to display a measured temperature,making better management control of the produc tion process.in another hand,through changing the kind of the sensors and the soft ware,this system could satisfy others system. in this article,the first of all was introduced the developmengt of the computer control technology and the role of mcu played in in modern times.the next was a brief introduntion of the mcu which we used in this system,including the performance and the development.by the same time we introduced the smart temperature sensorsds18b20 which temperature measured between -55 to 125. next,the key of this article was observed and controlled hardware.the software composition carried on the sub-item.the modeulation has analyzed the design gradually.when the introduction of the each part of the electric circuits was finished,finally had realized this system hardware electric circuit.after the hardware debugging.according to the fuction of the system would realize.we finished the design of the software and after the repeatedly simulation run,debugging,the revision simplified the software system.finally has formed set of complete. the whole paper is divided into six parts,namely the four-loop controller,done a more comprehensive narrative. key words:mcu at89s52,ds18b20,system design,hardware i 目 录 第第 1 1 章章 引言引言 1 1 1.1 本文研究的目的和意义.1 1.2 过程控制系统的发展 2 第第 2 2 章章 系统总体设计及主控芯片介绍系统总体设计及主控芯片介绍 5 5 2 2.1 系统设计方案 5 2.2 最小系统设计方案 6 2.2.1 主控芯片的选择方案 .6 2.2.2 at89s52 的功能性能描述 .7 2.2.3 at89s52 的引脚结构 .8 2.2.4 存储器结构10 2.2.5 中断系统12 2.3 输入电路的设计 .12 2.3.1 温度采集方案12 2.3.2 数字温度传感器 ds18b20 简介13 2.4 三位 led 数码管驱动电路的设计 .20 2.4.1 led 数码显示器的结构与显示段码 20 2.4.2 led 数码显示器的显示段码 21 2.4.3 led 数码显示器的显示方法 22 2.5 键盘电路设计23 2.5.1 键盘电路选择 23 2.5.2 开关状态的可靠输入23 2.5.3 对按键进行编码给定键值或给出键号 23 2.5.4 选择键盘监测方法 23 2.6 继电器控制电路 .24 第第 3 3 章章 四回路温度采集控制系统的软件设计四回路温度采集控制系统的软件设计 2525 3.1 主程序设计流程图 .25 3.2 ds18b20 读取温度子程序流程图 26 3.3 ds18b20 计算温度子程序流程图 26 3.4 按键控制及扫描子程序流程图 .27 3.5 继电器控制子程序流程图31 3.6 显示子程序流程图 .33 第第 4 4 章章 结束语结束语 3434 4.1 总结和系统存在的问题 .34 ii 4.2 设计心得体会 .34 致致 谢谢 3636 附录一:系统硬件电路图附录一:系统硬件电路图 3838 附录二:实物照片附录二:实物照片 3939 1 第 1 章 引言 1.1 本文研究的目的和意义 在生产过程中,经常要对生产现场的工艺参数进行采集,监视和记录,达到提高 产品质量,降低成本的目的。在科学研究中,应用数据采集系统获得大量的动态信息, 是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在 哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益就越大。 在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要的地位。首 先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温 度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具 之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械 等设备温度过热检测。温度检测系统应用十分广阔 由此可以看出,测量控制的作用就是从生产现场中获取各种参数,运用科学计算 的方法,综合各种先进技术,使每个生产环节都能够得到有效的控制,从而不但保证 了生产的规范化、提高产品质量、降低成本,还确保了生产安全。 但是由于历史原因和技术发展的瓶颈所限,计算机控制技术在当前生产过程中应 用的还不是很广泛。例如,我国目前的锅炉生产技术还比较落后,尤其是燃烧供热的 锅炉的燃烧效率还相当低。这使得锅炉的燃烧不充分,而造成大气污染加重,从而造 成了我国社会主义现代化的建设中能源的增长大大落后于生产的增长。这与当前所倡 导建设节约型社会是相背离的。这就要求通过节能措施,以提高能源的有效利用。有 效地的弥补能源供应方面的缺口,这是一个迫切的任务。而我们此次设计的单片机四 回路温度采集控制系统正是基于改善供热锅炉的热效率,挖掘其潜力,从而提高操作 管理水平,减轻劳动强度。 众所周知,锅炉的生产过程要求对水温要进行实时采集,提供信息供管理人员控 制生产过程。但是传统的生产过程是通过值班人员轮流对测温点进行人工读取温度值, 这样难免有时会由于读数失误或不及时,难以对生产过程做到实时监测。这样不仅会 造成管理人员劳动强度大,企业管理成本高,生产效率低。更重要的会影响锅炉的正 常运行,埋藏安全隐患。 2 此次设计的四回路控制器正是为了解决这个问题而设计。通过系统的多个温度传 感器采集多点的温度信息,一旦某点的温度超过设定值,通过继电器控制引风机或给 水设备等执行机构,从而使水温降至正常值。值班人员在值班室可通过开关选择需要 的观测点,其温度也将实时显示于显示屏上。这样生产过程的安全和效率都能够得到 保障。 当然锅炉是一个及其复杂的系统,其输入量和输出量有多种,每个数据的变化都 会给其它量造成影响,不能用简单的一对一控制规律来控制其生产过程。此外锅炉的 生产环境比较恶劣,对系统的抗干扰性能要求比较高。所以本文只是基于计算机控制 思想上进行模拟,对于实际的锅炉生产是有点鞭长莫及。 但是随着单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点 十分突出,所以其应用也必将十分广泛。相信不久的将来计算机控制技术将更好的与 过程控制技术相结合。而锅炉的生产过程也一定能够由于计算机的引入而焕发青春。 1.2 过程控制系统的发展 自动化技术在工业、农业、科技以及人们的日常生活中发挥着重要的作用。自 20 世纪 90 年代以来,作为信息科学技术的重要分支,自动化技术本身及其应用领域得到 了迅速的提高和发展,其水平高低已成为国家科技实力和各个行业现代化水平的重要 标志。 过程控制通常是指连续生产过程的自动控制,是自动化技术最重要的组成部分, 其主要任务是对生产过程中的有关参数(温度、压力、流量、物位、成分、湿度、ph 值和物性等)进行控制,使其保持恒定或按一定规律变化,在保证产品质量和生产安 全的前提下,使连续生产过程自动地进行下去。实际的生产过程千变万化,存在不确 定性,影响生产过程的因素和条件诸多。因此要解决生产过程的各种控制问题必须采 用有针对性的特殊方法与途径。这就是过程控制要研究和解决的课题。 20 世纪 40 年代以前,工业生产技术水平相对落后,生产过程大多处于手工操作状 态,操作工通过目测判断生产过程的状态,手动调整生产过程,生产效率很低。40 年 代以来,特别是第二次世界大战以后,工业生产过程自动化技术发展很快,尤其是近 些年来,在 it 技术(自动化技术也是 it 技术的组成部分)的带动下,过程控制技术 发展十分迅猛。过程控制装置与系统的发展过程,大致经过以下几个阶段: 3 1.局部自动化阶段(20 世纪 5060 年代) 20 世纪 50 年代,过程控制技术开始得到发展。这一阶段,过程控制系统绝大多数 是单输入单输出系统:被控参数主要有温度、压力、流量和物位四种参数;控制 的目的是保持这些工艺参数的稳定,确保生产安全。受当时的生产规模所限,多用气 动仪表进行测量与控制,压缩空气为动力的气动仪表实现就地的简单控制,主要解决 在生产过程较为正常的情况下,为满足工艺要求的参数而进行的定制控制问题。大多 数测量仪表分散在各生产单元工艺设备上,操作人员在生产现场产看仪表及采取相应 的操作。 20 年代 50 年代后期-60 年代,采用了集中监控与几种操作的控制系统,实现了工 厂仪表化和局部自动化。这对当时迫切希望提高设备效率和扩大生产过程规模的要求 起到了有力的促进作用,适应了工业生产设备日益大型化与连续化的客观要求。 2.集中控制阶段(20 世纪 6070 年代) 20 世纪 60 年代,工业生产规模不断扩大,生产过程越来越复杂,产品质量要求越 来越高,对过程控制技术提出了新的要求,迫切需要生产过程集中控制与管理。 随着电子技术的迅速发展,半导体产品取代了电子真空管。随后,集成电路取代 了分立元件,电子仪表的可靠性迅速提高,逐步替代了气动仪表。过程控制系统通过 采用单元组合仪表和组装式仪表,实现了车间范围和大型系统的集中监控。同时为了 满足特殊工艺的控制要求,开发使用了多种控制系统方案,例如:串级控制,前馈控 制,比值控制。更重要的是,计算机开始在过程控制领域应用成为里程碑标致。 3.集散控制系统(20 世纪 70 年代中期至今) 20 世纪 70 年代,随着大规模集成电路出现及微处理器的问世,计算机的性价比和 可靠性大为提高,采用冗余技术和自诊断措施的工业计算机完全满足工业控制对可靠 性的要求,为新的过程控制仪表,装置与系统的设计开发提供了强有力的支持。 大型生产过程一般都是分散系统,使生产过程控制分散进行(将发生故障和危险 的风险分散),整个生产过程的监视、操作与管理相对集中的设计思想被被大型过程 控制系统生产商和用户普遍接受。随着数字化仪表和计算机与网络技术的发展,过程 控制系统的结构也有单变量控制系统发展到多变量系统,由生产过程的定值控制发展 到最优控制、自适应控制。 进入 20 世纪 90 年代以后,随着测量仪表数字化、通信系统网络化的集散型控制 4 技术日益成熟,现场总线技术以及基于现场总线技术的网络化分布式控制系统逐步推 广、使用,使过程控制系统的开放性,兼容性和现场仪表与装置的智能化水平发上了 质的飞跃。工厂自动化、计算机集成过程控制,计算机集成制造系统和企业资源综合 规划等方案的通过和实施,为提高工业生产过程经济效益的关键手段。 第 2 章 系统总体设计及主控芯片介绍 5 2.1 系统设计方案 此次设计的主要应用在粮食仓储系统、楼宇自动化、系统空调系统的温度检测、 石化、机械等需要多点温度检测的场所。其目的是及时提供准确的温度分析报告,供 管理人员及时对生产过程进行控制,确保工业生产的效率和安全。该课题主要是通过 智能温度传感器满足温度测量,并将温度信号转换成数字信号经单片机处理并经输出 驱动电路显示于共阴极数码管。因此该系统可实现多点不同区域测量,单通道,循环 测量。此外还具有自动控制和超温报警和自动控制功能,当温度超过某一设定值时, 系统控制继电器来关闭加温设备,同时做出声光报警。 该系统由硬件和软件两部分组成,硬件部分主要包括:at89s52 主控芯片,智能温 度传感器 ds18b20,led 数码显示,继电器控制及声光报警电路,同 pc 机通信并口单 元。软件部分主要包括对传感器的程序编写,led 数码显示程序的编写,控制继电器动 作子程序,按键动作子程序等。 系统的总体结构框图如下图 2-1: shows desktop.lnk 图 2-1 系统总体框图 2.2 最小系统设计方案 2.2.1 主控芯片的选择方案 微型计算机渗透到测试领域并得到充分发挥,是现代测试技术发展的必然趋势, 人机交换电路 输入电路 单片机最小系统 显示电路 继电器控制电路 6 也是目前作为智能仪表的设计的一般方法,目前市场上的单片机从数据总线宽度上来 分主要有 8 位机、16 位机、32 位机,其中的 32 位单片机近年来在信号分析与处理、 语音处理、数字图象处理等数字信号处理运用领域得到广泛的运用,但在工业测控现 场,占主导地位的还是 8 位机和 16 位机,对本课题涉及的多路温度的测量,运用单片 机的主要目的是构成一个具有一定判断、运算能力以及具有存储、显示、通信等功能 的智能测量仪表,它所处理的信息量和复杂程度由于是温度,因而用 8 位机已经足够 了。目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速 发展,比较著名的有 intel、philips、microchip、motorola、atmel 等半导体企业。在上 述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为 intel 公司的 mcs- 51 系列,microchip 公司的 pic 系列,近年来,随着 intel 公司对 8031 内核的公开以 及各半导体企业在关键技术上的相互渗透,不仅 intel 公司,而且 philips 公司、 atmel 公司等企业目前都生产 mcs-51 系列的 cpu。近十年来在工业测控领域,国内运 用最多的恐怕是 atmel 公司的 at89 系列,它的标准型产品不仅在指令上,而且在管脚 上都兼容 intel 公司的 mcs-51 系列的第一代 cpu8031,并在片内存储器、振荡电路、 功耗、软件加密以及内置看门狗等技术水平上均有很大程度的提高,使国内的智能仪 表行业的设计与开发者越来越感到使用和设计上的方便。因此主控芯片的选择方案有 二种: 方案一: 此方案采用 at89c52 8 位单片机实现。单片机编程的自由度大,可通过编程实 现各种算术算法和逻辑控制。但是,at89c52 单片机需要用仿真器来实现软硬件的合成 在线调试,较为繁琐,很不方便。而且 at89c52 的地位已经渐渐的被 at89s52 所取代, 逐渐成为历史。事实也证明了 at89s52 在工业控制上有着更为广泛的应用。 方案二: 此方案采用 at89s52 八位单片机实现。它除了 89c52 所具有的优点外,还具有可 在线编程,可在线仿真的功能,这让调试变得方便。与凌阳十六位单片机相比, at89s52 八位单片机的价格便宜,在线编程方便,而且 at89s52 在工业控制中有广泛的 应用,编程技术及外围功能电路的配合技术发展都很成熟。这对于我们查找相关资料 非常方便。 综合比较本设计最终选用 atmel 最新的 8 位单片机 at89s52 作为本系统的主控 7 制器。 2.2.2 at89s52 的功能性能描述 与mcs-51单片机产品兼容 8k字节在系统可编程flash存储器 1000次擦写周期 全静态操作:0hz33hz 三级加密程序存储器 32个可编程i/o口线 三个16位定时器/计数器 八个中断源 全双工uart串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 at89s52是一种低功耗、高性能cmos 8位微控制器,具有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内容被保存, 振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 8 2.2.3 at89s52 的引脚结构 图 2.2 at89s52 引脚图 at89s52 引脚图,如图 2.2 所示 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),具体如表2.1所示,在flash编程和校验时, p1口接收低8位地址字节。 9 表2.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特殊功能(第二功能)使用,如表2.2所示。在flash编 程和校验时,p3口也接收一些控制信号。 表 2.2 p3 口第二功能表 引脚第二功能 p3.0rxd (串行口输入端) p3.1txd (串行口输出端) p3.2 (外中断 0,低电平有效)0int p3.3 (外中断 1,低电平有效)1int p3.4t0 (定时/计数器 0 计数脉冲输入端) p3.5t1 (定时/计数器 1 计数脉冲输入端) 10 p3.6 (外部数据存储器写选通,低电平有效)wr p3.7 (外部数据存储器读选通,低电平有效)rd 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位)的设置对微控制器处于外部执行模式 下无效。 :外部程序存储器选通信号()是外部程序存储器选通信号。当psenpsen at89s52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在psen 访问外部数据存储器时,将不被激活。psen /vpp:访问外部程序存储器控制信号。为使能从0000h 到ffffh的外部程序存ea 储器读取指令,必须接gnd。为了执行内部程序指令,应该接vcc。在flash编eaea 程期间,也接收12伏vpp电压。ea xtal1:振荡器反相放大器和内部时钟发生电路的输入端。 xtal2:振荡器反相放大器的输出端。 2.2.4 存储器结构 单片机at89s52有单独的程序存储器和数据存储器。外部程序存储器和数据存储器 都可以进行64k寻址。 (1)程序存储器:如果引脚接地,程序读取只从外部存储器开始。对于ea 89s52,如果 接vcc,程序读写先从内部存储器(地址为0000h1fffh)开始,接ea 着从外部寻址,寻址地址为:2000hffffh。 (2)数据存储器:at89s52有256字节片内数据存储器。高128字节与特殊功能寄 11 存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。 当一条指令访问高于7fh 的地址时,寻址方式决定cpu 访问高128 字节ram 还是特殊 功能寄存器空间。直接寻址方式访问特殊功能寄存器。 (3)看门狗定时器:wdt是一种需要软件控制的复位方式。wdt 由13位计数器和 特殊功能寄存器中的看门狗定时器复位存储器(wdtrst)构成。wdt 在默认情况下无 法工作;为了激活wdt,户用必须往wdtrst 寄存器(地址:0a6h)中依次写入01eh 和 0e1h。当wdt激活后,晶振工作,wdt在每个机器周期都会增加。wdt计时周期依赖于外 部时钟频率。除了复位(硬件复位或wdt溢出复位),没有办法停止wdt工作。当wdt溢 出,它将驱动rsr引脚一个高个电平输出。 为了激活wdt,用户必须向wdtrst寄存器(地址为0a6h的sfr)依次写入0e1h和 0e1h。当wdt激活后,用户必须向wdtrst写入01eh和0e1h喂狗来避免wdt溢出。当计数 达到8191(1fffh)时,13 位计数器将会溢出,这将会复位器件。晶振正常工作、wdt激 活后,每一个机器周期wdt 都会增加。为了复位wdt,用户必须向wdtrst 写入01eh 和 0e1h(wdtrst 是只读寄存器)。wdt 计数器不能读或写。当wdt 计数器溢出时,将给 rst 引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(tosc),其中 tosc=1/fosc。为了很好地使用wdt,应该在一定时间内周期性写入那部分代码,以避 免wdt复位。 在掉电模式下,晶振停止工作,这意味这wdt也停止了工作。在这种方式下,用户 不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通 过硬件复位退出掉电模式后,用户就应该给wdt喂狗,就如同通常at89s52复位一样。 通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶 振稳定。当中断拉高后,执行中断服务程序。为了防止wdt在中断保持低电平的时候复 位器件,wdt直到中断拉低后才开始工作。这就意味着wdt应该在中断服务程序中复位。 为了确保在离开掉电模式最初的几个状态wdt不被溢出,最好在进入掉电模式前就复位 wdt。在进入待机模式前,特殊寄存器auxr的wdidle位用来决定wdt是否继续计数。默 认状态下,在待机模式下,wdidle0,wdt继续计数。为了防止wdt在待机模式下复位 at89s52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。 12 2.2.5 中断系统 at89s52 有6个中断源:两个外部中断(int0 和int1),三个定时中断(定时器 0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器ie 中的相 关中断允许控制位分别使得中断源有效或无效。ie还包括一个中断允许总控制位ea, 它能一次禁止所有中断。ie.6位是不可用的。对于at89s52,ie.5位也是不能用的。用 户软件不应给这些位写1。它们为at89系列新产品预留。 定时器2可以被寄存器t2con中的tf2和exf2的逻辑“或”触发。程序进入中断服务 后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是tf2 或exf2 激活中断,标志位也必须由软件清0。 定时器0和定时器1标志位tf0 和tf1在计数溢出的那个周期的s5p2被置位。它们的 值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位tf2 在计数溢出的那个 周期的s2p2被置位,在同一个周期被电路捕捉下来。 2.3 输入电路的设计 2.3.1 温度采集方案 方案一: 采用热敏电阻,可满足 40至 90测量范围,但热敏电阻精度、重复性、可靠性 较差,对于检测 1的信号是不适用的。而且在温度测量系统中,采用单片温度传感器, 比如 ad590,lm35 等.但这些芯片输出的都是模拟信号,必须经过 a/d 转换后才能送给计 算机,这样就必须采用高速高位的 a/d 转换器,使得测温装置的结构较复杂.另外,这种 测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也会造成成 本的加大。此外,用到的算法也比较复杂,一定程度上也增加了软件实现的难度。 方案二: 在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行 ad 转换,而为 了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路 零点漂移等造成的误差补偿问题。采用数字温度芯片 ds18b20 测量温度,输出信号全 数字化。便于单片机处理及控制,省去传统测温方法的复杂外围电路。且该芯片的物 理化学性很稳定,它能用做工业测温元件,此元件线形较好。在 0100时,最大线 形偏差小于 1。ds18b20 的最大特点之一采用了单总线的数据传输,由数字温度计 13 ds18b20 和微控制器 at89s52 构成的温度测量装置,它直接输出温度的数字信号,可直接 与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于 at89s5 可以带 多个 dsb18b20,因此可以非常容易实现多点测温,轻松的组建传感器网络。 采用温度芯片 ds18b20 测量温度,可以体现系统芯片化这个趋势。部分功能电路 的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有 效地避免了外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发 展的一种趋势。 2.3.2 数字温度传感器 ds18b20 简介 2.3.2.1 ds18b20 概述 ds18b20数字温度计提供9位温度读数,指示器件的温度信息经过单线接口送入 ds18b20或从ds18b20送出,因此从中央处理器到ds18b20仅需连接一条线和地。读写和 完成温度变换所需的电源可以由数据线本身提供而不需要外部电源。因为每一个 ds18b20有唯一的系列号,因此多个ds18b20可以存在于同一条单线总线上,可以实现 单线多点测温。ds18b20此特性的应用范围包括hvac环境控制建筑物设备内的温度检测 以及过程监视和控制中的温度检测。 2.3.2.2 ds18b20 的功能特性 独特的单线接口只需1个接口引脚即可通信 多点multidrop能力使分布式温度检测应用得以简化 无需外部元件 不需备份电源 以9 位数字量读出温度 在1s典型值内把温度变换为数字 用户可定义的非易失性的温度告警设置 告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况 测量范围从-55+125,增量值为0.5,等效的华氏温度范围是-67257 f,增量 值为0.9 f 2.3.2.3 ds18b20 引脚排列 ds18b20 的引脚排列和功能说明如图 2.3 所示 14 图 2.3 ds18b20 引脚图 2.3.2.4 ds18b20 内部结构 (1)ds18b20 的内部结构如图 3.2 所示 c 图 3.2 ds18b20 内部结构图 ds18b20 有 4 个主要的数据部件: 1) 64 位激光 rom。64 位激光 rom 从高位到低位依次为 8 位 crc、48 位序列 号和 8 位家族代码(28h)组成。 2)温度灵敏元件。 i/o 温度传感器 高 速 缓 存 器 低温触发器 tl 高温触发器 th 配置寄存器 8 位 crc 发生器 vdd 存储器与控制逻辑 64 位 rom 和 单线接口 15 3)非易失性温度报警触发器 th 和 tl。可通过软件写入用户报警上下限值。 4)配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。ds18b20 在 0 工作时 按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表 2.4 所示。 表 2.4 ds18b20 配置寄存器结构图 tmr1r011111 msb ds18b20 配置寄存器结构图 lsb 其中,tm:测试模式标志位,出厂时被写入 0,不能改变;r0、r1:温度计分辨率 设置位,其对应四种分辨率如下表所列,出厂时 r0、r1 置为缺省值:r0=1,r1=1(即 12 位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率(如表 2.5)。 表 2.5 配置寄存器与分辨率关系表 r0r1 温度计分辨率/bit最大转换时间/us 00993.75 0110187.5 1011375 1112750 (2) 高速暂存存储器 高速暂存存储器由 9 个字节组成,其分配如下表 2.6 所示。当温度转换命令发布 后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字 节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表 2.7 所示。对应的温度计算:当符号位 s=0 时,直接将二进制位转换为十进制;当 s=1 时, 先将补码变为原码,再计算十进制值(如表 2.8 所示)。 表 2.6 ds18b20 存储器映像图 温度低位温度高位 thtl 配置保留保留保留8 位 crc lsb ds18b20 存储器映像图 msb 表 2.7 温度格式图 16 2 23 32 22 22 21 12 20 02 2-1-12 2-2-22 2-3-32 2-4-4 msbmsblsblsb s ss ss ss ss s2 26 62 25 52 24 4 表 2.8 对应的温度值表 温度/二进制表示十六进制表示 +125 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55 00000111 11010000 00000001 10010001 00000000 10100010 00000000 00001000 00000000 00000000 11111111 11111000 11111111 01011110 11111110 01101111 11111100 10010000 07d0h 0191h 00a2h 0008h 0000h fff8h ff5eh fe6fh fc90h 2.3.2.5 ds18b20 的工作时序 ds18b20 的一线工作协议流程是:初始化rom 操作指令存储器操作指令数据 传输。其工作时序包括初始化时序、写时序和读时序,如图 2.4、图 2.5 和图 2.6 所 示。 在测温时首先设置 ds18b20 的数据输入端口 dq 为高电平,然后初始化 ds18b20, 在成功后 ds18b20 接收单片机的命令,为了简单起见这里跳过 rom 命令设置匹配过程, 然后再次初始化 ds18b20 在成功后启动温度转换命令,然后将温度值保存起来,返回。 其中读写 ds18b20 的驱动程序在 ds18b20.c 文件中,可以参考 ds18b20 的读写时序图 来理解程序。 图 2.4 初始化时序 17 图 2.5 写时序 图 2.6 读时序 2.3.2.6 ds18b20 与单片机的典型接口设计 可以采用外接电源与寄生电源供电(就是供电电源从数据线上得到)如图 2.6 和 图 2.7 所示: 图 2.6 外接电源供电 18 图 2.7 寄生电源供电 2.3.2.7 ds18b20 与 at89s52 接口电路的设计 vcc 5k 图 2.8 单线多点测温电路 此部分为多点温度测试。ds18b20采用外部供电方式,理论上可以在一根数据总线 上挂256个ds18b20,但实践应用中发现,如果挂接25个以上的ds18b20仍旧有可能产生 功耗问题。另外单总线长度也不宜超过80m,否则也会影响到数据的传输。在这种情况 下我们可以采用分组的方式,用单片机的多个i/o来驱动多路ds18b20。在实际应用中 还可以使用一个mosfet将i/o口线直接和电源相连,起到上拉的作用。在此次设计过程 中,最初我们采用了单总线模式,如图2.8所示,但是凡事都具有两面性。对硬件结构 简单的单线数字温度传感器ds18b20 进行操作,是需要用较为复杂的程序完成的。编 制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间子程序要严 格按时序要求编写。尤其在使用ds18b20的高测温分辨力时,对时序及电气特性参数要 求更高。在面对单总线接线时,如何选取需要显示的18b20成了软件的一个难点。在经 过1个多星期摸索之后,我们小组决定通过软件将四个18b20的序列号显示出来),然 at89s52 4.7k 1wire ds18b 20 4# ds18b 20 3# ds18b 20 1# ds18b 20 2# 19 后通过软件对序列号进行操作来实现选取18b20的工作状态。但是遗憾的是,对于 ds18b20的时序问题,尤其是对于其rom的操作始终解决不好,在请教老师和同学之后, 最终还是没有能够实现。无奈之下,只有选取了使用单片机的多个i/o来驱动多路 ds18b20,虽然最终结果得以实现,这也不免是整个设计过程的一个遗憾。此外有多个 测温点时,应考虑系统能实现传感器出错自动指示,进行自动ds18b20 序列号和自动 排序,以减少调试和维护工作量。 2.3.2.8 ds18b20 设计使用得注意事项 (1)ds18b20 从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须 保证的,不然会出现转换错误的现象,使温度输出总是显示 85。 (2)在实际使用中发现,应使电源电压保持在 5v 左右,若电源电压过低,会使所 测得的温度与实际温度出现偏高现象,经过试验发现,一般在 5v 左右。 (3)较小的硬件开销需要相对复杂的软件进行补偿,由于 ds18b20 与微处理器间 采用串行数据传送,因此,在对 ds18b20 进行读写编程时,必须严格保证读写时序, 否则将无法读取测温结果,在使用 pl/m、c 等高级语言进行系统程序设计时,对 ds18b20 操作部分最好采用汇编语言实现。 (4)在 ds18b20 的有关资料中均未提及单总线上所挂 ds18b20 数量问题,容易使 人误认为可以挂任意多个 ds18b20,在实际应用中并非如此,当单总线上所挂 ds18b20 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计 时要加以注意。 (5)连接 ds18b20 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传 输长度超过 50m 时,读取的测温数据将发生错误,当将总线电缆改为双绞线带屏蔽电 缆时,正常通讯距离可达 150m,当采用每米胶合次数更多的双绞线带屏蔽电缆时,正 常通讯距离进一步加长。这种情况主要由总线分布电容使信号波形产生畸变造成的。 因此,在用 ds18b20 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配 问题。 (6)在 ds18b20 测温程序设计中,向 ds18b20 发出温度转换命令后,程序总要等 待 ds18b20 的返回信号,一旦某个 ds18b20 接触不好或断线,当程序读该 ds18b20 时, 将没有返回信号,程序进入死循环,这一点在进行 ds18b20 硬件连接和软件设计时也 要给予一定的重视。 20 2.4 三位 led 数码管驱动电路的设计 2.4.1 led 数码显示器的结构与显示段码 在单片机系统中,常用的显示器有:发光二极管显示器,简称 led(lightemittingdiode),液晶显示器,简称 lcd(liquidcrystaldisplay);荧光管显示 器。近年来也开始使用简易的 crt 接口,显示一些汉字及图形。前三种显示器都有两 种显示结构;段显示和点阵显示。而发光二极管显示又分为固定段显示和可以拼装的 大型字段显示,此外还有共阳极和共阴极之分等。 三种显示器中,以荧光管显示器亮 度最高,发光二极管次之,而液晶显示器最弱,为被动显示器,必须有外光源。 led 显示块是由发光二极管显示字段组成的显示器,有 8 字段和“米”字段之分。 显示块都有 dp 显示段,用于显示小数点。7 段 led 的字型码,由于只有 7 个段发光 二极管,所以字型码为一个字节(如图 2.9-c 所示)。这种显示块有共阳极和共阴极两 种,共阴极 led 显示块的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个 发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示(见图 2.9-a 所示)。 同样,共阳板 led 显示块的发光二极管的阳极连接在一起,通常此公共阳极接正电压 (见图 2.9-b 所示)。 共阴接法(a) 共阳接法(b) led 数码管内部结构(c) 图 2.9 由 n 片 led 显示块可拼接成 n 位 led 显示器。 n 位 led 显示器有 n 根位选线 和 8xn(或 16xn)根段选线。根据显示方式的不同,位选线和段选线的连接方法也各不 相同。段选线控制显示

温馨提示

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

评论

0/150

提交评论