首页 嵌入式温度控制与显示器

嵌入式温度控制与显示器

举报
开通vip

嵌入式温度控制与显示器基于单片机的温度实时监控系统设计 毕业设计(论文) 嵌入式温度控制与显示器 学 院: 信息科学技术学院 专 业: 姓 名: 指导老师: 自动化 符阳海 学 号: 职 称: 0601431018 陈蕴基 教授 中国·珠海 二○一○ 年 五 月 北京理工大学珠海学院毕业设计 诚信承诺书 本人郑重承诺:我所呈交的毕业设计《嵌入式温度控制与显示器》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。 承诺人签名: 日期: 年 月 日 嵌入式温度控制与...

嵌入式温度控制与显示器
基于单片机的温度实时监控系统设计 毕业设计(论文) 嵌入式温度控制与显示器 学 院: 信息科学技术学院 专 业: 姓 名: 指导老师: 自动化 符阳海 学 号: 职 称: 0601431018 陈蕴基 教授 中国·珠海 二○一○ 年 五 月 北京理工大学珠海学院毕业设计 诚信承诺书 本人郑重承诺:我所呈交的毕业设计《嵌入式温度控制与显示器》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。 承诺人签名: 日期: 年 月 日 嵌入式温度控制与显示器 摘 要 本文主要是针对生产或生活需要的恒温系统而展开的一系列设计研究。该设计以嵌入式中的单片机STC89C52RC为控制核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器和电制冷器等几个方面出发,详细研究和设计了基于单片机的温度控制的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。给出了一套合理的基于单片机的温度控制器软硬件解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 关键字 :温度检测 温度显示 DS18B20 单片机 温度控制 Embedded temperature control and display ABSTRACT This article mainly on production or living needs the system of thermostat and launched a series of design studies. The STC89C52RC single-chip design for the control of the core, from the temperature detection DS18B20 data acquisition, the adjustment settings, LED digital tube display circuit, alarm and output control several aspects, such as electric heater and electric cooler , the detailed study and design based on single the temperature control machine in all parts of the design of the single-chip microcomputer and its peripheral circuits, and procedures combined with a classic algorithm. Given a reasonable temperature controller based on single-chip hardware and software solutions. Key words: Single-chip Computer Single-chip Displayer Sensor Temperature Measurement 目 录 TOC \o "1-3" \h \z \u 摘要 I ABSTRACT II 1绪论 1 1.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 设计背景及意义 1 1.2行业技术发展趋势 1 1.3课题设计的主要内容 1 2系统的总体设计 3 3系统的主要硬件介绍 4 3.1单片机介绍 4 3.1.1单片机概述 4 3.1.2单片机编程语言介绍 5 3.1.3系统选择 6 3.1.4 STC89C52RC引脚功能介绍 9 3.2温度传感器DS18B20 16 3.2.1 DS18B20 16 3.2.2 DS18B20的硬件连接 25 4温度监控系统的设计 26 4.1硬件设计 26 4.1.1温度检测部分 26 4.1.2 LED数码管显示电路 27 4.1.3单片机及按键电路设计 31 4.1.4报警电路模块 33 4.1.5电源模块 34 4.1.6加热及制冷处理模块 35 4.2 软件系统设计 42 4.2.1系统程序流程图 42 4.2.2单片机软件开发语言 43 4.2.3 DS18B20驱动程序 44 4.2.4系统的程序源代码 54 5温度监控系统设计的硬件成果及测试结果、分析 62 5.1模块硬件概论 62 5.1.1温度采集模块和报警电路模块 62 5.1.2温度显示模块 63 5.1.3键盘调整模块 63 5.1.4电源模块 64 5.1.5加热及制冷处理模块 65 5.1.6整体硬件系统 65 5.2系统测试结果、分析 66 6结论与展望 68 6.1结论 68 6.2展望 68 参考文献 70 附录 71 谢辞 73 1 绪论 1.1课题设计背景及意义 嵌入式在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度控制和温度检测、显示。基于单片机的温度监控系统较传统的温度控制系统具有更高的智能性,并且系统的功能更加易于扩展和升级,是一种低成本的温度控制、检测方案。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。 因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。 本次设计采用MCS-51系列单片机与各种外围电路构成单片机温度自动检测和控制系统,实现对温度的实时检测、控制和显示。通过本次设计掌握温度检测控制系统的硬件设计方法和软件编写方法。熟悉Protel软件的使用方法,熟悉PCB板的制作。通过课题的研究进一步巩固所学的知识,同时学习课程以外的相关知识,培养综合应用知识的能力。锻炼动手能力与实际工作能力,将所学的理论与实践结合起来。 1.2 行业技术发展趋势 近年来,在温度检测技术领域中,多种新的检测原理与技术的开发应用己取得了具有实用性的重大进展。新一代温度检测元件正在不断出现和完善化,主要包括以下几种。(1)晶体管温度检测元件(2)集成电路温度检测元件(3)核磁共振温度检测器(4)热噪声温度检测器(5)石英晶体温度检测器(6)光纤温度检测器(7)激光温度检测器。 目前国内外的温度控制方式越来越趋向于智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。温度测量的过程就是通过温度传感器将被测对象的温度值转换成电的或其它形式的信号,传递给信号处理电路进行信号处理转换成温度值显示出来。温度传感器随着温度变化而引起变化的物理参数有: 膨胀、电阻、电容、热电动势,磁性能、频率、光学特性及热噪声等等。随着生产的发展,新型温度传感器还会不断出现,目前,国内外通用的温度传感器及测温仪大致有以下几种: 热膨胀式温度计、电阻温度计、热电偶、辐射式测温仪表、石英温度传感器测温仪。 1.3 课题设计的主要内容 该设计是以单片机STC89C52RC为控制核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器及制冷等几个方面出发,详细研究和设计了基于单片机的温度控制的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。 在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A/D转换器能接收的模拟量,再经过采样/保持电路进行A/D转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本文介绍单片机结合DS18B20环境温度控制器设计,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。 本次设计主要是对加热和制冷设备的温度控制,其主要任务如下: 用单片机对温度进行实时检测、显示和控制,以解决日常生活中及工业对温度的显示及控制问题。其温度显示为“-XXC”,精度为±0.50℃ ,测温范围-55℃~+125℃,采用LED显示,不单符合家庭使用更适合工业的使用。 2 系统的总体设计 嵌入式单片机的温度控制系统需要完成温度的检测并可以通过按键设定调整最高温度和最低温度值、能够显示当前温度值、最高设定温度和最低设定温度值,同时要实现当温度超过设定上限温度时,启动制冷器件降温,温度超过设定最高温度时报警;当温度低于设定下限温度时,启动电热器件加热,温度低于设定最低温度时报警等功能。需要系统包括单片机最小系统电路和按键电路、LED显示电路、温度检测部分、报警和控制输出等主要部分,系统地总体设计如下图所示: 图2-1 系统整体设计框图 3 系统的主要硬件介绍 3.1 单片机介绍 3.1.1单片机概述 单片微机(Single-Chip Microcomputer)简称单片机,通常统称微控制器(Micro-Controller 简写μC)或微型处理部件(Micro Controller Unit 简写MCU)。一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时代。单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、Pentium、PⅢ高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。 1.单片机的结构与组成 目前,单片机的系统结构有两种类型:一种是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯.诺依曼(Von Neumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EEPROM、OTP、ROM和FLASH等类。 EEPROM型内存编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EEPROM型单片机价格很高。具有ROM型(掩膜型)内存的单片机价格最低,它适用于大批量生产。由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高。OTP型(一次可编程)单片机介于EEPROM和ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎。Flash型(闪速型)单片机允许用户使用编程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash型单片机,即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势。 随机内存(RAM):用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失。最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的内存,但通常存储空间很小。 2.中央处理器(CPU) 是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。 并行输入/输出(I/O)口:通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定。现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O是单片机的重要资源,也是衡量单片机功能的重要指针之一。串口输入/输出口:用于单片机和串行设备或其它单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现。不同的单片机可能提供不同 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的串行通信接口,如UART、SPI、 、Micro Wire等。 3.定时器/计数器(T/C) 单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。 4.系统时钟 通常需要外接石英晶体或其它振荡源来提供时钟信号输入,也有的使用内部RC振荡器。 以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。 3.1.2 单片机编程语言介绍 对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASIC。 BASIC通常附在PC机上,是初学编程的第一种语言。一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。BASIC为简化使用变量,所有变量都用浮点值。BASIC是用于要求编程简单而对编程效率和运行速度要求不高的场合。 PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。它很像PASCAL,是一种结构化语言,但它使用关键词去定义结构。PL/M编译器好像汇编器一样可产生紧凑代码。PL/M总的来说是“高级汇编语言”,可详细控制着代码的生成。但对51系列,PL/M不支持复杂的算术运算、浮点变量而无丰富的库函数支持。学习PL/M无异于学习一种新语言。 C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号{ }而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的内存结构有初步了解寄存器分配、不同内存的寻址及数据类型等细节可由 编译器管理程序有规范的结构,可分为不同的函数。这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术 C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机不同较快地移植过来。 51的汇编语言非常像其它汇编语言。指令系统比第一代微处理器要强一些。51的不同存储区域使得其复杂一些。尽管懂得汇编语言不是你的目的,看懂一些可帮助你了解影响任何语言效率的51特殊规定。例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。要求使用浮点和启用函数时只有具备汇编编程经验才能避免生成庞大的、效率低的程序,这需要考虑简单的算术运算或先算好的查表法。 最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。 由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。 3.1.3 系统选择 本系统以MCS-51单片机成员中的STC89C52RC为控制核心。STC89C52RC单片机是宏晶科技推出的新一代超强干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可选择。 STC89C52RC 具有以下标准功能:8k 字节Flash,256 字节RAM,32 位I/O口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52RC 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 宏晶科技公司的STC89C52RC单片机,是功能强大、低价位产品,可为您提供许多高性价比的应用场合,它灵活应用于各种控制领域。 STC89C52RC的优点: (1)​ 超强抗干扰: 1.​ 高抗静电(ESD保护); 2.​ 轻松过2KV/4KV 快速脉冲干扰(EFT测试); 3.​ 宽电压,不怕电源抖动; 4.​ 宽温度范围, - 40℃~85℃。 (2)​ 三大降低单片机时钟对外部电磁辐射的措施: 1.​ 禁止ALE输出; 2.​ 如选6时钟/机器周期,外部时钟频率可降一半; 3.​ 单片机时钟振荡器增益可设为1/2 gain 。 (3)​ 超低功耗: 1.​ 掉电模式:典型功耗 <0.1μA>; 2.​ 正常工作模式:典型功耗 4mA-7mA; 3.​ 掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。 (4)​ 加密性强。 (5)​ 在系统可编程, 无需编程器, 无需仿真器。 (6)​ 可送STC-ISP下载编程器, 1万片/人/天。 (7)​ 可供应内部集成MAX810 专用复位电路的单片机,只有D 版本才有内部集成专用复位电路,原复位电路可以保留,也可以不用,不用时RESET 脚接1K电阻到地。其引脚结构如图3-1所示。 STC89C52RC的特点: 1.​ 增强型6时钟/机器周期,12时钟/机器周期8051CPU。 2.​ 工作电压:5.5V-3.4V(5V单片机)/3.8V-2.0V(3V 单片机)。 3.​ 工作频率范围:0-40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz。 4.​ 用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节。 5.​ 片上集成1280字节/512字节RAM。 6.​ 通用I/O 口(32/36个),复位后为: P1/P2/P3/P4 是准双向口/ 弱上拉(普通8051传统I/O口)。 a)​ P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻; b)​ ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/ 仿真器; c)​ 可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3 秒即可完成一片。 7.​ EEPROM 功能。 8.​ 看门狗。 9.​ 内部集成MAX810专用复位电路(D 版本才有),外部晶体20M以下时,可省外部复位电路。 10.​ 共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。 11.​ 外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒。 12.​ 通用异步串行口(UART),还可用定时器软件实现多个UART。 13.​ 工作温度范围:0--75℃/-40--+85℃。 14.​ 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44。 其引脚结构如图3-1所示: 图3-1 STC89C52RC 引脚结构 其内部结构如图3-2所示: 图3-2 STC89C52RC 内部结构 3.1.4 STC89C52RC引脚功能介绍 1.电源引脚Vcc和GND Vcc:电源电压,GND(10脚):接地端。 2.时钟电路引脚XTALl和XTAL2 XTAL2(18脚):接外部晶体和微调电容的一端。在内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。要检查单片机的振荡电路是否正确工作,可用示波器查看XTAL2端是否有脉冲信号输出。 XTAL1(19脚):接外部晶体的微调电容的另一端。在片内它是振荡电路反相放大器的输入端。若需采用外部时钟电路时,该引脚输入外部时钟脉冲如图3-3,3-4所示。 3.控制信号引脚RST RST(9脚)“RST”是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。 4.I/O(输入/输出)P0、P1、P2和P3 标准51单片机,如8031、8051、STC89C51RC、STC89C52RC等有4个I/O(输入/输出)口,分别为: P0口:P0口是一个漏极开路的8位双向I/O口。作为漏极八路的输出端口,每次能驱动8个LS型TTL负载。当P0口作为输入口使用时,其先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,叫做为高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址、数据复用。这种情模式下,P0具有内部上拉电阻。 在Flash编程时,P0口也接受指令字节,在编程校验时输出指令字节,程序校验时,也需要外部上拉电阻。 本设计利用P0口向数码管输出位和段的数据,使数码管显示温度当前值、最高设定值和最低设定值。 P1口:P1口是一个带上拉电阻的8位准双向I/O端口每一位能驱动(吸收成输出电流)4个LS型TTL负载。对P1端口写“1”时,内部上拉电阻端口拉高,此时可以作为输入口使用。 在Flash编程和校验时,P1口接受低8位地址字节。如表3-1 表3-1 引脚号 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) 本设计利用P1口控制3个发光二极管,当温度传感器检测到得温度高于最高设定值或低于最低设定值,系统就会光报警(P1.0口、P1.1口、P1.3口)。当温度传感器异常时,P1.0点亮LED1;当温度传感器检测到得温度高于最高设定值,P1.1点亮LED2;当温度传感器检测到得温度低于最低设定值,P1.2点亮LED3。P1口并根据采集来的温度高低对电机进行相应的控制(P1.4口控制加热电机、P1.5口控制制冷电机)。 P2口:P2口是一个带内部接上拉电阻的8位准双向埠。P2口的每一位能驱动4个LS型TTL负载。对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流在访问外部程序存储器时,P2口送出高八位地址。 本设计利用P2.2口来控制和接收温度传感器传来的数据,并利用P2.3口控制蜂鸣器的开和关。 P3口:P3口是一个带内部接上拉电阻的8位准双向埠。P3口的每一位能驱动(吸收或输出电流)4个LS型TTL负载。P3口与其它的I/O埠有很大区别,它除作为—般准双向I/O口外,每个引脚还具有专门的功能,见表3-2。 本设计利用P3口来扫描按键和它的第二功能。 表3-2 端口引脚功能 引脚号 第二功能 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(外部数据存储器读选通) P1口也是一个准双向口,作通用I/O口使用。其电路结构见图3-5。 5.特殊功能寄存器 特殊功能寄存器(SFR)的地址空间如表3-3所示 表3-3 STC89C52RC特殊寄存器映像及复位值 0F8H 0F0H 0E8H 0E0H 0D8H 0D0H 0C8H 0C0H 0B8H 0B0H 0A8H 0A0H 98H 90H 88H 80H 0FFH 0F7H 0EFH 0E7H 0DFH 0D7H 0CFH 0C7H 0BFH 0B7H 0AFH 0A7H 9FH 97H 8FH 87H B 00000000 ACC 00000000 PSW 00000000 T2CON 00000000 T2MOD ××××××00 RCAP2L 00000000 RCAP2H 00000000 TL2 00000000 TH2 00000000 IP ××000000 P3 11111111 IE 0×000000 P2 11111111 AUXR1 ×××××××0 WDTRXT ×××××××× SCON 00000000 SBUF ×××××××× P1 11111111 TCON 00000000 TMOD 00000000 TL0 00000000 TL1 00000000 TH0 00000000 TH1 00000000 AUXR ×××00××0 PO 11111111 SP 00000111 DP0L 00000000 DP0H 00000000 DP1L 00000000 DP1H 00000000 PCON 0×××OOOO 定时器2寄存器: 寄存器T2CON 和T2MOD包含定时器2的控制位和状态位(如表3-4) 表3-4 T2CON地址为0C8H 复位值:0000 0000B 位可寻址 TF2 EXF2 RCLK TCLK EXEN2 TR2 CT2 CPRL2 7 6 5 4 3 2 1 0 符号 功 能 TF2 定时器2溢出标志位,必须软件清“0”。 RCLK=1或TCLK=1时,TF2不用置位。 EXF2 定时器2外部标志位。EXEN2=1时,T2EX上的负跳变而出现捕捉或重载时,EXF2会被硬件置位。定时器2打开,EXF2=1时,将引导CPU执行定时器2中断程序。EXF2必须如见清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。 RCLK 串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1或3的串口接收时钟:RCLK=0,将使用定时器1计数溢出作为串口接受时钟。 TCLK 串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1或3的串口发送时钟:TCLK=0,将使用定时器1计数溢出作为串口发送时钟。 EXEN2 定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2捕捉和重载,若EXEN2=0,定时器2将视T2EX端的信号无效。 TR2 开始/停止控制定时器2。TR2=1,定时器2开始工作。 CT2 定时器2定时/计数选择标志位。CT2=0时,定时CT2=1,外部事件计数(下降沿触发) CPRL2 捕捉/重载选择标志位。当EXEN2=1时,CPRL2=1,T2EX出现负脉冲,会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。CPRL2=0将引起T2EX的负脉冲。当RCKL=1或TCKL=1时,此标志位无效,定时器2溢出时,强制做自动重载操作。 中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可以在IE中设置。 双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器,位于SFR中82H--85H。 掉电标志位:掉电标志位(P0F)位于特殊寄存器PCON的第四位,上电期间,POF置“1”。POF可以软件控制。 看门狗定时器: WDT是一种需要软件控制的复位方式,WDT有13位计数器和特殊功能寄存器中的看门狗定时器复位存储器构成,WDT在默认情况下无法工作,位了激活WDT,用户必须往WDTRST寄存器中依次写入01EH 和 0E1H,当WDT激活后,晶振工作,WDT在美国机器周期都会增加,WDT计时周期依赖于外部晶振的时钟频率。当WDT溢出,它将驱动RSR引脚一个高个电平输出。 定时器0和定时器1:在STC89C52RC中,定时器0和定时器1的操作于STC89C52RC和STC89C51RC一样。 定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,也可以做事件计数器,其工作方式由特殊寄存器T2CON中的C/T位选择,由三种工作方式,如表3-5所示。 表3-5 RCLK+TCLK CP/RL2 TR2 MODE 0 0 1 16位自动重载 0 1 1 16位捕捉 1 × 1 波特率发生器 × × 0 (不用) 中断:STC89C52RC有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。IE.6位是不可用的。对于STC89C52RC,IE.5 位也是不能用的。用户软件不应 给这些位写1。它们为STC89系列新产品预留。定时器2 可以被寄存器T2CON 中的TF2 和EXF2 的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。如表3-6所示。 表3-6 (MSB) (LSB) EA - ET2 ES ET1 EX1 ET0 EX0 中断允许控制位=1,允许中断 中断允许控制位=0,禁止中断 符号 位地址 功能 EA IE.7 中断总允许控制位。EA=0,中断总禁止:EA=1,各中断由各自的控制位设定 - IE.6 预留 ET2 IE.5 定时器2中断允许控制位 ES IE.4 串行口中断允许控制位 ET1 IE.3 定时器1中断允许控制位 EX1 IE.2 外部中断1允许控制位 ET0 IE.1 定时器0中断允许控制位 EX0 IE.0 外部中断1允许控制位 3.2 温度传感器DS18B20 集成式数字温度传感器DS18B20的出现开辟了温度传感器技术的新领域,它利用单总线的特点可以方便的实现多点温度的测量。而可组网数字温度传感器DS18B20则是DS18B20的更新产品,它在电压、特性及封装方面都更具有优势,给了用户更多的选择,让用户可以更方便的构建适合自己的测温系统。DS18B20充分利用了单总线的独特特点,可以轻松的组建传感器网络,提供系统的抗干扰性,使系统设计更灵活、方便、而且适合于在恶劣的环境下进行现场温度测量。 3.2.1 DS18B20 1)DS18B20概述 (1)​ 一般说明 DS18B20 数字温度计提供9 位温度读数,指示器件的温度。 信息经过单线接口送入DS18B20 或从DS18B20 送出因此从中央处理器到DS18B20 仅需连接一条线(和地)。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。 因为每一个DS18B20 有唯一的系列号(silicon serial number ),因此多个DS18B20 可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。 (2)​ 特性 ​ 特独特的单线接口,只需1个接口引脚即可通信 ​ 多点(multidrop)能力使分布式温度检测应用得以简化 ​ 不需要外部元件 ​ 可用数据线供电 ​ 不需备份电源 ​ 测量范围从-55℃至+125℃增量值为0.5℃等效的华氏温度范围是-67℉至257℉, 增量值为0.9℉ ​ 以9位数字值方式读出温度 ​ 在1秒(典型值)内把温度变换为数字 ​ 用户可定义的,非易失性的温度告警设置 ​ 告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况) ​ 应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统 (3)​ 引脚排列 图3-6 DS18B20引脚排列 2)详细说明 (1)​ 综述 图3-7的方框图表示DS18B20 的主要部。DS18B20 有三个主要的数据部件:① 64位激光(lasered)ROM;② 温度灵敏元件;③ 非易失性温度告警触发器TH 和TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生(电容)电源为止。作为另一种可供选择的方法,DS18B20也可用外部5V电源供电。 图3-7 DS18B20 方框图 与DS18B20 的通信经过一个单线接口。在单线接口情况下,在ROM 操作未定建立之前不能使用存贮器和控制操作。主机必须首先提供五种ROM 操作命令之一:① Read ROM(读ROM),② Match ROM(符合ROM),③ Search ROM(搜索ROM),④ Skip ROM(跳过ROM),或⑤Alarm Search(告警搜索) 这些命令对每一器件的64位激光ROM部分进行操作。如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。在成功地执行了ROM 操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。 一个控制操作命令指示DS18B20 完成温度测量。该测量的结果将放入DS18B20的高速暂存(便笺式)存贮器(Scratchpad memory),通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一温度告警触发器TH和TL 构成一个字节的EEPROM。如果不对DS18B20 施加告警搜索命令,这些寄存器可用作通用用户存储器。使用存储器操作命令可以写TH 和TL 。对这些寄存器的读访问通过便笺存储器。所有数据均以最低有效位在前的方式被读写。 (2)​ 寄生电源(parasite power) 方框图(图3-7)示出寄生电源电路。当I/O或VDD引脚为高电平时,这个电路便“取”得电源。只要符合指定的定时和电压要求,I/O将提供足够的功率。寄生电源的优点是双重的:① 利用此引脚远程温度检测无需本地电源,② 缺少正常电源条件下也可以读ROM。 为了使DS18B20 能完成准确的温度变换,当温度变换发生时,I/O线上必须提供足够的功率。因为DS18B20 的工作电流高达1mA,5K 的上拉电阻将使I/O线没有足够的驱动能力。如果几个DS18B20在同一条I/O 线上而且企图同时变换,那么这一问题将变得特别尖锐。 有两种方法确保DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在I/O线上提供一强的上拉。如图3-8 所示,通过使用一个MOSFET 把I/O 线直接拉到电源可达到这一点。当使用寄生电源方式时VDD 引脚必须连接到地。 向DS18B20 供电的另外一种方法是通过使用连接到VDD 引脚的外部电源,如图3-9所示。这种方法的优点是在I/O 线上不要求强的上拉。总线上主机不需向上连接便在温度变换期间使线保持高电平。这就允许在变换时间内其它数据在单线上传送。此外,在单线总线上可以放置任何数目的DS18B20,而且如果它们都使用外部电源,那么通过发出跳过(Skip)ROM命令和接着发出变换(Convert)T命令,可以同时完成温度变换。注意只要外部电源处于工作状态,GND引脚不可悬空。 图3-8 强上拉在温度变换期内向DS18B20供电 在总线上主机不知道总线上DS18B20 是寄生电源供电还是外部VDD供电的情况下,在DS18B20内采取了措施来 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 采用的供电方案。总线上主机通过发出跳过(Skip)ROM 的操作约定,然后发出读电源命令,可以决定是否有需要强上拉的DS18B20 在总线上。在此命令发出后,主机接着发出读时间片。如果是寄生供电,DS18B20 将在单线总线上送回“0”:如果由VDD 引脚供电,它将送回“1”。如果主机接收到一个“0”它知道它必须在温度变换期间在I/O 线上供一个强的上拉。 图3-9 使用VDD 提供温度变换所需电流 (3)​ 运用--测量温度 DS18B20 通过使用在(on-board)温度测量专利技术来测量温度。温度测量电路的方框图见图3-10所示。 图3-10 温度测量电路 DS18B20通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度,而门开通期由高温度系数振荡器决定。计数器予置对应于-55℃的基数,如果在门开通期结束前计数器达到零,那么温度寄存器它也被予置到-55℃的数值将增量,指示温度高于-55℃。 同时,计数器用钭率累加器电路所决定的值进行予置。为了对遵循抛物线规律的振荡器温度特性进行补偿,这种电路是必需的。时钟再次使计数器计值至它达到零。如果门开通时间仍未结束,那么此过程再次重复。 钭率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量。通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿。因此,为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(钭率累加器的值)二者都必须知道。 此计算在DS18B20内部完成以提供0.5℃的分辩率。温度读数以16位、符号扩展的二进制补码读数形式提供。表3-7说明输出数据对测量温度的关系。数据在单线接口上串行发送。DS18B20可以以0.5℃的增量值,在0.5℃至+125℃的范围内测量温度对于应用华氏温度的场合必须使用查找表或变换系数。 注意,在DS18B20 中,温度是以1/2℃LSB(最低有效位)形式表示时,产生以下9 位格式,如图3-11。 图3-11 温度是以1/2℃LSB形式表示图 最高有效(符号)位被复制到存储器内两字节的温度寄存器中较高MSB 的所有位,这种“符号扩展”产生了如表3-7所示的16位温度读数。 以下的过程可以获得较高的分辩率首先读温度并从读得的值截去0.5℃位(最低有效位)。这个值便是TEMP_READ。然后可以读留在计数器内的值。此值是门开通期停止之后计数剩余,公式3-1: (3-1) (COUNT_REMAIN)。 所需的最后一个数值是在该温度处每一摄氏度的计数个数(COUNT_PER_C )于是用户可以使用下式计算实际温度,表3-7。 表3-7 温度/数据关系 温 度 数字输出/(二进制) 安息字输出(十六进制) +125℃ 00000000 11111010 00FAh +25℃ 00000000 00110010 0032h +1/2℃ 00000000 00000001 0001h +0℃ 00000000 00000000 0000h -1/2℃ 11111111 11111111 FFFFh -25℃ 11111111 11001110 FFCEh -55℃ 11111111 10010010 FF92h (4)​ 运用告警信号 在DS18B20 完成温度变换之后,温度值与贮存在TH和TL内的触发值相比较因为这些寄存器仅仅是8位,所以0.5℃位在比较时被忽略。TH 或TL 的最高有较位直接对应于16 位温度寄存器的符号位。如果温度测量的结果高于TH 或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位DS18B20 将对告警搜索命令作出响应。这允许并联连接许多DS18B20,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。 (5)​ 64 位激光ROM 每一DS18B20 包括一个唯一的64 位长的ROM 编码。开始的8位是单线产品系列编码 (DS18B20 编码是10h)。接着的48 位是唯一的系列号。最后的8位是开始56 位CRC (见图3-12)。64位ROM 和ROM 操作控制部分允许DS18B20 作为一个单线器件工作并遵循“单线总线系统”一节中所详述的单线 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。直到ROM 操作协议被满足,DS18B20 控制部分的功能是不可访问的。此协议在ROM操作协议流程图(图3-13)中叙述。单线总线主机必须首先操作五种ROM操作命令之一:① Read ROM(读ROM),② Match ROM(匹配ROM),③ Search ROM(搜索ROM),④ Skip ROM(跳过ROM),或⑤ Alarm Search(告警搜索)。在成功地执行了ROM 操作序列之后,DS18B20 特定的功能便可访问,然后总线上主机可提供六个存贮器和控制功能命令之一。 8位CRC编号 48位序列号 8位产品系列编码 MSB LSB MSB LSE MSB LSB (最高有效位)(最低有效位) 图3-12 64位激光ROM 图3-13 ROM操作流程图 (6)​ CRC 产生 DS18B20 有一存贮在64 位ROM 的最高有效字节内的8 位CRC。总线上的主机可以根据64 位ROM 的前56 位计算机CRC 的值并把它与存贮在DS18B20 内的值进行比较以决定ROM 的数据是否已被主机正确地接收。CRC 的等效多项式函数为(公式3-2): (3-2) DS18B20 也利用与上述相同的多项式函数产生一个8 位CRC 值并把此值提供给总线的主机以确认数据字节的传送。在使用CRC 来确认数据传送的每一种情况中,总线主机必须使用上面给出的多项式函数计算CRC 的值并把计算所得的值或者与存贮在DS18B20 的64 位ROM 部分中的8 位CRC值(ROM 读数)或者与DS18B20 中计算得到的8 位CRC值(在读暂存存贮器中时,它作为第九个字节被读出),进行比较。CRC 值的比较和是否继续操作都由总线主机来决定。当存贮在DS18B20 内或由DS18B20计算得到的CRC 值与总线主机产生的值不相符合时,在DS18B20 内没有电路来阻止命令序列的继续执行。 总线CRC 可以使用如图3-14所示由一个移位寄存器和“异或”(XOR)门组成的多项式产生器来产生。其它有关Dallas 公司单线循环冗余校验的信息可参见标题为“理解和使用Dallas 半导体公司接触式存贮器产品”的应用注释。 移位寄存器的所有位被初始化为零。然后从产品系列编码的最低有效位开始,每次移入一位。当产品系列编码的8 位移入以后,接着移入序列号。在序列号的第48 位进入之后,移位寄存器便包含了CRC 值。移入CRC 的8 位应该使移位寄存器返回至全零。 图3-14 单线CRC编码 (7)​ 存贮器 DS18B20 的存贮器如图所示那样被组织。存贮器由一个高速暂存(便笺式)RAM 和一 个非易失性,电可擦除EERAM 组成,后者存贮高温度和低温度和触发器TH 和TL。暂存存贮器有助于在单线通信时确保数据的完整性。数据首先写入暂存存贮器,在那里它可以被读回。当数据被校验之后,复制暂存存贮器的命令把数据传送到非易失性EERAM。这一过程确保了更改存贮器时数据的完整性。 SCRATCHPAD BYTE E2RAM TEMPERATURE LSB 0 1 2 3 4 5 6 7 8 TEMPERATURE MSB TH/USERBYTE1 TH/USERBYTE1 TL/USERBVTE2 TL/USERBVTE2 RESERVED RESERVED COUNT REMAIN COUNT PER℃ CRC 图3-15 DS18B20存贮器映象图 暂存存贮器是按8 位字节存储器来组织的。头两个字节包含测得温度信息。第三和第四个字节是TH和TL的易失性拷贝,在每一次上电复位时被刷新。接着的两个字节没有使用,但是在读回时,它们呈现为逻辑全1。 3.2.2 DS18B20的硬件连接 DS18B20与单片机的接口极其简单,只需将DS18B20的信号线与单片机的一位双向端口相连即可。如图3-16(a)所示。此时应注意将VDD、DQ、GND三线焊接牢固。另外也可用两个端口,即接收口与发送口分开,这样读写操作就分开了,不会出现信号竞争的问题。如图3-16(b)所示。此图是采用寄生电源方式,将DS18B20的VDD和GND接在一起。如若VDD脱开未接好,传感器将只送+85.0℃的温度值。一般测温电缆线采用屏蔽4芯双绞线,其中一对接地线与信号线,另一对接VDD和地线,屏蔽层在源端单点接地。 4 温度监控系统的设计 4.1硬件设计 基于单片机的温度监控主要有以下几部分:温度检测数据采集部分,LED数码管显示电路、报警及控制输出部分、单片机及按键电路设计等几个部分,下面分别加以介绍,硬件模块如图4-1所示。 图4-1 硬件模块图 4.1.1 温度检测部分 温度传感器有很多种,如热敏电阻,热电偶,PN结,半导体温度传感器等。这里选用单总线数字输出的集成半导体温度传感器DS18B20,其特点:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;测温范围-55℃~+125℃,固有测温分辨率0.5℃;支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温;工作电源:3~5V/DC。 温度检测数据采集电路如图4-2所示,由温度传感器DS18B20采集被控对象的实时温度,提供给STC89C52RC的I/O口作为数据输入。在本次设计中我们所控的对象为环境监测的温度。 图4-2 温度传感器电路 4.1.2 LED数码管显示电路 显示器分为数码管和液晶显示,我所采用是的数码管显示,其外形和引脚如下图4-3所示: LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳机极数码管;相反的,就叫共阴的(如下图4-4所示)那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。 基于单片机的温度控制及检测系统采用7段数LED码管显示,这里采用2个4位数码管显示温度,三位显示热水的当前温度,第一位显示十位,第二位显示个位和小数点,第三位显示小数点后第一位。还有用四位显示两位设定温度的最高值和两位最低值。 8位共阳极数码管采用扫描形式工作,其8个数据为接在单片机灌电流驱动能力最大的PO口,STC89C52RC单片机的P0口的每一个I/O都能能吸收8个TTL逻辑器件的输入漏电流,算下来能驱动约10mA。能驱动数码管的8个数据阴极。 数码管驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 ① 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二或十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个C52单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 ② 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效
本文档为【嵌入式温度控制与显示器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_705105
暂无简介~
格式:doc
大小:9MB
软件:Word
页数:80
分类:工学
上传时间:2010-12-30
浏览量:26