基于单片机的智能水温控制系统设计与研究.doc

上传人:laozhun 文档编号:4144928 上传时间:2023-04-07 格式:DOC 页数:36 大小:815KB
返回 下载 相关 举报
基于单片机的智能水温控制系统设计与研究.doc_第1页
第1页 / 共36页
基于单片机的智能水温控制系统设计与研究.doc_第2页
第2页 / 共36页
基于单片机的智能水温控制系统设计与研究.doc_第3页
第3页 / 共36页
基于单片机的智能水温控制系统设计与研究.doc_第4页
第4页 / 共36页
基于单片机的智能水温控制系统设计与研究.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《基于单片机的智能水温控制系统设计与研究.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能水温控制系统设计与研究.doc(36页珍藏版)》请在三一办公上搜索。

1、摘 要本设计以89c52单片机为核心,采用了温度传感器DS18B20,可控硅BT138-600E及PID算法对温度进行控制。该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。本设计实现了水温的智能化控制以及提供完善的人机交互界面及多机通讯接口,系统由前向通道模块(即温度采样模块)、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。本系统的特点在于采用PC机及普通键盘实现了多机通信。该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现

2、水温控制的全过程,并且,控制分为手动和声控两种途径。因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统。关键词:单片机;温度传感器;可控硅;PID算法。 AbstractThis design in which 89c52 single chip computer as the core, the temperature sensor DS18B20 sa

3、mpling chip, silicon controlled BT138-600Eand PID algorithm for temperature control. The water temperature control system is a typical inspection, control type application system, it requires system completion from water temperature detection and signal processing, input, computing to output control

4、 of electric heating power in order to realize the whole process of temperature control. This design realize the intellectualized control temperature and providing perfect man-machine interface and multi-motor communication interface system to channel module by former (i.e. temperature sampling modu

5、le), to control module, system after the main module and keyboard display touch block and so on four modules. This system features of PC and normal keyboard realized the multicomputer communication.The water temperature control system is a typical inspection, control type application system, it requ

6、ires system completion from water temperature detection and signal processing, input, computing to output control of electric heating power in order to realize the whole process of temperature control, and control divided into manual and sonic two kind of way. Therefore, should be with single chip m

7、icrocomputer as the core component a special computer application system, to satisfy the inspection, control application type of function requirement. In addition, for the realization of single chip water use of intelligent control and provide perfect man-machine interface and multi-motor communicat

8、ion interface, which offers the potential function in conventional digital logic path is often difficult to implement or unable to realize. So, in this case using based on singlechip direct numerical control system.Keywords: SCM; temperature sensors; SCR; PID algorithm in very body microphone 目 录第一章

9、 绪 论11.1系统概述11.2本章小结2第二章 系统方案设计32.1 总体方案论证32.2 模块方案论证32.2.1 控制方法论证42.2.2 系统组成论证52.2.3 单片机系统选择52.2.4 温度控制方案论证52.2.5 LCD1602显示电路论证62.3本章小结6第三章 总体设计73.1 总体设计系统图73.2 PID控制的原理和特点73.3 DS18B20温度传感器83.4 LCM1602液晶133.5 AT89C52单片机173.6本章小结20第四章 硬件电路设计与计算214.1 主机控制部分214.2 系统电源电路214.3 温度采样电路214.4 温度控制电路224.5 遥控

10、与数字显示部分224.6系统原理图234.7系统PCB图244.8实物图244.9本章小结25第五章 软件设计265.1 键盘显示程序流程:265.2 主程序流程图:275.3本章小结28第六章 测试方法与测试结果296.1 系统测试仪器:296.2 测试方法:296.3 测试结果296.4本章小结30第七章 设计总结31参考文献32致 谢33第一章 绪 论1.1系统概述单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量

11、,又降低了成本,简化了设计。本文主要介绍单片机在温度控制中的应用。 在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。 在人类的生活环境中,温度扮演着极其重要的角色。温度是工业生产中常见的工艺参

12、数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程,并且,控制分为手动和声控两种途径。因此,应以单片微型计算机为核心组

13、成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统。本设计的任务与要求为一升水由1kw的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。主要性能指标a. 控制精度:温度控制的静态误差3。b. 用十进制数码显示实际水温。c. 温度设定范围:00-90,最小区分度为1。d. 能打印实测水温值。扩展功能a. 具有通信能力,可接受其他数据

14、设备发来的命令,或将结果传送到其他数据设备。b. 采用适当的控制方法实现当设定温度与环境温度突变时,减小系统的调节时间和超调量。c. 温度控制的静态误差1。1.2本章小结本章主要介绍了系统的工作模块,工作方式,基本的性能要求和需要的一些主要器件,通过本章的介绍,大概可以对系统有个初步模型。第二章 系统方案设计2.1 总体方案论证(1)、方案一:此方案是采用传统的模拟控制方法(方案框图如图2-1-1),选用模拟电路,用电位器设定给定值,反馈的温度值与给定的温度值比较后,决定加热或者不加热。器特点是电路简单,易于实现,但是系统所得结果的精度不高并且调节动作频繁,系统静差大,不稳定。系统受环境的影响

15、大,不能实现复杂的控制算法,而且不易实现对系统的控制及对温度的显示,人机交换性能差。数据采集温度预置信号放大单片机LCD显示控制开关图2-1-2模拟控制框图(2)方案二:采用单片机89c52为核心。采用了温度传感器DS18B20采集温度变化信号,数字采样芯片DS18B20将数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全

16、过程。以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统。比较两种方案,方案二明显的改善了方案一的不足及缺点,并具有控制简单、控制温度精度高的特点。因此本设计电路采用方案二。2.2 模块方案论证本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。现将各部分主要元件及电路做以下的论证:2.2.1 控制方法论证由于水温控

17、制系统的控制对象具有热存储能力大,惯性也较大的特点。水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,它对任何信号的响应都会推迟一段时间,使输出与输入之间产生相移。对于这样一些存在大的滞后特性的过渡过程控制,一般来说可以采用以下几种控制方案:(1)输出开关量控制对于惯性较大的过程可以简单地采用输出开关量控制的方法。这种方法通过比较给定值与被控参数的偏差来控制输出的状态:开关或者通断,因此控制过程十分简单,也容易实现。但由于输出控制量只有两种状态,使被控参数在两个方向上变化的速率均为最大,因此容易硬气反馈回路产生振荡,对自动控

18、制系统会产生十分不利的影响,甚至会因为输出开关的频繁动作而不能满足系统对控制精度的要求。因此,这种控制方案一般在大惯性系统对控制精度和动态特性要求不高的情况下采用。(2)比例控制(P控制)比例控制的特点是控制器的输出与偏差成比例,输出量的大小与偏差之间有对应关系。当负荷变化时,抗干扰能力强,过渡时间短,但过程终了存在余差。因此它适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。使用时还应注意经过一段时间后需将累积误差消除。(3)比例积分控制(PI控制)由于比例积分控制的特点是控制器的输出与偏差的积分成比例,积分的作用使得过渡过程结束时无余差,但系统的稳定性降低。虽然加大比

19、例度可以使稳定性提高,但又使过渡时间加长。因此,PI控制适用于滞后较小、负荷变化不大、被控量不允许有余差的控制系统,它是工程上使用最多、应用最广的一种控制方法。(4)比例积分加微分控制(PID控制)比例积分加微分控制的特点是微分的作用使控制器的输出与偏差变化的速度成正比例,它对克服对象的容量滞后有显著的效果。在比例基础上加上微分作用,使稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。 结合本例题设计任务与要求,由于水温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求。但从以上对控制方法

20、的分析来看,PID控制方法最适合本例采用。另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。因此本系统可以采用PID的控制方式,以最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。2.2.2 系统组成论证就控制器本身而言,控制电路可以采用急经典控制理论和常规模拟控制系统实现水温的自动团结。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,采用数字控制、显示、遥控技术,配额后执行器与控制阀构成的计算机控制系统,在过程控制过程中得到越来越广泛的应用。由于本例是一个典型的检

21、测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统(DDC)。2.2.3 单片机系统选择AT89C52单片机是最常用的单片机,是一种低损耗、高性能、CMOS八位微处理器。AT89C52与MCS-51系列的单片机在指令系统和引脚上完全兼容,而且能使

22、系统具有许多MCS-51系列产品没有的功能,功能强、灵活性高而且价格低廉。AT89C52可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于8K,四个I/O口全部提供给拥护。系统运行中需要存放的中间变量较少,可不必再扩充外部RAM。2.2.4 温度控制方案论证方案一:用热敏电阻:通过电阻的变化来获得电压的变化,起价格虽然便宜但是精度不是很高。对于一个精度要求高的系统不宜采用方案二:用DS18B20:遥控输入一个需要控制的温度,把数据传送到AT89C52,AT89C52通过数据比较,PID分析,T0,T1产生PWM波来控制电炉是否继续加热还是停止加热。

23、通过DS18B20温度传感器采集温度,由于DS18B20是数字温度传感器,直接诶输出数字信号。经比较,我们选择方案二(1)传感器的选取目前市场上温度传感器繁多就此我们提出了以下两重选取方案:方案一:选用铂电阻温度传感器,此类温度传感器在各方面特性都比较优秀,但其成本较高。方案二:采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。方案三:选用美国达拉斯公司生产的数字温度传感器DS18B20,此器件具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50-+150,满刻度范围误差为0.3,当电源电压在510V之间,稳定度为1时,误差只有0.01,其各

24、方面特性都满足此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此此次设计选用方案三。(2)CPU模块的选择 方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。方案三:采用89C52单片机,其内部有8KB单元的程序存储器。而且具有三个定时器,正好满足系统多机通信时所用。比较以上三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。2.2.5 LCD1602显示电路论证控制与显示电路是反映电

25、路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。方案一:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案二:采用单片机AT89C52组成控制和扫描系统,这种方案既能很好的控制及显示又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案二。2.3本章小结本章首先对系统的总体方案给予论证,抛弃

26、传统温控办法,选择基于单片机的温控方案。接着对各个模块进行了论证,温控算法(PID),单片机选型,键盘人机交互等等进行了一系列的论证,更加进一步的细化了每一个功能模块,有助于系统的进一步开发设计工作。第三章 总体设计3.1 总体设计系统图本设计以89c52单片机为核心,采用了温度传感器DS18B20,可控硅BT138-600E及PID算法对温度进行控制。该水温控制系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。本设计实现了水温的智能化控制以及提供完善的人机交互界面及多机通讯接口,系统由前向通道模块(即温度采样模块

27、)、后向控制模块、系统主模块及LCD1602显示摸块等四大模块组成。本系统的特点在于采用PC机及遥控实现了多机通信。系统框图如图3-1温 度传感器功率放大电路开关控制电路电炉LCD显示电路遥控控制系统89C52控制系统图3-1 系统框图3.2 PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它 以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依

28、靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或 不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。(1)比例(P)控制 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。(2)积分(I)控制 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有

29、稳态误差的 或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积 分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳 态误差。(3)微分(D)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件

30、,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能 够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在 调节过程中的动态特性。3.3 DS18B20温度传感器DS18B20是DALLAS公司的1-Wire(单总线)数字温度计芯片,温度测量范围从

31、-55至+125。DS18B20使用方便,单片机和DS18B20仅需连接一条数据线,在寄生供电方式下可以不接电源线,DS18B20工作所需的电源可以从数据线获得。与传统的温度测量方式不同,DS18B20的温度转换结果可直接从数据线读出,在-10至+85测量精度可达0.5。鉴于以上优点DS18B20自问世以来就广泛的应用于恒温控制系统,消费类产品,电子温度计以及数字环境监测系统。DS18B20是DALLAS公司生产的1-Wire数字温度传感器,具有3引脚TO92小体积封装形式,如图3-3-1所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输入端,在寄生电源方式时VDD接地;温

32、度测量范围为55125,可编程为9位12位A/D转换精度,分辨率可达0.0625,温度测量结果以16位数字量方式串行输出;其工作电源既可在远端引入,也可从数据口线“窃取”;多个DS18B20可以并联到同一数据线上,CPU只需一根端口线就能与多个S18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。图3-3-1 DS18B20外观图图 3-3-2 DS18B20内部结构图DS18B20内部结构如图3-3-2所示,主要由五部分组成:电源控制单元,若VDD接地DS18B20工作在寄生供电方式;1-Wire接口单元,包括1-Wi

33、re接口电路和64位序列号,这64位序列号是生产的时候光刻在DS18B20的ROM中,并且唯一不重复,在有多个DS18B20共用同一条数据线的系统中CPU就是通过这个64位的序列号来选择需要访问的芯片;暂存器单元,几乎DS18B20所有的操作都和暂存器有关,包括测量到的温度值,用于报警的温度上限、下限以及温度测量的精度等,后面会对暂存器做详细的说明;EEPROM单元,包括温度转换精度配置字、报警温度上限和报警温度下限;温度传感器单元,温度测量完成后会把结果存到暂存器。如图3-3-3所示,DS18B20存储空间由EEPROM和暂存器两部分构成。EEPROM大小为3个字节,分别存放报警温度上限、报

34、警温度下限以及配置字这3个参数。在不需要温度超限报警的应用中,EEPROM的报警温度上限、下限这两个字节可以根据需要自定义使用。图3-3-3 DS18B20暂存器结构暂存器的Byte0和Byte1两字节用于存放温度测量结果,Byte0存放低8位,Byte1存放高8位,上电后缺省值为0x0550(85),这2个字节只能进行读操作。暂存器的Byte2、Byte3、Byte4与EEPROM的三个字节一一对应,每次上电后DS18B20会自动从EEPROM中读出这3个参数,并写入暂存器的Byte2、Byte3、Byte4,因此没必要每次上电后都对DS18B20进行配置操作。Byte5、Byte6、Byt

35、e7未用。Byte8作为CRC校验寄存器,可以用于查验总线读写正确与否。DS18B20的命令序列及操作时序1.命令序列典型的单总线命令序列如下:第一步:初始化;第二步:ROM命令;第三步:功能命令。每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是,这个准则对于搜索ROM命令和报警搜索命令列外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。(1)初始化基于单总线上的所有传输过程都是以初始化开始的,初始化过程中由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备,且准备就绪。复位和应答脉冲详见

36、单总线时序部分。(2)ROM命令ROM命令与各个从机设备的唯一64位ROM代码相关,在多从机系统中可指定操作某个从机设备,可以检测和识别单总线上从机设备的数量和类型。在有多个从机设备的系统中64位ROM代码非常重要。搜索ROM0XF0该命令可以找出总线上所有从机设备,获得所有从设备的64位ROM代码。单总线的搜索命令时序非常复杂,限于篇幅读者可以查阅相关资料。读ROM0X33如果总线上只有一个从机设备,主机可以通过指令读出从机的64位ROM代码,而无须执行搜索ROM命令;如果在多从机系统中使用该指令,总线上会出现数据冲突。匹配ROM0X55匹配ROM命令跟随64位ROM代码,从而允许主机访问多

37、从机系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令;其它设备将处于等待复位脉冲状态。忽略ROM0XCC主机能够使用该指令同时访问总线上所有从机设备,无须发出任何ROM代码信息。例如总线挂机多个DS18B20时,该指令后跟随温度转换命令就可以让所有的DS18B20开始转换温度,这样大大节省了主机时间,需要注意该指令后如果跟随其他功能命令,总线上会发生数据冲突。如果总线上只有一个从设备时,该指令使用不受限制。报警搜索0XEC仅有少数1-wire支持该指令,报警搜索命令类似搜索ROM命令,只有设置了报警标志的从器件才会响应该报警搜索命令。(3)功能命令主

38、机发出ROM指令以访问某个指定DS18B20,接着就可以发送DS18B20支持的某功能命令。这些命令允许主机写入或读出DS18B20暂存器、启动温度转换以及判断从机的供电方式,DS18B20的功能命令如下。转换温度0X44发送完ROM命令后,DS18B20接收到主机发出的该命令就开始温度转换,转换需要的时间和设置有关。读暂存器0XBE该指令用于读全部暂存器内容,包括CRC字节,该命令发送完成后,DS18B20将传输包含温度转换结果的9个字节到主机。写暂存器0X4E主机写入该命令后,紧接着写入温度上限、温度下限和配置字这3个字节给DS18B20。复制暂存器0X48该命令将DS18B20暂存器中的

39、温度上限、温度下限和配置字复制到EEPROM中。回读EEPROM0XB8将温度上限、温度下限和配置字从EEPROM读出至暂存器中,通常上电后执行该命令。2.读写时序(1)初始化时序主机通过拉低1-wire总线至少480us,以产生复位脉冲。接着,主机释放总线,等待从机返回应答脉冲。当总线被释放后,上拉电阻会把1-wire总线拉高。从机检测到总线的上升沿后,延时15-60us,接着通过拉低总线60-240us,以产生应答脉冲。主机检测到总线拉低,初始化完成。图 3-3-4 初始化时序(2)读/写时隙写时隙1-wire总线的写时隙至少需要60us,两次独立的写时隙之间至少需要1us的恢复时间。写1

40、时主机通过拉低总线开始一个写时隙,总线拉低后主机必须在15us内释放总线,由上拉电阻将总线拉至高电平;写0时主机拉低总线,并保持60us。从机在写时隙开始后15-60us期间采样总线电平状态。采样为高电平则1被写入器件;如果为低电平则0被写入器件。读时隙1-wire器件仅在主机发出读时隙时才向主机传输数据,所以在主机发出读数据命令后必须马上产生读时隙。所有的读时隙至少需要60us,且两次独立的读时隙之间至少需要1us的恢复时间。主机拉低总线至少1us后释放总线,读时隙开始。从机在检测到读时隙开始后才向总线发送0和1,若发送1,从机置总线为高电平,保持15us;若发送0,则拉低总线,保持15us

41、。主机在读时隙开始后应在15us内采样总线状态。图 3-3-5 DS18B20读写时序3.4 LCM1602液晶(1)LCM1602外观及功能LCM1602是最常见的点阵字符型液晶显示模块,由液晶板、控制器HD44780、驱动器HD44100及若干电阻电容组成。其液晶板上分2行,每行排列着16个57的点阵,专门用于显示字母、数字以及符号。它可与8位或4位微处理器连接;内建CGROM可提供160种工业标准字符,包括全部大小写字母、阿拉伯数字、日文假名以及32个特殊字符或符号的显示;内建CGRAM可根据用户需要,由用户自行设计定义8个字符或符号;+5V单电源供电,无需外接复位电路。图3-4-1 L

42、CM1602图3-4-1是带背光的LCM1602的实物图,左起为1脚,各引脚功能如下:1脚:VSS为模块电源地,接地;2脚:VDD为模块电源正,接+5V;3脚:VEE为对比度调节引脚,接电源正时对比度最差,接电源地时对比度最高,通常接一个10K电位器到地调节显示对比度;4脚:RS为寄存器选择位,输入脚,“1”数据寄存器,“0”命令寄存器;5脚:RW为读写操作选择位,输入脚,“1”读操作,“0”写操作;6脚:E为使能信号,输入脚,读操作时上升沿有效,写操作时下降沿有效;714脚:DB0DB7双向数据线,DB7还做忙闲标志位使用,4线工作方式下仅DB4DB7有效;15脚:BL1背光电源正,接+5V

43、;16脚:BL2背光电源地,接地。LCM1602读写操作要正确操作LCM1602,就必须满足它的时序要求,内嵌HD44780控制器的液晶显示模块的读、写操作时序如图3-4-2所示,图中各时间值见表12-1。图3-4-2 读、写操作时序图表 3- 4序号描述最小值最大值单位t1地址建立时间140nst2使能信号上升/下降时间25nst3使能信号周期1000nst4有效数据延迟时间320nst5使能信号高电平宽度450nst6数据保持时间10ns从时序图中可以获得丰富的信息,依据这些信息可以画出读、写操作的流程图从而编写程序代码。在读图的过程中要注意以下几个关键要素:一是判断各个信号对于单片机而言

44、是输出还是输入;二是读图的时候从左往右,遇见有信号发生变化就作为一段;三是要找到信号发生变化的原因或功能。图3-4-2底部标出了读写时序图中信号发生变化时的节点,下面以读时序为例归纳出读操作的流程:节点1:RS、RW变化,输出信号,读操作开始;节点2:E变化,输出信号,读操作使能信号,通知LCM1602按要求输出;节点3:DB0-DB7变化,输入信号,节点2中E的上升沿引起的变化,两节点时间间隔为t4,此时单片机可以从DB0-DB7读回“有效数据”;节点4:E变化,输出信号,单片机读完“有效数据”后通知LCM1602“有效数据”已读取;节点5:对于读操作该节点有可能不存在;节点6:DB0-DB

45、7变化,输入信号,节点4中E的下降沿引起的变化;节点7:下一次读写操作。读操作流程图如图12-8所示,写操作流程就不再赘述。流程图(2)LCM1602指令表12-2所示为LCM1602的指令集,其实该指令集适合于所有内含HD44780的液晶显示模块。表 12- 1 LCM1602指令集控制信号指令代码功能RSRWD7D6D5D4D3D2D1D00000000001清屏000000001*软复位00000001I/DS内部方式设置0000001DCB显示开关控制000001S/CR/L*位移控制00001DLNF*系统方式设置0001ACGCGRAM地址设置001ADD显示地址设置01BFAC忙状态检查10写数据MCU-LCD11读数据LCD-MCU在介绍LCM1602的指令之前需要先了解以下几个概念:CGROM、CGRAM、DDRAM和AC。CGROM是只读字符发生器,存放192个字符的点阵数据,每个字符都有一个唯一的代码,在0x200x7f区间代码值就是该字符的ASCII码,图12-9为LCM1602的内置字符集。CGRAM是自定义字符发生器,可用于存放用户自定义字符的点阵,只有64个字节最多能定义8个字符,这8个字符也有对应的代码,0x00对应第一个自定义字符,0x07对应最后一个自定义字符,0x08

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号