多路温度采集系统设计与实现_第1页
多路温度采集系统设计与实现_第2页
多路温度采集系统设计与实现_第3页
多路温度采集系统设计与实现_第4页
多路温度采集系统设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、 学校代码:11517 学 号:201150712117 HENAN INSTITUTE OF ENGINEERING 毕业设计(论文)题 目 多路温度采集系统设计与实现 学生姓名 高宇照 专业班级 电气工程及其自动化1121 学 号 201150712117 系 (部) 电气信息工程学院 指导教师(职称) 张 秋 慧(讲师) 完成时间 2012 年 5 月13日 目 录摘 要IABSTRACTII1 前 言11.1 背景介绍11.2 研究设计意义及目的11.3 发展情况21.4 本设计主要内容32 设计任务及方案论证42.1 设计任务42.2 设计方案的论证42.3系统框图设计63 多路温度

2、采集系统硬件电路设计73.1系统模块及模块介绍73.1.1 系统整体模块控制73.1.2 模块介绍及原理73.2 系统基本硬件组成设计143.2.1微机芯片工作电路设计143.2.2 温度采集电路设计153.2.3 LCD1602的显示设计173.2.4 报警电路的设计183.2.5 电源部分的设计193.3 系统设计的电路结构图214 系统的软件设计224.1 主程序设计224.2 子程序设计235 系统调试与性能分析275.1 系统调试275.2 性能分析29结论31致 谢32参考文献33附录34多路温度采集系统设计与实现摘 要现代化的工业生产中,在很多的场合都需要对各类温度进行检测和控制

3、,采用单片机来对温度进行控制不仅有控制方便、组态简单以及灵活性大等特点而且还可以提高被控温度的技术指标从而能够大大提高产品的质量和数量等作用。温度是实际生产中比较重要的参数,因此对温度控制系统进行详细的研究很有意义。本多路温度采集系统由CPU、温度的采集模块、显示模块、报警控制模块等组成。它利用单片机STC89C52做核心的控制及数据处理器、温度传感器DS18B20做温度检测器、LCD液晶显示器做为系统的输出设备。本系统采用的硬件电路相对简单,成本不高,测量范围大,测温精度高,温度数据的显示比较直观,使用起来会比较方便。关键词 单片机/温度传感器/多路温度/温度采集MULTICHANNEL T

4、EMPRATURE GATHERING SYSTEM BASED ON ATS89C52ABSTRACTIn the modern industrial production, people need to all kinds of heating furnace and boiler heat treatment furnace temperature of the reactor inspection and control by single chip microcomputer to control temperature in has not only convenient cont

5、rol configuration simple and flexible could increase the advantages and accused of technical indexes which can temperature greatly improve the quality of the products and the quantity, the temperature is industrial production in common is accused of parameter, typical of the temperature control syst

6、em with a wide range of research significance. This digital multichannel temperature gathering system by the temperature controller, acquisition circuit and temperature display circuit, alarm control circuit and control circuit of keyboard input. It uses single chip STC89C52 do control and data proc

7、essor, intelligent temperature sensor DS18B20 do temperature detector, LCD do temperature display output device. Hardware circuit is simple, with low cost and temperature measuring range, high accuracy, readings show intuitive and easy to use. KEYWORDSMicrocontroller,Temperature Sensor,Multi-channel

8、 Temperatures,Temperature Data CollectionIII多路温度采集系统设计与实现1 前 言1.1 背景介绍温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。随着现代信息技术的飞速发展,温度测量控制系统开始在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。本次设计所采用的控制芯片为STC89C52,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间或是厂房温度的控制和调节功能。1

9、.2 研究设计意义及目的在单片机的多路温度采集系统中有多个模块和电路:单片机模块、温度采集模块、LCD液晶显示模块和报警电路,电路各部分进行有机组合完成基础的电路硬件模块。主要是用C语言进行必要程序的编写,结合Keil软件进行程序的运行调试,用proteus等仿真软件进行电路仿真,再利用protel软件实现电路的PCB电路图,最后经过相应的工艺流程做成实物产品。现在单片机在实际的生产中应用非常广泛,几乎可以涉及到生活的每个角落,尤其是为电子和计算机发展提供了重要的技术实践。近年来多点数字化测量技术的发展也使温度检测领域的技术实现了快速、可靠、低成本、数字化与网络化的发展。本文主要是提出了一种结

10、构简单、能耗较低、使用方便的系统设计解决方案。本方案采用的是新型的单线智能化温度传感器DS18B20,该器件能够灵敏的采集到温度的数据,并且自身能够将模拟信号转换成数字信号,然后以数字形式直接输出被测点温度值到CPU,DS18B20优点较多有:误差小、分辨率高、抗干扰能力强、能远程传输数据等,是新一代温度测控系统研发和开发性价比较高的核心器件。在二十一世纪,科技高速发展,电子技术、微机技术的应用也是空前广泛,随着科学技术和工业生产的不断飞跃式发展,对多种的设备和运行过程进行温度测量的需求也日益突出。因此温度测量在生产生活中也越来越频繁地出现,同时温度的控制和设计也成为了常见的字眼,这与它们在各

11、行各业中的重要性日渐突出是分不开的。本方案所设计的温度采集系统可以随时的采集多个地方多个监测点的温度,同时还可以根据环境的要求设置温度区间,并对各点温度进行实时地判断,在温度不在设定范围时及时启动相应的报警电路,为进一步的人为或是上位机对温度的情况做出调节和反应1.3 发展情况随着人们生活水平的不断提高,温度的控制在现实生活中引起了高度重视,它是工农业和交通运输业的重要参数,同时也是影响其他领域发展的因数之一。随着现代工业的逐步发展,在工业生产中,温度、压力、流量、液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量,它尤其应用在冶金工业、化工工业、电力工业、机械加工和食品加工等领域

12、,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制,尽量按照人们的要求去变化,通过计算机控制相应的执行部件,可以避免温度过高或过低,减少带来的经济损失,使人身、财产安全得到很好的保证。在国民经济各部门以及人们的日常生活中,通常对多路温度信息进行采集。常用的测温元件有热电阻、热敏电阻和热电偶等。一般情况下,这些热电偶会利用物理现象进行分类,常用如下分类:1、根据体积膨胀的原理有气体温度计和液体压力温度计,气体温度计的测量范围一般是-2501000,液体压力温度计测量范围为-200350;2、根据接触热电动势原理可以分为钨铼热电偶和铂铑热电偶;3、根据电阻的变化原理可以分为铂热电阻和热敏电

13、阻传感器;4、根据PN结结电压可以设计出硅半导体二极管进行温度传感;5、根据温度-颜色的物理特性可以设计出示温涂料和液晶等不同传感器件;6、根据光辐射和热辐射的原理又可以设计出红外辐射温度传感器。而这些元件通常需要连接放大和模/数转换电路,电路结构相对复杂,并且在多路情况下,很难实现各路信号的同时采集1。实际上,随着传感器技术和软件的不断发展,各种温度传感器的性能实现多元化,再利用计算机、单片机、CPLD/FPGA和 PLC等辅助工具或元器件,控制多路温度在实际应用中是非常广泛的。因此,从结构、性能、参数、设计思想等方面权衡把握,才能更好的设计出满足使用性能和要求的控制电路。1.4 本设计主要

14、内容本次设计的目的在于学习和实际应用基于52单片机的多路温度采集控制系统设计的基本流程。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动化的核心就是单片机,它在日常生产生活领域中的用途非常地广泛。目前,一个学习与应用单片机的高潮在全社会大规模兴起。学习单片机的最有效的方法就是理论与实践并重。本设计采用单片机作为数据处理与控制单元,也就是平时所说的主控制器件CPU是本次设计的核心器件,为了进行数据处理,单片机会控制本设计的数字温度传感器DS18B20。然后温度传感器自身会对外界的温度变化而产生相应的变化的模拟电信号,而后温度传感器就会将模拟的电信号变化转换成16位的数字信

15、号,并且暂存起来。传感器的操作是有严格的时序约定的,在CPU向传感器发出通信并且时序应答成功后,CPU即可对暂存器中的温度数据进行采集。由于本设计是四路温度采集,那么也就会有四个温度传感器在使用,而每个DS18B20温度传感器都会有一个固定的序列号。所以,在使用单总线与传感器通信的时候一个必不可少的步骤就是温度传感器序列号的判定,这一个过程多余单总线来说就是非常重要也是非常关键的。然后就是把温度传感器中的温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,如果数据在设定正常值范围,那么就会进行正常的温度显示,如果温度在设定范围以外就会立即发出控制信息改变报警和控制执行模块的状

16、态。本设计中温度的报警模块是声光并用的报警,在温度不再设定范围时会使蜂鸣器和放光二极管进行相应的指示,同时将当前温度信息发送到LCD进行显示。而显示模块的LCD1602会一直进行实时的温度显示。经过实际的仿真已经证明本系统可以实现多路温度信号采集与显示,可以使用软件来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。2 设计任务及方案论证2.1 设计任务系统主要技术指标有:(1)3路到4路温度采集电路。(2)采集测温范围为10+100 。(3)温度精度,误差在0.1 以内。(4)显示模块,采用LCD1602液晶显示。2.2 设计方案的论证多路温度控制系统的研

17、究现状目前,多路温度控制的方法有基于计算机的温度控制系统、基于单片机的温度控制系统、基于CPLD/FPGA的温度控制系统、基于DSP控制的多路温度采集系统和基于PLC的温度控制系统。PC机对多路温度控制系统,具有电路简单,可靠性好,通用性强的特点,广泛应用于乡镇粮站中,对粮仓温度的自动控制。用VB语言实现上位机数据传送,可方便地控制通信对象的选择,具有较大的灵活性。与一般控制系统相同,计算机控制系统可以是闭环的,这时计算机要不断采集被控对象的各种状态信息,按照一定的控制策略处理后,输出的控制信息直接影响被控对象。它也可以是开环的,这有两种方式:一种是计算机只按时间顺序或某种给定的规则影响被控对

18、象;另一种是计算机将来自被控对象的信息处理后,只向操作人员提供操作指导信息,然后由人工去影响被控对象。计算机控制系统由控制部分和被控对象组成,其控制部分包括硬件部分和软件部分,这不同于模拟控制器构成的系统只由硬件组成。计算机控制系统软件包括系统软件和应用软件。计算机控制系统通常具有精度高、速度快、存储容量大和有逻辑判断功能等特点,因此可以实现高级复杂的控制方法,获得快速精密的控制效果1。基于FPGA的高精度多路温度采集器,无需计算机干涉,可以采集多路温度信号,对计算机的服务定时约束非常松弛。采集器内置了串行接口,可以通过电平转换芯片和计算机的串行口直接连接,电路结构小型紧凑,系统工作稳定可靠。

19、但是不能更改程序的电路设计1。基于DSP控制的多路温度采集系统,是以数字式温度传感器DS18B20实现多路温度采集的系统。系统以DSP作为温度采集和控制核心,结合DSP软件设计,能够实现多路温度信号的同时采集。该系统还带有RS232通用串行接口,可实现与PC机的实时通信。整个设计电路具有结构简单、数据传输方便、多路温度采集所用时间短和实时性好等优点。基于PLC的温度控制系统。主要用在工业生产方面,适用于高效率的工作模式。PLC功能的扩充是在控制器中扩充了PID控制功能,因此在逻辑控制与PID控制的混合应用场所中,采用PLC控制较为合理。采用PLC控制不仅方便、简单、灵活性好,可以提高被测温度的

20、技术指标,还能够提高产品的质量和数量。但是在温度测量时必须采用PLC恒温控制,同时PID算法在PLC中的实现和PID参数都将影响系统控制性能,这就对多路温度精确地控制增加了难度。由于在生产现场对温度的影响是多方面的,使得在这种环境下对温度的控制过程会比较复杂,在传统的加热炉电气控制系统中,广泛采用的是继电器装置控制技术,而硬件采用的是固定接线的方法来实现逻辑控制的,这就使得控制系统的体积会增大不少,所消耗的电能也会增多,效率较低并且容易发生故障,会严重影响正常的工业生产。但是随着PLC技术的发展,基于PLC控制技术会取代传统的方法,而PLC本身的性能可以使温度控制系统有许多好处,可以使控制变得

21、更加高效、经济、稳定且维护方便1。基于单片机的多路温度控制系统:这种系统采用的是温度传感器DS18B20进行采集温度数据的,液晶屏LCD1602来显示温度数据,存储器存主要用来储温度上下限的设定值,通过按键来设置温度的上下限。此外,由于单片机自身的ROM较小,因此在系统设计中必须外设EPROM电路和相应的扩展电路,因而在这类项目中所运用的方案在硬件上必须能够完成电路的设计和组装调试;在软件软件上能够完成相应软件的编写、调试、加载以及脱机运行。现在市面上单片机芯片的价格相对都不高,并且其外围电路所需的配件价格也不高,所以该系统整体设计起来的成本会比较低,有利于系统设计成本上面投资的节约。同时还可

22、以根据需要对外部的存储容量进行相应的扩展,设计也可以相对比较灵活一些。2.3系统框图设计外部中断、复位DS18B20采集数据信息CPULCD1602显示相应的光,声报警图 2-1 单片机温度控制系统原理图通过系统框图可以清楚地了解到系统的工作原理,通过DS18B20采集温度并与CPU进行实时通信。18B20能够对温度的变化进行随时的检测,并自动转换成16位的二进制编码,18B20会将数码暂存起来,然后等待CPU的读取,上位机按照18B20严格的时序操作规则和18B20进行通信,并对其进行数据读取的操作。同时在系统上电的时候,CPU启动LCD1602,进行相应的初始化和固化格式的显示,由于时间都

23、是微秒级的,所以在上电一开始就会进行相应的数据显示。对于1602的操作有固定的流程,而只需做的就是将相关的显示程序进行修改和编写即可,这也方便了系统的设计与修改。系统设计中还有相应的报警模块的设计,报警电路是在温度异常于正常温度的时候进行报警指示的电路,这部分电路主要是根据报警的明显、可以根据设计经验进行、并且报警方式多元化的特点进行设计的。3 多路温度采集系统硬件电路设计3.1系统模块及模块介绍3.1.1 系统整体模块控制系统的主控部分用的是STC89C52单片机的应用控制系统,温度采集部分是用DS18B20数字温度传感器对监测点的温度进行检测并自动生成数字信号,报警电路部分是用两个不同的发

24、光二极管和蜂鸣设备组合作为报警电路,通过单片机STC89C52的控制进行温度数据的实时处理,从而实现实时测量温度的目的。CPU是控制设计的核心关键部分,在本次设计中,综合考虑各项指标的需求最终选择了STC89C52作为主芯片。液晶显示部分的选择是根据实际的需求和市场提供量以及性价比等综合方面进行了选择,确定LCD1602液晶显示器为温度显示器件。单片机的最小系统中的各个部分都是不可缺少的,本次设计还是按照单片机的一般最小系统更具CPU型号确定晶振频率,复位电路等最小系统的控制电路。报警电路采用红色发光二极管闪烁的方式,能起到很好的警示作用。3.1.2 模块介绍及原理(1) 主控器件单片机的介绍

25、要学习单片机,首先要对它的部件组成有一个整体概念。所谓的单片机就是一块集成电路芯片具有一台微型计算机的功能,通常会被称为单片微型计算机,简称单片机。1980年Intel公司在MCS-48单片机的基础之上推出了MCS-51单片机。这种系列的单片机主要包括了3个基本型:8031、8052、8752,还包括3个CMOS工艺的低功耗型:80C31、80C51、87C51。由于MCS-51单片机技术先进、性能稳定,同时世界上许多大的半导体公司也在根据Intel公司的技术进行51单片机或其改进型的单片机的生产。其中8051单片机的片内程序存储器是掩膜型的,8031单片机无片内程序行储器,875l单片机的片

26、内程序存储器是EPROM型的,AT89S52单片机片内程序存储器是FLASH型的2。AT89S52系列单片机是HMOS工艺的,其引脚结构如图3-1所示。图3-1 单片机引脚图2 8位CPU AT89S52系列单片机都是8位机,采用片外三总线控制,即数据总线,地址总线和控制总线,其中数据线是8位的,地址总线是16位的。 AT89S52单片机有4个可编程的I/O口线,即4个并行接口分别是P0、P1、P2、P3,其中P1口是唯一仅有单功能的I/O口,而另外的三个端口都是具有双重公用的I/O口。 AT89S52系列单片机有256KB片内RAM,8KB片内ROM。外部存储器可以寻址ROM空间为64KB,

27、RAM空间为64KB。 AT89S52系列单片机具有三个16位的定时/计数器,可以通过对相应的控制寄存器RMOD中的M0、M1位的设置的不同实现定时/计数器的4种工作模式。 52单片机有5个中断源,分别是外部中断0、外部中断1、T0溢出中断、T1溢出中断和串口中断。为两个优先级,每个中断源的优先级是可以编程的。 52单片机的内部还有许多其他的寄存器,有22个专用寄存器,其中有21个专用寄存器是可寻址的,在这里面又有11个客位寻址。(2).温度采集芯片DS18B20的简介本次设计中采用的数字式温度传感器采用的是Dallas半导体公司的数字化温度传感器DS18B20芯片。该芯片有3引脚TO-92小

28、体积封装形式,温度测量范围为-55+125,可编程为912位A/D转换精度,最高测量分辨率为00625,被测温度以16位补码方式串行输出,其工作电源既可以外端专门供给也可以附设在电路电源供电中。传感器支持“一线总线”接口,CPU只需要一根端口线就能和多个DS18B20通信,可方便地进行多点温度测量,分辨率设定及用户设定的报警温度存储在EPROM中,掉电后依然保存3。该产品支持35.5V的电压范围,因其体积小使系统,设计更灵活、方便。管脚排列如下图3-2所示:图3-2 DS8B20管脚3(其中DQ:数字信号输入输出端;GND:电源地;VDD:外接供电电源输入端。)DS18B20的内部主要有4个组

29、成部分:64位的只读ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。如下图所示。64位ROM和单总线接口存储器与控制逻辑高速缓存温度传感器高温触发器低温触发器配置寄存器8位CRC发生器电源检测图3-3 DS18B20内部结构图该器件中ROM的64位序列号是出厂前就已经被光刻好的,它可以看作DS18B20的地址序列码。64位序列号的排列是开始8位编号(0x28)是产品类型标志,中间的48位编号是该DS18B20自身的序列号,最后的8位数据是前面的56位编号的循环冗余校验码。每个器件的地址序列号是不相同的,这样一来可以方便地实现1根总线上挂接多个不同的DS18B20却依然能够准确

30、地区分出来自不同温度监测点的温度数据的目的4。其内部存储器包括9B高速暂存RAM和1B非易失性的可电擦除的EPROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,其具体的温度测量值分辨率设定表如表3-1所示。表3-1 DS18B20温度测量值分辨率设定表4R1R0分辨率/b温度最大转换时间/ms测量精度00993.750.50110187.50.2510113750.12511127500.0625温度测量之后就会自动进行温度转换,其过程是这样的:根据其通信协议, DS18B20完成温度转换必须经过的主要步骤:每一次读写数据之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送R

31、AM指令,这样才能对DS18B20进行预定的操作。因为DS18B20采用的是单线进行控制与读取数据,所以对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。在这期间的每一个步骤的时序都是将主机作为主设备,单总线期间作为从设备。每一次所进行的数据和命令的传输都会是熊主机主动启动写时序开始,如若需要DS18B20回送相关数据,在进行写命令以后,CPU需启动读指令完成数据接收,而这些命令和数据的传输都是低位在前高位在后的传输方式。在DS18B20的操作时序中主要可以分为读时序、写时序初和始化时序。在进行复位初始化时,是要求将CPU的数据线放置低电平500us,然后恢复,18B2

32、0接受到处理信号后会继续等待1560us左右的时间,然后再发出60240us的低电平脉冲信号。CPU收到此回应信号后表示复位成功。在进行读时序时,时序要分为读“1”和“0”时序两个不同的过程。但是要求基本上没差别,主要是由CPU将单总线的电平拉低并且要在15us之内将电平恢复到高电平,把数据输送到单总线上去。这样的话18B20每完成一个读时序至少得需要60us才可以。相对应读时序是分为两个过程,那么写时序也是需要分为两个过程的即读“1”和“0”两个过程。但是不同的是,这两个写时序的过程要求是不一样的。当要进行写“1”操作时,单总线的电平先被CPU拉低,然后在15us以内将其恢复。而要进行写“0

33、”操作时,单总线的电平要被CPU至少拉低60us,这样来保证18B20能够在1545us以内正确地对CPU端口的“0”电平进行采样4。当DS18B20在外部电源供电方式的时候,电源是由VDD电源引脚供电,这个期间I/O线不用将电平抬高,电源电流会十分的充足能满足需要,并且可以保证温度传感器内部的转换精度,如果采用单总线的方式的时候可以在数据总线上挂接多个DS18B20传感器,组成多点测温系统3。在外部供电方式下需要注意的是DS18B20的GND引脚必须接地,不能悬空,否则不能很好地转换温度,读取的温度数据不变总是85。DS18B20的通信协议对DS18B20进行操作必须要按照其通讯协议,即主机

34、(CPU)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行初始化操作,初始化成功后发送一条存储器操作命令(ROM指令),最后处理数据(发送RAM指令),这样才能对DS18B20进行预定的操作5。(3).显示器件LCD1602液晶的简介1602液晶显示器常用的有笔端型、字符型和点阵型,而我们采用的字符型1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块,在电极图设计上同若干个58或511点阵组成,每个点阵都可以显示一个字符。每位之间和每行之间的间隔起到了字符间距和行间距的作用,也因此1602不能用来显示图形。字符型1602通常有14或16个引脚。在

35、LCD1602液晶显示器内部的字符产生存储器(CGROM)中已经存储了大量的点阵字符图形,其中的每一个图形字符都会对应着一个固定的代码,而这些字型是只可以读取不可以写入的并且这些字型要经过内部电路的转换才会传到显示器上,比如字母“B”的代码是01000010B(42H),要显示“B”字符,就要将B的ASCII码42H写入到DDRAM中,同时电路到CGROM中将B的字型点阵数据找出来显示在LCD液晶上,我们就能看到字母“B”。需要清楚的是LCD1602只能够识别ASCII码,所以在我们进行LCD质量性能检验试验时也可以用ASCII码直接赋值,还可以在单片机编程中直接用字符型常量或变量对其进行赋值

36、,如D6。LCD液晶模块的内部结构可以看成是由一个指令寄存器和一个数据寄存器组成,由RS的引脚来控制寄存器。在对数据寄存器和指令寄存器的存取操作中均需要检查LCD内部的BF位(忙碌标志位),根据此标志位来知道LCD内部是否正在工作运行,如果BF=1表示是LCM内部正在运行,那么是不允许LCD接受任何的指令命令的写入的。LCD1602内部有DR数据寄存器,该寄存器的负责存储MCU要写给CGRAM或DDRAM的数据,或存储MCU要从CGRAM或DDRAM读出的数据。所以DR寄存器可以看做是一个数据缓冲区,并且它是被RS、R/W及E这3个引脚来控制的。当RS及R/W引脚信号为1的时候,E引脚步信号由

37、1变为0时,那么LCM会将DR寄存器内的数据由DB0DB7向外输出,以供MCU读取;当RS引脚信号为高电平1,同时R/W引脚信号为0以及E引脚信号由1变为0时,就会把在DB0DB7引脚上的数据存入DR寄存器中6。具体的一些数据对应的码表例如下图3-4是LCD1602的16进制ASCII码地址表:图3-4 1602的16进制ASCII码表7以下是LCD1602液晶的读、写时序操作图: LCD1602液晶显示器的写操作时序就如下图中所示:图3-5 LCD1602液晶模块写操作时序图7 1602液晶模块的读操作时序就如下图所示:图3-6 LCD1602液晶模块读操作时序图7(4)报警模块根据系统的要

38、求再设计系统的过程中,考虑到实际应用的方便,从而使得人们能够及时的得知温度的变化,从而可以采取相应的措施。这在实验中的作用不是那么明显,但是在实际的生产生活中却是十分重要的一点,因为能够及时的报警动作可以使得人们采取控制或者应急行动,从而能减少或避免在实际生产和生活中给人们带来的不便。 在系统报警模块的设计中,所采用的声音报警设备是蜂鸣器,光显示设备是发光二极管,当四个DS18B20所采集的温度中有一个不在设定的温度范围的时候就会进行温度报警,蜂鸣器发出蜂鸣声,发光二极管点亮发光。当异常温度消失的时候,由于本设计是实时的显示,所以可以使得报警也立即解除。这种设计的方法有效的解决了不能报警或者由

39、于干扰等情况引起的误报警行动。从而达到了更加准确地显示和报警的作用。3.2 系统基本硬件组成设计按照设计要求和单片机的工作特性,总体的系统设计硬件电路应该包含以下基本部分:最小系统、温度采集、液晶显示、报警控制。3.2.1微机芯片工作电路设计AT89C52单片机要正常工作,就需要至少连接起单片机的最小系统。最小系统中包括电源、接地以及最基本的电路晶振电路、访问存储器控制端和复位电路。(1)晶振电路单片机的时钟信号通常有内外两种时钟产生方式。内部时钟方式是利用单片机内部的振荡电路产生时钟信号。外部时钟方式是把外部已有的时钟信号引入到单片机内。本设计采用内部时钟方式。晶振电路的具体是在52单片机的

40、XTAL1(19)和XTAL2(18)引脚外接石英晶体(简称晶振)和电容,作为单片机内部振荡电路的负载,构成自激振荡电路,可在单片机内部产生稳定的时钟脉冲信号。电容C1和C2可以起到稳定振荡频率,并使快速起振的作用。单片机中常用的晶振的频率有11.0592MHz、12MHz等,根据再设计中的情况和为了计算的方便,在本次设计的电路中选用晶振频率为12MHz,电容选用C1=C2=30Pf2。晶振是影响单片机工作性能的一个很重要的一个因素,因此振荡器的品质因素应该认真考虑,而对于振荡电路来说,振荡电路产生的震荡脉冲并不能直接使用,而是经过分频以后才能为系统所用。时钟电路产生的震荡脉冲,经过触发器进行

41、二分频易购才可以作为单片机的时钟脉冲信号。在时钟信号的基础上才会有合适的振荡周期、时钟周期、机器周期和指令周期的合适匹配。(2)复位电路复位电路是单片机非常重要必不可少的一个最小系统的组成电路。复位即是使单片机工作处于某种设定的初始化状态。单片机工作从复位状态开始。在单片机RST引脚设置高电平并持续2个机器周期以上的时间,CPU就会执行复位操作。通常情况下复位操作有两种基本方式:一种是上电复位,另一种是上电与按键均有效的复位。本次设计采用的是上电与按键均有效的复位电路。当给RST引脚持续的高电平时,就会对电容C3充电,随着电容垫量的增加,RST引脚的高电平将逐渐下降。若该引脚的高电平能保持2个

42、机器周期以上的时间,就可以成功实现对CPU的复位操作。复位电路元件的参数选择为C3=10F,R1=10K6。(3)单片机最小系统控制电路最小系统的主要组成如下图所示:图3-7 单片机最小系统控制电路23.2.2 温度采集电路设计根据DS18B20的特性进行温度采集电路的设计,温度采集电路虽然简单,但是却是本系统设计的关键部分,另外,DS18B20的操作是对时序的控制是非常严格的,所以在系统设计和控制上也要有严格的控制,系统的性能好坏直接由本部分电路情况而定8。温度采集模块的电路结构如图3-8所示。按照本次设计的方案要求设定本设计能够进行4路温度的数据采集和监控,4只智能温度传感器DS18B20

43、的信号通信端采用的是单总线的连接方式,即连接每一个DS18B20的通信端口以后以总线的方式连接到单片机的P1.1口6。当然还有另一种设计思路就是根据DS18B20的单独工作特性,在需要设计多路温度的采集的时候,可以选择在单片机IO口再连接更多的智能温度传感器DS18B20或者外加扩展口后连接更多18B20,本设计不采用这种设计方案,因为这种设计会使得电路的利用率和工作效率都有一定的下降,并且电路更加复杂增加了电路错误的可能。而本次设计所选用的单总线连接的思路是可以高效率工作并且还能使得电路简化,只是这种情况的时候要进行更加严密的上下位机的通信时序控制以及判断相关设计8。在系统开始上电工作时,由

44、程序控制CPU进行读取每一个智能温度传感器DS18B20采集的温度数据,并且然后再送单片机处理,以用于显示和报警等动作。图3-8 多路温度采集模块图3.2.3 LCD1602的显示设计根据前面的综合分析考虑选定了LCD1602用来液晶显示,结合1602的特点和使用方法进行本部分的设计。因为LCD液晶两级间是不允许加恒定直流电压的,这就使得驱动电路变得复杂了许多,为了得到控制LCD背景灯亮、灭所需的两倍幅值的高电压和零电压,通常的设计方法是给LCD的背极通以固定的交变电压,通过控制前极的电压值的变化来实现LCD显示的控制9。在设计中由52单片机的P3口作为输出口担任数据输出给显示电路的任务,由P

45、1.4、P1.5、P1.6作为控制端口对显示器进行相应的控制,在利用P0口时还要在P0口外加上拉电阻,实际电路中常用1k的排阻。LCD与CPU的连接时有总线方式和模拟口方式两种,而模拟口方式也就是平时所说的独立连接方式或者间接连接方式。在采用总线连接方式的时候,单片机要有两个端口设置成高位地址线和LCD1602的控制端R/W、RS分别相连,单片机再取一个端口作为高位地址线和WR、RD先与非运算2次,然后与LCD1602的读写如同对片外的RAM单元读写一样9。 而独立连接方式的时候,CPU的输入/出端口会直接分别和1602的读/写、寄存器选择端、以及使能端想连接。对1602的读写时通过对CPU的

46、输入/出端口的读写来完成的。另外,独立连接的接线方式是比较简单的连接方式。本设计考虑到简化电路、方便使用和检修,因此采用的是独立连接方式,而在使用1602之前一定要将其初始化,这个初始化的过程可以在复位的前或者后完成。1602的初始化操作主要有以下主要的动作:先进行清屏,然后开始设置主要功能,第三就是开关显示的设置,最后设置输入方式。在LCD1602的很多应用之中都要加上键盘矩阵等等,键盘的功能是能够进行不断地控制CPU的工作情况并引起中断信号,可以随时更改一些需要改变的设定值,这是为了方便随时的控制和显示要求的内容。而本次设计中由于1602仅仅是显示器件,没有其他过多的复杂功能,因此对其的控

47、制不是特别重要,所以就没有对其设定相应的控制键盘。显示电路的结构图如图3-9所示:图3-9 显示电路结构图3.2.4 报警电路的设计报警控制电路时有声音报警伴随着光的显示报警,也就是说本设计中会有声、光两部分报警显示功能,其中光的报警设施是由两个二极管组成,一个是蓝色的一个是红色的,它们分别和CPU的P1.2、P1.3两个引脚相连接,在这里也可以选择通过一个限流电阻与CPU相连接,而电源则是两者共同使用的相同的一路电源。而声音报警即是前面设计描述中所采用的蜂鸣器,当然再设计中也可以选择其他的报警设备,如在实际中可以采用功率较大的功放、电铃以及其他的一些发出较大声音的设备,如果实际中选择的是这些

48、的设备,那么就需要设计者再考虑上相应的驱动和保护电路的设计。在本设计中采用蜂鸣器是合适的不论是设计成本还是电路需求上来讲,在这次设计中我们既可以考虑采用加设限流电阻来提高设计的可靠性也可以选择不加选择而是采用较低功率的蜂鸣器。图3-10 报警电路模块3.2.5 电源部分的设计在实际的电子电路设计中,电源的设计十分重要,一个电源的好坏不仅会影响到所设计电路是否能够正常的工作,同时也会涉及到安全问题和性能测量,以及在某些重要的场所电源的意外故障可能会引起某些设备的误动作,从而给工业生产和生活带来不必要的损失。因此,电源的设计是几乎所有强电弱电设计中首先要考虑的重要组成部分。在一般电源部分电路的设计

49、中往往要由变压器、文氏桥整流电路、滤波电路和三端稳压电路以及输出端口共同构成。变压器是将较高的交流电转变成较低的适合在电子电路中通过的较低的交流电,这个交流电的幅值和所需的直流电的幅值是比较接近的。然后将变压器所变出的交流低电压通过文氏桥整流电路,该桥式整流电路一般是由四个二极管构成,分成两组进行整流。一般情况下,所采用的桥会有平衡桥和不平衡桥之分。其中,不平衡桥一般用在未知电阻等器件的测量中,而在一般电源设计中往往要采用平衡桥进行整流。桥式整流电路的原理很简单,主要就是利用二极管的单向导电的性能,在输入低电压交流电流时,其中一组二极管会导通工作,将有正有负的交流低电压变成只有正值时间段输出的

50、的正弦波电压,这样就相当于截取了交流正弦波的一半(即正半波部分),而在交流电的另外的时间段,另一组二极管会导通工作,会在正弦波的负半波时间段进行输出,同时用另外的一个通路向后面电路供电,这就使得后续电路在任何一个时期都会有相同方向的直流电流从中流过,也就是达到了将交流电整变成直流电的目的10。在电源设计中一般会用输出电压较为恒定的集成稳压器L7805。L7805稳压器共有输入、输出和公共引出端三个引脚端子,而其电路组成部分有启动电路、基准电压电路、取样比较放大电路、调整电路和保护电路等电路。按照任务要求和CPU芯片的特性,要求设计的电源电路的电压应为+5V的直流电压。由于L7805的输出电压比

51、较固定,所以在实际应用中会比较可靠,有利于系统的正常运行和动作,所以本次设计中我最后选择了三端式集成稳压器L780511。对于L7805自身,其输入与输出端口之间的电压差一般为23V,在前面一级德尔文氏桥整流电路的输出电压有效值大约是其输入电压有效值的1.2倍。对于变压器来说,变压器的选取一定要根据电路中电流电压的有效值与峰-峰值之间的相应关系进行选择,从而最终确定了本次设计中要选择的是降压比为220V/6V变压器。由于在稳压器L7805的输出电流中,最大电流值为1A,同时又稳定地输出+5V直流电压,因此L7805的输出功率一般也稳定为5W,另外还要考虑上稳压器L7805自身会产生的一定的消耗

52、量,所以在器件的预算选取的过程中一定要考虑到这些全部的情况,这样才能在设计的系统中产生最好的效果。综合考虑这些因素,在本系统设计中最终选择的变压器的参数为:降压比为220V/6V、功率为10W的变压器11。图3-11为本次系统电源设计的原理图,在这个图中C4、C5电容是低频滤波电容,它们的作用是对电流的波动进行整合,滤掉文氏桥整出电流中频率较低的部分分量。这部分设计中原件的参数一般是有固定的经验性的参数值的,所以只需要根据以往的设计者所得出的结论和经验就可以对本设计中的电源进行模块化设计。由这些电子电路设计得到的成熟经验对本部分中所用的电解电容的参数进行认真的选择,这些电容的容量应该为:C4=

53、220F、C5=47F;在原理图中C6、C7电容是高频滤波电容,根据以往的经验两个电容都要选择0.1F的无极性电容是最合适的。在原理图中D5是一个发光二极管,那么D5的作用就是用来清楚地指示电源是否接通,以及电源的工作是否正常。这个D5的选择一般要求不是特别严格,一般选择市场常见的实验设计常用的普通的发光二极管即可,然后要根据二极管的特性进行选择,一般二极管的正向电流为5mA,其管压降一般为+2V,因此根据这些确定设计中选择的限流电阻的阻值为R5= 68010。一般的电源电路的设计会采用如下这样的一种电路,在原理图3-11中的“output”端输出电压一般为+5V。图3-11 电源电路原理图1

54、13.3 系统设计的电路结构图前面通过对系统设计中硬件电路的各个模块的分别详细的讲述和分析,可以清晰地看到为了实现系统预计各模块的功能,那么就需要按照各模块要求来协调设计系统的硬件电路,这样子才可以保证系统能够可靠高效地运行。根据前面各个模块的具体描述和设计的各种方案,下面就是进行综合的模块组合,而电路的具体分布也就可以利用protues7.5先画出电路图。其中系统工作原理图如图3-12所示。图3-12 系统的电路图4 系统的软件设计4.1 主程序设计主程序主要功能是控制调用子程序,程序要能够成功分辨出不同的DS18B20并且实现温度的实时显示、读出并处理DS18B20的测量温度值。其程序流程

55、图如图4-1所示:开始初始化显示设置温度范围与设置温度范围比较读取温度延时一段时间显示实时温度值启动报警设备是否超出范围图4-1 主程序流程图4.2 子程序设计(1)序列号匹配命令子程序系统设计中要想准确的实时的显示各个温度传感器的温度,那么很重要的一点就是要准确的进行序列号匹配,这就需要在程序设计中加入一个四位的数组,其中的数据便是各个DS18B20的序列号,同时在电路图中的DS18B20也要在其属性的设计中更改序列号,这个序列号适合程序中的序列号要求一致的。在序列号匹配程序中首先要采用的是循环程序,对序列号进行循环的向DS18B20写入每一字节的数据,然后如果需要显示的时候就应该采用的是取

56、余和取模运算12。(2)温度转换命令子程序温度转换命令子程序主要是对DS18B20发送温度转换开始命令。在CPU对温度传感器发送匹配ROM命令以后,下面就要进行发送准备进行测温的DS18B20的64位自带序列号。在一般的情况下都是采用12位分辨率,那么转换时间就大约为750ms左右12。其程序流程图如图4-2所示。发送DS18B20复位指令匹配ROM、64位地址结 束发送温度开始转换命令图4-2 温度转换命令流程图(3)读出温度子程序设计的读温度子程序功能就是读出DS18B20的RAM中所储存的9个字节的温度数据,在读出时需进行校验,校验结果如果有错误则不可以进行温度数据的改写操作4。其程序流程图如图4-3所示。发DS18B20复位指令结束发读

温馨提示

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

评论

0/150

提交评论