当前位置:文档之家› 基于proteus的温控报警设计与实现毕业论文

基于proteus的温控报警设计与实现毕业论文

基于proteus的温控报警设计与实现毕业论文

目录

摘要.................................................... 错误!未定义书签。Abstract ................................................. 错误!未定义书签。第1章绪论.. (2)

1.1 课题研究背景 (2)

1.2 国内外研究现状 (2)

1.3 课题研究重点和思路 (3)

第2章系统总体设计方案 (4)

2.1功能要求 (4)

2.2系统总体框架设计搭配 (4)

第3章系统硬件设计 (5)

3.1电路硬件电路总体设计概述 (5)

3.2 单片机系统模块 (5)

3.2.1 AT89S51介绍 (6)

3.2.2 AT89S51系列引脚功能 (6)

3.2.3 AT89S51最小系统 (9)

3.3 温度采集模块 (9)

3.3.1 DS18B20与单片机接口电路 (9)

3.4 温度显示模块 (12)

3.4.1 LCD1602的外形介绍 (12)

3.4.2 LCD1602的引脚功能介绍 (13)

3.4.3 LCD1602与单片机连接图 (14)

3.5 温度报警模块 (14)

3.5.1报警电路原理 (14)

3.5.2报警电路与单片机连接图 (14)

3.6 温度控制模块 (15)

3.6.1 温度控制原理 (15)

3.6.2 温度控制电路连接图 (15)

3.7 负载模块 (16)

3.7.1 负载模块的原理 (16)

3.7.2 负载模块的电路图 (16)

第4章温控报警系统软件设计 (18)

4.1 软件语言的选择 (18)

4.2程序流程图 (18)

4.2.1主程序流程图 (18)

4.2.2按键处理子程序 (19)

4.2.3读出温度子程序 (20)

4.3主要程序分析 (21)

第5章系统仿真与功能实现 (23)

5.1 Proteus软件介绍 (23)

5.1.1 Proteus功能特点 (23)

5.1.2 Proteus功能模块 (23)

5.2 系统仿真 (23)

5.2.1 电路功能仿真 (23)

5.2.2 原理图仿真 (23)

5.3仿真电路原理图及结果 (24)

5.4 仿真结果分析 (25)

第6章总结 (26)

6.1所做主要工作 (26)

6.2不足与展望 (26)

参考文献 (28)

致谢.................................................... 错误!未定义书签。

附录 (31)

1:电路系统原理图 (31)

2:系统相关程序 (31)

第1章绪论

1.1课题研究背景

在人们的日常生活,工业制造,制冷等领域,温度作为当前环境的重要因素之一,具有相当重要的意义。例如火灾报警,温室获粮仓中温度的实时监测,冷库的温度调节等,因为此以温度参数为基础而设计的温度系统被广泛开发和使用。使用传统意义上的温度计采集温度信息,不但采集精度底,实时性差,而且操作人员的劳动强度高,不利于广泛推广。此外由于环境因素导致数据难以采集的问题,特别是在工厂,火灾的那个的现场,工作人员不能长时间停留在现场观察和采集温度,就需要实现能够将数据采集并将其传送到一个地方集中进行处理,以节省人力物力,提高效率,但这样也会出现数据传输的问题,由于厂房大,需要传输数据多,使传统方法容易造成资源浪费且可操作性差,精度不高,这都在不同程度上限制了工作的进行和展开。因此,高精度,底成本,实时性好的温控制系统筮待人们去开发。

1.2 国内外研究现状

随着国内外工业的日益发展,温度检测技术也有了不断的进步。温度的测量主要分成两个部分,一个部分就是传感器,它是温度信号被转换为电信号。另一个部分就是电子装置,它主要是对信号进行接收、处理、显示等功能。不同的温度段以及测量的精度要求的不同,测量装置也会不尽相同,从传感器方面看,己出现有各种金属的材料、非金属的材料、半导体的材料所制成的传感器,也有红外传感器等。仪器的本身也逐渐趋与向小型化,成度较高的芯片或者元件组所成电路。对于测点较多,并具有报警、巡测、控制等多功能测温装置,一般采用单片机电路。目前的温度检测技术原理很多,大致包括以下几种:①物体热胀冷缩原理;②热电效应;③热阻效应;④利热辐射原理等。

有着各自的不可替代优点的传统温度传感器,由于自身的自热效应从而了测量的精度,从而制约它们应用微型化的高端的电子产品中。与传统的温度传感器相比较,半导的体温度传感器具

有功耗低、体积小、灵敏度高等诸多的优点,无论是从电压方面、还是从电流方面频率的输出,都与温度成线性关系,半导体的温度传感器适合在集成的电路系统中的应用。目前,半导体的温度传感器的工作的温度范围还限于只在- 50~150 ℃。未来主要的研究方向将是如何扩大它的温度适用范围,以及智能化、网络化等方面。

近年来,在温度的检测的技术的领域中,新的检测原理技术有实用性的重大进展。新的温度的检测元件正在不断涌现现以及完善化,主要包括以下几种。①晶体管的温度检测的元件;②集成电路的温度检测的元件;③核磁共振的温度的检测器;④热噪声的温度的检测器;⑤石英晶体的温度的检测器;⑥光纤的温度的检测器⑦激光的温度检的测器等。

目前国内外的温度控制方式越来越趋向于智能化,通过温度传感器来实现测量温度的。温度传感器以及信号处理构成了测温仪器的两部分。温度测量就是通过温度传感器将要测量的对象的温度的数值值转换成电的或者其它形式信号,通过信号的处理以及处理转换成温度的数值显示出来的过程。温度的传感器随着温度的变化而受影响的方面有电容、电动势和磁性能、频率、以及光学特性等等。随着科学的发展,更好的温度的传感器还会不断的出现。

1.3 课题研究重点和思路

随着单片机技术的日益成熟,应用范围的逐渐扩大,以单片机为核心的控制系统,逐渐应用到生活中的很多方面,这不仅克服了系统中存在的严重延时,节省了人力,提高了采样频率,而且很大程度上提高了控制效果和控制精度。而以单片机为核心的温控报警器集中了其中的特点。单片机温控报警控制系统中的关键是测量温度、发出警报并控制温度,从而达到各种需求。因此,单片机温控报警器则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业、无线控制等重要工业领域中,扮演着重要角色。在日常生活中,也可广泛实用于空调器、电加热器等各种家居电器。

本文设计以AT89S51单片机为核心的温度控制和报警电路。实现温度的智能控制,使负载能够在温度的工作环境下正常工作。在了解和研究温度智能控制的原理后,能够得到温度检测及控制报警电路相应模块的实现思路,设计出相应的电路图并能够将电路图仿真,最终实现设计的功能。重点研究内容该系统中各核心模块的的详细设计方案,得出结论和分析。

第2章 系统总体设计方案

2.1功能要求

本设计以AT89S51为核心,控制整个系统。适合在一定温度条件的环境下,电路中用到了继电器,通过单片机的弱点系统来控制与继电器项链的强电系统,从而保证强点系统控制的安全性。

系统的利用数字温度传感器DS18B20采集数据并送给单片机,单片机处理之后将采集的数据送给LCD1602显示一边操作人员直观的了解当前温度。我们给系统正常工作设定为0℃-50℃,如果当前温度在这个温度设定范围内,则单片机控制继电器闭合,使继电器控制的负载回路导通,是系统正常工作;若当前温度不在这个范围内,则说明当前温度不满足工作需求。,此时单片机控制蜂鸣器发出警报,并且控制继电器使负载停止工作。并根据当前温度,若温度小于0℃,则启动加热装置,若温度高于50℃,则启动降温装置,直到达到系统温度,蜂鸣器停止报警,负载回路导通,重新开始工作。从而达到一个自动控制的作用,整个系统形成一个闭环温度值,系统变化参数为温度的值,负载的工作取决于环境温度的变化,通过单片机弱电控制与继电器相连的强电系统,从而解决了强电系统直接控制对操作人员有一定危险性的特点。

2.2系统总体框架设计搭配

单片机为主控制单元,以DS18B20为温度传感器的温度控制报警系统。该控制系统可以实时存储相关的温度数据。其主要包括:电源电路、温度采集电路、按键处理电路、LCD 显示电路、报警电路以及单片机基本电路。

电路功能总框架图如图2.1所示:

图2.1 总框架图

它们的主要功能分别是:

(1)温度采集功能:由温度传感器检测当前环境温度,并将温度传给单片机AT89S51。

(2)温度显示功能:采集到的温度,能够直接显示在LCD1602上,便于使用者的操作和观测。

(3)温度报警功能:对采集到的温度自动判断并进行声音和光报警,起到提示的作用。

(4)温度控制功能:由两部分组成,分别是加热和降温装置,实现智能全自动操作。

第3章系统硬件设计

3.1电路硬件电路总体设计概述

温度自动控制系统实际上是对温度参数的采集而根据采集的温度来自动进行控制。目的是使负载能够工作,通过单片机只能控制而改变温度,使环境温度达到设定范围。主要应用于一些需要特殊温度需求的地方,比如机房等,通过实时只能监控。某些重要实验也需要温度在一定范围内进行,都可以通过本系统来控制。

本设计是一个闭环自动控制系统。弱电控制强电,单片机控制继电器的开合,再控制负载的工作状态。避免了使用人员直接接触强点系统导致的危险性。

本设计的硬件部分分为六个模块:单片机系统模块、温度采集模块、温度显示模块、温度报警模块、温度控制模块、负载模块。

3.2 单片机系统模块

3.2.1单片机历史

通过单片机的基本操作处理的二进制位数进行分类,单片机主要分为:4位的单片机、8位的单片机、16位的单片机和32位的单片机。

单片机的发展史可大致分为4个阶段。

(1)第一阶段(1974年--1976年):早期级阶段。因为初期的技术和经验比较贫乏,单片机采用的是双片形式。例如,在1974年的12月,日本的一家公司开发出的8位的F8单片机,就只包括了简单的8位CPU、64BRAM和2个并行口。

(2)第二阶段(1976年--1978年):低性能阶段。在1976年,MCS--48(8位单片机)被Intel公司推出,它极大地促进了世界各个公司的单片机的变革和发展;在1977年,GI公司虽然推出了PIC1650,可是这个时期各个公司的单片机还是处于性能低的阶段。

(3)第三阶段(1978年--1983年):高性能阶段。例如,1978年,Z8单片机被Zilog公司推出;1980年,Intel公司以MCS--48单片机为基础使MCS--51系列被推出,6801单片机被Motorola公司推出等,让单片机的综合能力跃上了一个新的台阶。从此,世界各公司的这种高性能单片机迅速发展起来。这个阶段推出的单片机普遍带有串行I/O口、多级中断系统、16位定时器/定时器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。由于这类单片机的性能价格比高,因而被广泛应用,是目前应用数量最多的单片机。

(4)第四阶段(1983年--现在):8位单片机的巩固、发展以及16位单片机和32位单片机的推出阶段。16位单片机的典型产品为Intel公司生产的MCS--96系列单片机。而32位单片机的优势不仅具有更高的集成度,其数据处理速度还比16位单片机也提高许多,性能与此同时也比8位、16位单片机更加优越。在单片机制造业蓬勃发展的20世纪90年代,Motorola、Intel、ATMEL、德州仪器(TI)、Philips、LG等公司中大量的性能优越的单片机被发展起来,极大地促进了单片机的应用。近年,不少新型的高集成度的单片机产品的涌现,使单片机出现的局面

更加丰富多彩。目前,不仅8位单片机被得到广泛的应用,16位单片机和32位单片机也得到广大用户的青睐。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能是最终形成事实上的标准MCU芯片。

3.2.1 AT89S51介绍

AT89S51是带低电压的4K字节的闪烁的可编程的能擦除的只读存储器性能高的CMOS8

位微处理器,就是我们所说的单片机。对于单片机内的可擦除的只读的存储器在正常情况下能够反复擦除上百次。这种器件是采用高密度的不容易丢失的存储器制造技术来制造的,同工业标准中的MCS-51指令以及输出的管脚相互兼容的。AT89S51单片机给大多数的嵌入式的控制系统提供了一种划算的方案。

AT89S51具有的特点:

(1)4K字节的可编程的闪烁的存储器

(2)正常寿命是1000写/擦循环

(3)信息数据的保留时间是10年

(4)全静态的工作范围是0Hz至24Hz

(5)拥有三级程序的存储器的锁定

(6)128*8位的内部RAM

(7)32位I/O线

(8)拥有两个1十六位的定时器/计数器

(9)拥有中断源五个

(10)可编程的串行的通道

(11)闲置时低功耗以及掉电模式

(12)拥有片内的振荡器以及时钟电路

3.2.2 AT89S51系列引脚功能

AT89S51有40引脚双列直插(DIP)形式。其逻辑引脚图如图3.1所示。

图3.1 A T89S51引脚图

各引脚功能叙述如下:

(1)电源和晶振

VCC(40脚)——接+5V的电源

GND(20脚)——接数字地

XTAL1(19脚)——片内震荡器反相放大器以及时钟发生器电路的输入端

XTAL2(18脚)——片内震荡器反相放大器的输出端

(2)I/O(4个口,32根)

P0口——P0口拥有一个8位漏级开路的双向I/O口,每脚能够吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口——P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口——P2口为一个是内部上拉电阻的8位双向I/O口,P2口中的缓冲器可以接收以及输出4个TTL门的电流,如果当P2口被写“1”时,其管脚会被内部的上拉的电阻拉高,并且会作为输入。因此当其被作为输入时,P2口的管脚会被外部的电压拉低,将输出电流。这是由于P2口内部电压上拉的缘故。如果当外部的程序存储器或者是16位地址的外部数据存储器进行存取选用且在P2口时,在P2口从其输出的地址的高八位,其给出地址为“1”时,它会利用内部的上拉的优势,当其要对外部存储器进行读写时,P2口输出其特殊功能寄存器内的内容。在FLASH编程以及校验时的地址信号和控制信号会传输给P2口。

P3口——P3口管脚有8个双向I/O口内部电阻上拉,可接并且可以收输出4个TTL的门电流。如果当P3口写入“1”后,I/O会上拉为高电平,并且用作于输入。如果当它作为输入时,由于被下拉的为低电平,所以P3口将输出电流(ILL)这原因也是由于它上拉的缘故。

同时,P3口也能够可作为AT89CS1的所应用的一些特殊的功能口,如表3.1所示:

表3.1 AT89S51的一些特殊端口

(3)控制

线(共4根)

RST是

复位的输

入。如果当振荡器要立即复位,这时要确保RST的脚在它的两个的机器周期中的高电平的时间。

ALE/PROG:当要访问外部的存储器,这时地址锁存会允许它的输出的电平能够用于锁存的地址的地位字节。如果在用于FLASH编程的期间,这时此引脚需用于输入的编程脉冲中。如果在平时,ALE端必须以不变的且稳定的频率周期输出它的正脉冲信号,这时它的频率为振荡器频率的1/6。因而它可以用于向外部输出的脉冲或者要用作于的目的为定时。我们必须要注意的问题是:每当其要用作于外部数据的存储器时,它将会要跳过的是一个ALE脉冲。如果想要禁止ALE产生的输出则可以让SFR8EH的地址的上位置置0。与此同时,ALE如果正在在执行MOVX,则MOVC的指令是ALE才能起作用。除此之外,该引脚会被略微拉高。假如微处理器在外部的执行状态时ALE禁止,则置位会无效。

/PSEN:外部的程序的存储器所存储的选通信号。每个机器的周期的两次/PSEN有效,是在由外部的程序的存储器取指期间。但是它在访问外部的数据的存储器时,这两次的有效的/PSEN信号将会不出现。

/EA/VPP:当/EA要保持低电平时,这时在此期间外部程序存储器(0000H-FFFFH),无论是否有内部的程序的存储器。当注意加密方式为1时,/EA将内部的锁定为RESET;当/EA端保持在高电平时,此间内部的程序的存储器。如果在FLASH的编程期间,这时此引脚也能用

于施加12V的编程的电源(VPP)。

3.2.3 AT89S51最小系统

单片机的工作工程是:取一条指令、译码、进行微操作,再取一条指令,译码再进行操作,这样自动的、一步步的有微操纵依次完成相应的指令规定功能。这些指令在微操作的时间上有严格的次序,称为时序。

89S51单片机的时钟信号通常由两种方式产生,内部时钟和外部时钟方式。内部时钟方式。在单片机XTAL1和XTAL2引脚外接晶振。其中的电容起到稳定频率和快速起振的作用。典型值微30PF.晶振CYS的震荡频率要小于12MHZ,典型值6MHZ、12MHZ或者11.059MHZ。外部时钟方式是吧外面已经有的时钟信号引入到单片机中,要求各的那片及同步运行的场合。

实际中通常采用外界晶振的内部时钟方式,晶振频率高一些的时候可以提高指令的执行速度,但相应的功耗和噪声也会增加,在满足系统的功能下,应该尽量选择低一些的晶振频率。我们这儿选择的是12MHZ的晶振。

复位是使单片机中的各个部件处于某种确定的初始状态。单片机的工作都是从复位开始。当89S51的RST引脚加高电平复位信号,保持两个以上机器周期时,单片机内部就执行复位操作。复位信号变低时,单片机变开始执行程序。

实际操作中,复位也有两种形式:一种是上电复位,一种是上电复位与按键复位都有效。上电复位要求接通电源后单片机自动复位。通常上电复位电路的上电瞬间RST引脚的高电平只要能保持足够时间,两个机器周期,单片机就可以进行复位操作。我们选取的元器件参数为:晶振:12MHZ;电容:30uf;电阻:与按键相连的是1K,另外一个10K。我们还可以在电阻上加一个放电二极管,这样有效提高了若单片机断电后,短时间内再加电复位的可能性。

3.3 温度采集模块

3.3.1 DS18B20与单片机接口电路

DS18B20 有方便的接线方式,封装后多种场合可以适用,封装后的DS18B20可适用于洁净室的测温,电缆沟的测温,高炉水循环的测温,农业大棚的测温,锅炉的测温,弹药库的测温等非极限的温度场合。使用方便,耐磨耐碰,封装的形式各种各样,适用于各种狭小的的数字测温以及控制领域。

DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。超小的体积,超低的硬件开销,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎,DS18B20的优势更是我们学习单片机技术和开发温度相关小制作不二的选择,其技术性能有:(1)拥有的单线的接口方式独特,在DS18B20和微处理器被连接时,仅仅只一条口线就可以实现微处理器和DS18B20双向的通讯正常的运行。

(2)DS18B20的测温范围是-55℃~+125℃,它的固有的测试温分辨率能够精确到0.5℃。

(3)多点组网功能能够被DS18B20支持,多个DS18B20能够并联在同一条三线上,最多

只能并联8个,多点测温能够被实现,只是如果测温数量过多,就会导致供电电源的电压过低,因此会造成造成不稳定的信号传输。

(4)工作电源: 3~5V/DC

(5)在使过程中不需要任何外围元件

(6)测量结果则以9~12位数字量方式串行传送

(7)温度数字量转换时间200ms(典型值)

(8) 用户可定义的非易失性温度报警设置

温度传感器外形如图3.2所示。

图3.2 传感器外形图

本设计采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。传感器信号经4.7K的上拉电阻直接接到单片机管脚上。

DS18B20温度传感器只有三根外接线:一是单线数据传输总线DQ ,二是外供电源线VDD,三是共用地线GND。DS18B20有两种供电方式:其中一种为数据线供电方式,供电时VDD接地,它是通过内部电容的能量是空闲时从数据线获取,来完成温度的转换,因而相应的完成温度转换所需时间也较长。在这种情况下,需要用单片机的一个I/O口来完成对DS18B20总线的上拉。另外一种方式是外部供电方式(VDD接+5V),相应的完成温度测量的时间会较短。

工作原理及其应用:DS18B20温度检测与数字数据的传输集成于一个芯片之上。其工作一个周期可以分为二个部分,温度检测以及数据处理。DS18B20有三种形态的存储资源,分别是ROM,RAM,EEPROM。

ROM 是属于只读存储器,共64位,用于存放DS18B20ID中的编码,它的前八位是属于单线系列编码(DS18B20的编码是19H),它的唯一的序列号是后面48位的芯片,最后的八位

是以上56位的CRC。其数据在出厂时设置,不能由用户更改。

RAM是属于数据的暂存器,能够用于数据计算以及数据的存取,数据会在掉电后全部消失,DS18B20拥有共9个字节的RAM,它的每个字节是为八位,转换温度后的数据值信息是第1,2字节,它的第3,4字节是用户EEPROM的镜像。当其在复位被上电时,它的数值就将会被刷新。它的第3个EEPROM的镜像是第五个字节。它的第6,7,8个字节则是用来做计数寄存器,是为了让用户能够得到更高的温度分辨率而设计的,同样也是温度转换、计算的暂存单元,第9个字节是前八个字节的CRC码。

EEPROM是属于非易失性记忆体,它用于存放长期需要保存的数据,以及上下限温度报警值和校验数据。DS18B20拥有共3位EEPROM,并在RAM上都存在镜像,能够方便用户操作。

我们在读温度之前都必须进行复杂的且精准的时序处理,因为DS18B20硬件简单,从而导致软件的巨大开销,也是尽力减少有形资产化为无形资产的投入。

控制器对DS18B20的操作流程如下所示:

(1)首先我们必须对DS18B20进行相应的复位,复位过程就是DS18B20被控制器给予单总线至少480us的低电平的信号,当DS18B20接到这个复位信号后,就回发一个芯片的存在的脉冲。

(2)当我们在复位的电平的结束之后,它的控制器应该在这之后数据的单总线被拉高,因而方便在15--60us后接受存在的脉冲,存在的脉冲是一个60--240us的低电平的信号。当它的通信双方基本的协议已被达成,那么接下来就将会是控制器与DS18B20的数据通信,如果单总线断路或者复位的低电平的时间的不足都不会接收到存在的脉冲。

(3)双方打完招呼后就要进行交流了,ROM的指令共5条,在它每一个的工作周期都只能发送一条,ROM的指令分别是读ROM的数据,和指定的匹配的芯片,跳跃ROM,芯片的搜索,以及报警芯片的搜索等。ROM的指令为八位长度,它的功能就是使芯片内的64位得光刻ROM进行操作。它的首要的目的是为了让分别总线上挂接的多个器件并做处理,一般情况下,直挂一个DS18B20的就跳过ROM指令,此处并不是不发送ROM指令,而是用一条特有的一条“跳过指令”。

(4)在发送ROM指令之后,接着存储器的操作指令就要被发送。操作的指令与前面的同样为八位,共六条,首先写RAM的数据,然后读RAM的数据,和EEPROM将复制RAM的数据,温度转换,RAM将被EEPROM的报警值复制,以及切换工作方式等。控制芯片的重要部分是DS18B20被存储器操作指令命令做什么样的工作。

(5)执行或者数据的读写:这个操作主要要视存储器的操作指令而定。

DS28B20与单片机的连接图如图3.3所示

图3.3 DS18B20与单片机的连线图

3.4 温度显示模块

3.4.1 LCD1602的外形介绍

LCD模块是一种专门用于显示数字、字母符号、字母等点阵式的LCD,目前常用40*2 ,120*2,26*2以及16*1行等的模块。一般1602LCD实物如图3.5:

图3 .4 LCD1602实物图

1602LCD分为带背光以及不带背光两种,160LCD基控制器大多数是为HD44780,带背光的比不带背光的厚,是否背光没有什么应用差别,两者尺寸差别如下图3-7所示:

图3.5 LCD1602尺寸图

3.4.2 LCD1602的引脚功能介绍

1602LCD主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)的接口,它的引脚接口说明如表3-5所示:

表3.2引脚接口说明表

3.4.3 LCD1602与单片机连接图

LCD1602与单片机的连接图如图3.6所示

图3.6 LCD1602与单片机连接图

3.5 温度报警模块

3.5.1报警电路原理

当环境温度不在设置温度范围内,需要发出警报,报警电路由PNP三极管和扬声器组成。电路中刚才用PNP三极管,选用低功率三极管9012,当P1.0低电平,三极管集电极正偏,发射级反偏,三极管导通,驱动蜂鸣器报警。

3.5.2报警电路与单片机连接图

报警电路为蜂鸣器,当温度处于不正常范围时,经过单片机处理可以传来一股电流。这股电流经过三极管的放大,可以带动蜂鸣器,以达到报警的目的。报警电路与单片机的连接图如

图3.7所示。

图3.7 报警电路与单片机连接图

3.6 温度控制模块

3.6.1 温度控制原理

在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气的执行元件,如电动机、电磁铁、电灯等;另一方面为电子线路的电气电路提供良好的电隔离,以保护电子电路的人身安全,电磁式继电器便能完成这一桥梁作用。电磁继电器是在输入电路内电流的作用下,由机械部件的相对运动产生预定相应的一种继电器,它包括直流电磁继电器,交流电磁继电器、磁保持继电器、极化继电器、舌簧继电器、节能功率继电器。

电磁式继电器一般由控制线圈、铁芯、衔铁、触电簧片等组成,控制线圈和节点组之间是相互绝缘的,因此,能够为控制电路起到良好的电气隔离作用。当我们在继电器的线圈两头加上其线圈的额定电压时,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的接通,切断开关的目的。

本设计中主要将温度控制在系统设定的0℃-50℃。当高于50℃时,单片机弱电通过继电器控制强电系统加热;当环境温度低于0℃时,单片机的弱电通过继电器控制强电系统降温。

3.6.2 温度控制电路连接图

本设计中,采用NPN三极管驱动继电器,并且带有一发光二极管作为指示灯,系统中由

于仿真的方便采用了12V的灯泡代替强电系统。加热系统接在单片机P1.2口上,降温系统接到单片机P1.3口上。温度控制模块的电路图如图3.8所示。

图3.8 温度控制电路连接图

3.7 负载模块

3.7.1 负载模块的原理

电路的负载也是通过继电器用单片机的弱电控制强电。本设计中采用NPN三极管驱动继电器,并且带有一负载工作的指示灯,系统中负载由于仿真方便采用了12V灯泡代替强电系统。电路和单片机的P1.7脚相连,当高电平时,三极管饱和导通,+5V电源分压加到继电器线圈两端,继电器吸合,同时状态指示的发光二极管也点亮,继电器的常开触点闭合,相当于开关闭合。当单片机的P1.7脚为低电平时,三极管截止,继电器线圈两端没有电位差,继电器衔铁释放,同时状态指示的发光二极管也熄灭,继电器的常开触点释放,相当于开关断开。在三极管截止的瞬间,由于线圈中的电流不能突变为零,继电器线圈两端会产生一个较高电压的感应电动势,线圈产生的感应电动势则可以通过二极管释放,从而保护了三极管免被击穿,也消除了感应电动势对其他电路的干扰,这就是二极管的保护作用。

3.7.2 负载模块的电路图

负载模块可以根据单片机传来电流信号的大小来调节负载电路中的电流,从而达到控温的目的。负载模块的电路图如图3.9所示。

图3.9 负载电路连接

第4章温控报警系统软件设计

4.1 软件语言的选择

单片机开发过程中往往使用汇编和C语言两种语言,就本设计而言我们要择优选择一种,下面是两种语言的优缺点对比:

1.汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。

2.C语言是一种计算机程序设计语言。它的应用范围广泛。C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。C 语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如DBASE ⅢPLUS、DBASE Ⅳ都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 像PC- DOS 、WORDSTAR等就是用这种方法编写的。

简单来说,C语言对汇编语言进行了抽象,具有如下优点:

①更符合人类思维习惯,开发效率高、时间短。

②模块化。

③可移植性好。

④提供数学函数并支持浮点运算。

⑤程序可读性和可维护性强。

总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序。综上所述,选择C语言作为软件设计的语言。

4.2程序流程图

4.2.1主程序流程图

设计采用C语言来编程,主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘,报警等模块。用的是循环查询方式,来显示和调节温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程如图4.1系统程序流程图。

图4.1系统程序流程图

4.2.2按键处理子程序

设计采用C语言来编程,主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘,报警等模块。按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下则进行一系列的按键输入操作。其程序流程框图如图4.2所示。

图4.2温度转换流程图

4.2.3读出温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.3示:

相关主题
相关文档 最新文档