当前位置:文档之家› 基于51单片机的多路温度参数检测系统设计毕业论文

基于51单片机的多路温度参数检测系统设计毕业论文

(此文档为word格式,下载后您可任意编辑修改!)

编号:

毕业设计说明书

题目:基于51单片机的多路温

度参数检测系统设计

学院:机电工程学院

专业:电气工程及其自动化

学生姓名:刘志威

指导教师:李彩林

职称:副教授

题目类型:理论研究实验研究工程设计工程技术研究软件开发

2010年5月20日

随着自动化技术的发展和人民生活水平的提高,高精度、快速的温度测量报警系统在工业、农业、国防等行业有着巨大的需求,而生活中温度测量更是与人们息息相关。本文中的多路的温度检测更可以实现多点多状态下的多回路综合温度检测,并可以利用其进行报警、显示、控制等多种用途。利用51单片机技术的温度检测系统以其体积小,可靠性高而被广泛采用。本文对该检测系统进行了分析设计,这个系统可以用在水、大气、土壤等多处的温度检测,并能够实时显示显示并可对报警的阀值进行设置。

首先,本文针对设计要求和实际进行各个部分模块的方案分析,并作出方案选择。主要分析被测目标、测温方式、传感器选择、单片机选择、阀值设置方式、LCD显示方案和报警的各种方案的选择。

其次,本文针对系统所使用的单片机的性能和发展情况做了简单说明;对系统使用的温度传感器DS18B20的技术参数和特点以及控制方式进行分析;对显示LCD1602液晶模块的显示控制做了说明;还对按键和LED报警电路进行说明;以上各部分最终组成了该系统的硬件电路。针对所选用的硬件方案在Keil C及Protues联合调试下进行了电路原理仿真及软件的编程。在Protel中绘制了电路原理图,绘制了印制电路板图,并最终制成了实物,完成了硬件制作。根据硬件的设计和检测系统所要实现的功能,本设计对软件和硬件也进行了调试,并经过反复的模拟运行、调试,修改并简化了软件系统,最终形成了一套完整的系统。

关键词:温度;多路参数检测;单片机;DS18B20;LCD1602

With the development of the automation technology and the live conditions of nowday's people,a faster, needing applied in the industry,agriculture and national defense. Meanwhile the emperature measurement mentioned in article that can achive multi-state integrated temperature measurement circuit,and used for alarming,exhibitting,controling and such https://www.doczj.com/doc/b210372931.html,ing 51 MCU technology, the temperature detection system was widely used in many areas by its smaller size and analysis and design to the system which can be apllied on the temperature meansure of .

First of all,this article actual analyze of the various parts of the program modules by the design requirements,and to make program choices.The main Analysis tested includs the temperature measurement methods, sensor selection, MCU selection, threshold setting mode, LCD display options and alarm program of choice.

Scondly,the paper simply intraduces the MCU system performance and a brief description of the development, analyzed the temperature sensor DS18B20 technical parameters and characteristics, and control mode;brought in the 1602 LCD display control module to do the introduction;also expounded the button and LED alarm on the circuit description. All over the final composition of the various parts make up the system and software programming by the joint commissing of Keil C and Protues and drawed the circuit diagram ,the printed circuit board in Protel.Eventually it made into a physical to complete the .the design which is based on the debugging, and after repeated simulation run, debug and simplify the software system, and form a complete set of the system .

Key words: Temperature;Multi-parameterdetection;MCU;DS18B20;LCD1602

目录

引言 (1)

1绪论 (2)

1.1课题背景及意义 (2)

1.2系统设计主要任务 (2)

2方案选择 (3)

2.1系统结构框图 (3)

2.2测温方式的选择 (3)

2.2.1 温度测量元件的选择论证 (4)

2.2.2 温度传感器方案的选定 (7)

2.2.3 测温电路的方案 (8)

2.3显示模块的方案 (10)

2.3.1 TC1602液晶模块 (11)

2.4温度设定电路的方案 (13)

2.5报警电路方案 (13)

2.651单片机的选择方案 (13)

2.7AT89S52芯片的引脚与功能 (14)

3硬件电路 (16)

3.1AT89S52的各输入输出口电路 (16)

3.218B20电路 (16)

3.3LED灯电路 (16)

3.4按键及时钟电路 (16)

3.5复位电路 (16)

3.6液晶显示电路 (17)

3.7蜂鸣器及其他电路 (17)

4软件与编程 (18)

4.1DS18B20的温度读取 (18)

4.1.1 DS18B20的时序 (19)

4.1.2 测温子程序 (20)

4.2温度阀值的设定 (21)

4.3温度比较及报警 (21)

4.3.1 温度的比较与LED报警 (21)

4.3.2 蜂鸣器报警 (21)

4.41602LCD显示的程序设计 (21)

4.5主程序 (21)

5程序及原理图的仿真 (22)

6系统的制作与调试 (23)

6.1系统的PCB制作 (23)

6.2硬件调试 (24)

6.3软件调试 (24)

7误差的分析与修正 (25)

8结论 (26)

谢辞 (27)

参考文献 (37)

附录 (38)

引言

随着现代信息技术的飞速发展,人们的日常生活以及生产服务越来越需要多路的实时参数采集系统。多路参数不单可以得到多点的状态,还可以相互比较,相互作用影响从而得出其他的二次参数,从而服务于生产生活。电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对工业及日常生活中的温度进行检测和控制。目前有各种各样的多路参数采集系统,如基于FPGA的多路参数采集,基于DSP的多路参数采集、基于PLC的多路参数采集等等。本次的设计:基于51单片机的多路温度参数检测报警系统就属于多路参数采集系统的一种。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。我们利用温度控制来更好的为我们的生活工作所服务,提高我们的生活质量。当然本次温度控制的设计也有不足之处,相信在不久的以后,随着单片机行业的迅速发展,将会有更好的温度控制仪的出现。

在生活中,随着人们生活水平的不断提高,智能化的家用电器逐渐走进千家万户,此外,许多居民转而选择相对省钱的电器产品。而控温产品是人们使用最多的电器之一。入空调、热水器、电水壶、微波炉等,这些电器今后的市场发展潜力巨大,从全国来看,将会有越来越多的智能电器进入千家万户。低成本的多路的温度传感器在这些电器上的应用可以降低电能损耗、加强电器使用的安全性、提高家居智能化水平,使绿色低碳也能在寻常百姓家实现。而使用51单片机的这一温度检测报警系统就能很好满足成本和性能以及可靠性的要求。因此它在智能家居中必定有很大的发展潜力。

本次设计的目的在于学习基于51单片机的多路温度采集报警系统设计的基本流程和方法。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号从数字温度传感器传递到单片机上。单片机数据处理之后,发出信息改变和报警状态的改变,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED报警灯的目的。所采用的控制芯片为AT89S52,此芯片功能较为强大,能够满足设计要求。这个设计实现了在-55℃至125℃之间精确到0.1℃的温度采集、比较。另外通过对芯片的外围扩展还可以达到对温度的控制和调节功能。

1绪论

本设计是基于DSl8B20的多路采集测温的单片机系统,并通过液晶屏同时显示3路中任一路的实时温度,又具有循环检测3路温度,同时还能对3路设定不同报警温度的数字式温度声光报警系统。此系统能够满足现代生产生活的需要,效率高,具有较强的稳定性和灵活性。

1.1课题背景及意义

在实际生产、生活等各个领域中,温度是环境因素不可或缺的一部分,对温度及时精确的控制和检测显得尤为重要。比如,农业上土壤各个层面上的温度将会影响植物的生长;在医院的监护中也用到温度的测量。在工业中,料桶里外上限温度要求不一,热处理中工件各个部位的温度对工件形成后的性能至关重要。现代电子工业的飞速发展对自动测试的要求越来越高。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。早期的温度传感器大多为电压输出型,即将测量信号转换为0—5V电压输出,通过模拟数字转换电路转换为数字信号供单片机读取、控制。电压输出型压力传感器抗干扰能力差,有时输出的直流电压上还叠加有交流成分,使控制出现错误,严重时还会损坏设备。而且模拟信号转换为数字信号需要AD转换,所以还需要开关电路,同时又占用大量IO口,这对于工业生产上的单片机多路测温的成本控制和设计简化来说是很不合理的,因此针对单片机的多路测温,具有单总线结构的数字式测温传感器是较优选择。本文介绍的多路温度采集单片机系统,就是依照上述要求设计出来的,适用于无人值守条件下长时间自动采集数据,结构简单工作稳定,可满足多种环境下的工作要求。

1.2系统设计主要任务

现代工业生产中常常需要对来自不同场合的信号源进行数字化处理,本文要求利用单片机设计一多回路参数检测系统。因为能够进行工业检测,所以要求成本更低,测量范围较广,测量精度较高、实时性好。

(1)在仿真模拟参数的实时测量与在线显示3~8路,并硬件实现至少1路。

(2)动态显示参数采用4~8位LCD。

(3)动态显示参数、并可通过外部按键设置各回路报警的阈值

本次任务要求使用51系列单片机来完成设计。在此基础上添加测温电路、温度设置按键电路、LCD显示电路、声光报警电路来共同组成一个完整的多路温度检测报警系统。

2方案选择

2.1系统结构框图

电热水器水温自动调节器以AT89S52单片机为核心,由温度测定电路、温度设定电路、单片机。设定温度显示电路、报警电路等几部分组成,结构框图如图2.1所示。

(1)温度测定电路,最终采用DS18B20温度传感器。

(2)AT89S52单片机。本控制器的核心,温度采入比较、显示输出和报警就是用它的软件来控制实现的。

(3)温度设定电路。通过四个非编码开关按键来设定水温的上下阀值。

(4)温度显示电路。单片机将设定的温度值通过动态扫描的方法输出,液晶上可直接显示采集到的温度和设定的温度。

(5)报警电路。由单片机产生高低电平来控制LED和蜂鸣器来实现声光报警。

图2.1 系统结构框图

在该框图中,画出了几个模块相连接的情况,主要为了说明各个模块之间的关系和模块的作用。在下面的的说明中则是从各方面来说明选择各个模块方案的原因。

2.2测温方式的选择

温度是表征物体冷热程度的物理量。因为工业中被测目标的类型有很多,如气体、液体、还有固体等等,因而测量温度的方法也很多,但从感受温度的途径来分,有下面两大类:一类是接触式的,即通过测温元件与被测物体的接触而感知物体的温度;另一类是非接触式,即通过接收被测物体发出的辐射热来判断温度。因此也就产生了各种测温传感器:传统的分立式温度传感器(含敏感元件);模拟集成温度传感器;智能温度传感器(即数字温度传感器)。

(1)分立式温度传感器

传统的热电偶、热电阻、热敏电阻及半导体温度传感器,均属于分立式温度传感器,传感器本身就是一个完整的、独立的感温元件。此类传感器通常要陪温度变送器,以获得标准的模拟量(电压或电流)输出信号。使用时还需配上二次仪表,才能完成温度测量计控制功能。其主要缺点是外围电路比较复杂、测量精度较低、分辨力不高、需进行温度校准(例如非线性校准、温度补偿、传感器标定等),另外它们的体积较大、使用也不够方便。因此,分立式温度传感器将逐渐被淘汰。

(2)模拟集成温度传感器

集成温度传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成传感器。模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC,它属于最简单的一种集成温度传感器。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准。外围电路简单,它是目前国内外应用最为普遍的一种集成传感器。典型产品有AD590、AD592、TMP17、LM135等。

(3)智能温度传感器

智能温度传感器(亦称数字温度传感器)是在模拟集成温度传感器的基础上发展而成的第三代温度传感器,它将温度传感器、AD转换器、寄存器、接口电路集成在一个芯片上,有的还包含中央处理器(CPU)、只读存储器(ROM)、随机存取存储器(RAM 或SRAM)、实时日历时钟以及报警电路。它是在20世纪90年代中期问世的。智能传感器是微电子技术、计算机技术和自动测试技术的结晶,它也是集成温度传感器领域中最具活力和发展前途的一种新产品。

智能温度传感器具有以下三个显著特点:第一,能输出温度数据及相关温度控制量,适配各种微控制器(MCU);第二,能以最简方式构成高性价比、多功能的智能化温度测控系统;第三,它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。

2.2.1温度测量元件的选择论证

(1)用热电偶作测温元件

①测温原理

把两种不同的金属A和B连接成闭合回路。如果将它们的两个节点中的一个进行加热,使其温度为T,而另一个置于室温T1中,则在回路中就有电流产生,这一现象就称为热电效应。在这种情况下产生的电动势称为热电势,用E(T1,T)来表示。通常把两种不同的金属的这种不同组合称为热电偶。,A和B称为热极,温度高的接点称为热端(或称工作端),温度低的称为冷端(或称为自由端)。利用热电偶把被测温度信号转变为热电势信号,用仪表测出电势大小,就可间接求得被测温度值。

②热电偶温度传感器的种类结构及优缺点

常用热电偶可分为标准热电偶和非标准热电偶两大类。所调用标准热电偶是指国家标准规定了其热电势与温度的关系、允许误差、并有统一的标准分度表的热电偶,它有与其配套的显示仪表可供选用。非标准化热电偶在使用范围或数量级上均不及标准化热电偶,一般也没有统一的分度表,主要用于某些特殊场合的测量。

热电偶是工业上最常用的温度检测元件之一。其优点是:

a.测量范围广。常用的热电偶从-50~+1600℃均可连续测量,某些特殊热电偶最低

可测到-269℃(如金铁镍铬),最高可达+2800℃(如钨-铼)。

b.构造简单,使用方便。热电偶通常是由两种不同的金属丝组成,而且不受大小和开头的限制,外有保护套管,用起来非常方便。其缺点是:

测量时间长,测量范围太宽,在低温测量中不适合用热电偶温度传感器。

如下表2.1是我国常用的几种标准型热电偶。

表2.1我国常用的几种标准型热电偶

(2)用热电阻作测温元件

热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度较高,性能较稳定。其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。热电阻大都由纯金属材料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制造热电阻。但是转换成电信号需要AD模块。

下面表2.2是几种常用的热电阻:

(3)用模拟温度传感器作测温元件

模拟集成温度传感器按输出方式可以分为:电流、电压、周期、频率、比率输出方式集成温度传感器。较常用的AD590是电流输出式集成温度传感器。

AD590的性能特点

AD590兼有集成恒流源和集成温度传感器的特点,具有测温误差小、动态阻抗高、响应速度快、传输距离远、体积小、微功耗等优点,适合远距离测温、控温,不需要进行非线性校准。

图2.2 AD590的内部电路

AD590的工作原理:

AD590的内部电路如图2.2所示。芯片中的R和R是采用激光修正的校准电阻,它能使298.2K(+25℃)下的电流恰好为298.2uA。首先由晶体管VT和VT产生与热力学温度(即绝对温度)成正比的电压信号,再通过R5和R6把电压信号转化电流信号。为保证良好的温度特性,R、R的电阻温度特性应该非常小,这里采用激光修正的SiCr

薄膜电阻,其电阻温度系数低至(-30~-50)×10ˉ℃。VT的集电极电流能够跟随VT和VT的集电极电流的变化,使总电流达到额定值。R、R也需要在25℃的标准温度下校准。

AD590等效于一个高阻抗的恒流源其输出(阻抗﹥10M欧),能大大减小因电源电压波动而产生的测量误差。

AD590的测温范围是-50~+150℃,对于热力学温度T每变化1K,输出电流就变化1uA,这表明其输出电流I (uA)与热力学温度T(K)严格成正比。电流温度系数K的表达式为:

==8(2-1)经过一系列的转换,可得出热力学温标(K)与摄氏温度(℃)、华氏温度(℉)之间的换算关系如下式:

t(℃)=T(K)-273.15

(2-2)

t(℉)= ×t(℃)+32 (2-3) (4)采用智能温度传感器

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。内部结构如图2.3。

图2.3 DS18B20的内部结构

DS18B20的主要性能:

①DS18B20采用美国DALLAS半导体器件公司的“单线总线”专有技术,通过串行通信口(IO)直接输出被测温度值,适配各种单片机或系统机。

②每一片DS18B20具有全球唯一的序列号,多个DS18B20可以并联在唯一单线上,实现多点测温。

③DS18B20的测温范围为:-55~+125℃,在-10~+85℃时,其精度为+0.5℃。测温结果的数字量位数9~12位,可编程进行选择。

④DS18B20内部含寄生电源,器件既可由单线总线供电,也可用外部的电源(3.0~

5.5V)供电。

⑤用户可分别设定各路温度的上、下限并写入随机存储器RAM中。

⑥DS18B20采用特有的温度测量技术,其内部测温电路如图2.4

图2.4 DS18B20内部测温电路

2.2.2温度传感器方案的选定

通过以上几种测温元件的分析、比较,可以知道,热电偶温度计可以应用在比较高的温度下进行测量,如它可以测量在1100℃以上的温度,而电阻式温度计相对来说,它主要于-200~+500℃的温度范围内获得较广泛的运用。对于多路温度的测量,传统的热电偶、热电阻、热敏电阻及半导体温度传感器需要配温度变送器,以获得标准的模拟量(电压或电流)输出信号。多路的AD转换会占用51单片机的大量IO口,这是很不合理的,使用时还需配上二次仪表,才能完成温度测量及控制功能。其主要缺点是外围电路比较复杂、测量精度不是很高、分辨力不高、需进行温度校准(例如非线性校准、温度补偿、传感器标定等),另外,它们的体积较大,使用也不够方便。用在实时的温度检测中,实在不理想。因为,在工业自动化中的实时温度测量,涉及到信号的传输,传感器的响应速度应该较快,在这一点上,集成温度传感器稍微可以满足,它的响应速度快、传输距离也可以比较远,适合中远距离测温、控温,不需进行非线性校准。但是模拟集成温度传感器功能单一(仅限于温度测量),而且同样需要使用AD,多路采集时占用大量IO口。而智能温度传感器其主要优点是采用数字化技术,能以数字形式直接输出被测温度值,可以省略掉外部AD电路,具有降低成本、测温误差小、分辨力高、抗干扰能力强、能够远程传输数据、用户可设定温度上、下限、有越限自动报警功能、适配各种微控制器(含微处理器和单片机)。

因此,经过论证,决定选用智能温度传感器,并选用具有代表性的DS18B20作为测温元件。

2.2.3测温电路的方案

图2.5 DS18B20的引脚

测温电路的方案要根据测温的传感器的结构以及使用方法来确定。下面先从DS18B20的数据构成和读写方式进行分析。

如图2.5所示,DQ为数字信号输入输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

DS18B20内部结构

DS18B20内部结构主要由7部分组成:寄生电源、温度传感器、64位光刻ROM与单线接口、高速暂存器、非挥发的温度报警触发寄存器TH和TL、存储与控制逻辑、8位循环冗余校验码:

(1)寄生电源由二极管和寄生电容组成,并有电源检测电路用来判定供电方式并且输出相应的逻辑电平(“0”表示用寄生电源供电,“1”表示用外部电源供电),以便高速暂存器能够读出数据和命令。寄生电源有两个显著的优点:第一,远程检测温度时无需本地电源;第二,在缺少正常电源时也能读ROM。

(2)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(3)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号

扩展的二进制补码读数形式提供,以0.0625℃LSB形式表达,其中S为符号位。

这是12位转化后得到的16位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表2.3 温度-数据对应表

(4)DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。意义为:

TM R1 R0 1 1 1 1 1

低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率。

表2.4 分辨率设置

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

(5)在完成温度转换之后,DS18B20就把测得的温度值t同t、t作比较。若t>t,或t

(6)在64位激光ROM的最低8位字节中存有CRC。主CPU根据ROM的前56位来计算CRC值,并与存入DS18B20中的CRC值进行比较,以判断主CPU接收到的ROM数据是否正确。

CRC的函数表达式为

CRC=X+X+X+1 (2-4)此外,DS18B20尚需按照式(2-4)所规定的格式为暂存器中的数据产生一个8位CRC,送给CPU,以确保暂存器的数据传送无误。

从上面的温度传送原理可见,虽然18B20是单总线结构,但是如果将3个传感器都挂在一个串行IO口的话,还需要先编程分别读取各个18B20的序列号,就可能造成编程的困难,而且程序调试时也难以跟踪对应的参数。考虑到只测量3路温度,就将3个传感器的DQ引脚直接经4.7K上拉电阻接到3个IO口上,这个测温电路方案同样简单,且易于编程和调试。

2.3显示模块的方案

单片机应用系统的显示器件种类很多,但最常用的主要有两种:数码管显示即LED 显示器;液晶显示即LCD显示器。从结构上,两种显示器又可分为段码显示和点阵显示。LED显示器价格低廉,工作稳定,发光强度较强,机械性能较好,在普通单片机应用系统中最常见;LCD显示器是近年来上市的一种被动发光式显示器,具有重量轻、功耗低、体积小、显示内容丰富、使用方便等特点,在通讯、仪器仪表、电子设备、家用电器等低功耗应用系统中得到越来越广泛的应用,使这些电子设备的人机界面变得越来越直观形象,目前已广泛应用于电子表、计算器、液晶电视、复印机等许多方面。基于我们电路需要显示字符,而且是任务要求,故选用液晶模块。在液晶模块中,常用的型号有1602和12864,两者的主要区别主要在于:1602为5*8的字符型液晶,能同时

显示32个英文或者数字字符;12864为128*64的点阵型液晶,面积更大,带字库的还能够显示汉字,但是价格更贵(约为前者的6倍),根据任务要求,只要求显示3路4位采集温度和设定阀值,故1602已经能够满足需要,另外由于是工业要求较低成本,故价格在100元以上的12864已经对1602不构成优势,故最终选择的LCD为TC1602。

2.3.1TC1602液晶模块

字符型液晶是一种使用5×7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,我们选用的则是最常用的2行16个字的1602液晶模块。TC1602液晶模块的引脚图如下所示:

图2.7 1602液晶模块引脚图

各引脚功能分别如下:

第1脚:VSS为电源地,接GND。

第2脚:VDD接+5V电源。

第3脚:VL为液晶显示器对比度调整,接正电源时对比度最弱,接地电源时对比度最高,对比度过高会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:RW为读写信号献,高电平时进行读操作,低电平时进行写操作。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:BLA背光电源正极(+5V)输入引脚。

第16脚:BLK背光电源负极,接GND。

1602液晶模块内带标准字库,内部的字符发生存储器(CGROM)存储了192个5×7点阵字符,32个5×10点阵字符。另外还有字符生成RAM(CGRAM)512字节,供用

户自定义字符。如表2-6所示,这些字符由:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如小写英文字母“a”的代码字母“a”。

1602液晶模块内部的控制器共有11条控制令,如表2-5所示。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)

指令1:清显示,指令码01H,光标复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置ID: 光标移动方向,高电平右移,低电平左移;S: 屏幕上所有文字是否左移或者右移,高电平表示有效,低电平则无效。

指令4:显示开关控制D: 控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C: 控制光标的开与关,高电平表示有光标,低电平表示无光标;B: 控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位SC: 高电平时移动显示的文字,低电平时移动光标。

指令6:功能设置命令DL: 高电平时为4位总线,低电平时为8位总线;N: 低电平时为单行显示,高电平时双行显示;F: 低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。

指令7:字符发生器RAM地址设置。

指令8:DDRAM地址设置。

指令9:读忙信号和光标地BF: 为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据。

指令11:读数据。

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一点要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符的地址,也就是告诉模块在哪里显示字符,表2-8是1602液晶模块的内部显示地址。

例如第二行第一个字符的地址是40H,要将光标定位在第二行第一个字符的位置,为写入显示地址时要求最高位D7恒定为高电平1。

2.4温度设定电路的方案

由于DS18B20的测量范围所限,对其设定温度的范围为-55到128摄氏度,最高温度限和最低温度限也不过相差区区几十度,所以也不用专门为其设计一个键盘来设定水温而增加自己的工作量,可以将设定值存入一个指定存储空间即可,故电路的设计也相对比较简单,它的工作原理也非常的简单。即开辟一个浮点型数组,包含6个浮点型变量,分别定位A、B、C三路的上下阀值,由两个按键来设置升温和降温,再用一个按键来切换选择的阀值类型。

2.5报警电路方案

在这个温度报警中,需要对三路温度分别报警,但是如果三路都选择声音报警的话,在三路同时报警时,声音就会混乱嘈杂,故优先选择使用光报警。我的方案是用3个LED灯进行闪烁来报警,另外,在设置一个总的声音报警,只要有一路超限,就用蜂鸣器接高低电频转换来发声,同时设置一个按键来开关声音,并用一个LED常亮来表示蜂鸣器工作,灭掉表示不工作。无源蜂鸣器的驱动电路比较复杂,而此处使用有源蜂鸣器接三极管放大即能满足报警要求,故选择无源蜂鸣器方案。

2.651单片机的选择方案

由于任务书要求使用的是51单片机,所以微控制器(MCU)的选择范围就比较好确定了,主要有89C51和89S52是目前较常用的51系列,89S52对89C51的一个显著区别是51的flash存储器只有4K,52有8K,而由于我仿真编程生成的hex文件较大,经试验52单片机才能装下,故选择52单片机。而52单片机中主要厂商型号是ATmel

和STC,因为STC内置EEPROM在这里用不上,且STC的零售价格要高一些,所以最终确定的单片机方案是Atmel的89S52单片机。它具有与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程IO口线、三个16位定时器计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

2.7AT89S52芯片的引脚与功能

图3.1 AT89S51引脚图

AT89S52芯片的引脚功能:

①P0 口:P0口是一个8位漏极开路的双向IO口。作为输出口,每位能驱动8

个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序

和数据存储器时,P0口也被作为低8位地址数据复用。在这种模式下,P0具有

内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,

输出指令字节。程序校验时,需要外部上拉电阻。

②P1 口:P1 口是一个具有内部上拉电阻的8 位双向IO 口,p1 输出缓冲器能

驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此

时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的

原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器计数器2的外部计

数输入(P1.0T2)和时器计数器2的触发输入(P1.1T2EX),具体如下表所示。

在flash编程和校验时,P1口接收低8位地址字节。

表3.1引脚号第二功能

③P2 口:P2 口是一个具有内部上拉电阻的8 位双向IO 口,P2 输出缓冲器能

驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此

时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的

原因,将输出电流(IIL)在访问外部程序存储器或用16位地址读取外部数据

存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉

发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

④P3口:P3 口是一个具有内部上拉电阻的8 位双向IO 口,p3 输出缓冲器能驱

动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时

可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALEPROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的16输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当

AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EAVPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为

00H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

相关主题
文本预览
相关文档 最新文档