基于proteus的温控报警设计与实现_第1页
基于proteus的温控报警设计与实现_第2页
基于proteus的温控报警设计与实现_第3页
基于proteus的温控报警设计与实现_第4页
基于proteus的温控报警设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南理工学院毕业设计(论文) 学毕业设计(论文) 题目: 基于Proteus的温控报警器设计与实现作 者 - 届 别 2014 届 院 别 信息与通信工程学院 专 业 自动化 指导教师 - 职 称 讲 师 完成时间 2014年05月 10日 摘 要 在日常生活和工业生产中,经常需要对环境温度进行准确检测,以对温度进行准确控制的目的。然而目前温度检测和温控报警装置总是存在不少缺陷,不能满足实际应用要求,为此需要对温控报警系统进行重新设计。文中提出了基于Proteus的温控报警系统设计方案,设计了以AT89S51单片机为核心器件的温度控制和报警电路。并且对硬件系统和模块进

2、行了设计和规划,其中系统硬件设计模块主要包含单片机系统、温度采集、温度显示、温度报警、温度控制和负载等六大主要模块。同时还进行系统软件设计,对主要功能模块进行了分析。最后还进行了系统仿真实验,并对仿真结果进行了分析和评价。文中设计的系统能够实时存储相关的温度数据并可设置温度上下限值,可实现对环境温度测量,并在超出温度上下限值一定范围的情况下发出警告,因此具有一定的使用价值和社会价值。关键词:温度控制;Proteus;AT89S51;DS18B20;超温报警 I湖南理工学院毕业设计(论文)Abstract In daily life and industrial production, ofte

3、n need to accurately detect the ambient temperature, the temperature accurately be controlled to reach the purposes. However, the temperature detection and temperature control alarm device always has many defects, the requirement can not to be meet of practical application, so we need to re design t

4、emperature alarm system. This paper presents the Proteus temperature alarm system design based on the design of the temperature control, AT89S51 micro controller to be used as the core device and alarm circuit. And the hardware system and the modules be designed and planned, included system hardware

5、 design module comprises a single chip system, temperature acquisition, temperature display, temperature alarm, temperature control and load six major module. Also on the system software design, the main function module is analyzed. Finally, the simulation experiment has been carried out, and the si

6、mulation results are analyzed and evaluated. The system designed in the paper can store related temperature data real-time and can set the upper and lower temperature, the ambient temperature measurement, and issued a warning in excess of the upper and lower temperature range of circumstances, so it

7、 has certain use value and social value. Key words: Temperature control ;Proteus; AT89S51; DS18B20; Over temperature alarm目 录摘 要IAbstractII第1章 绪 论11.1 课题研究背景11.2 国内外研究现状11.3 课题研究重点和思路2第2章 系统总体设计方案32.1功能要求32.2系统总体框架设计搭配3第3章 系统硬件设计43.1电路硬件电路总体设计概述43.2 单片机系统模块43.2.1 AT89S51介绍53.2.2 AT89S51系列引脚功能53.2.3

8、AT89S51最小系统83.3 温度采集模块83.3.1 DS18B20与单片机接口电路83.4 温度显示模块113.4.1 LCD1602的外形介绍113.4.2 LCD1602的引脚功能介绍123.4.3 LCD1602与单片机连接图133.5 温度报警模块133.5.1报警电路原理133.5.2报警电路与单片机连接图133.6 温度控制模块143.6.1 温度控制原理143.6.2 温度控制电路连接图143.7 负载模块153.7.1 负载模块的原理153.7.2 负载模块的电路图15第4章 温控报警系统软件设计174.1 软件语言的选择174.2程序流程图174.2.1主程序流程图17

9、4.2.2按键处理子程序184.2.3读出温度子程序194.3主要程序分析20第5章 系统仿真与功能实现225.1 Proteus软件介绍225.1.1 Proteus功能特点225.1.2 Proteus功能模块225.2 系统仿真225.2.1 电路功能仿真225.2.2 原理图仿真225.3仿真电路原理图及结果235.4 仿真结果分析24第6章 总 结256.1所做主要工作256.2不足与展望25参考文献27致 谢29附录301:电路系统原理图302:系统相关程序30III湖南理工学院毕业设计(论文) 第1章 绪 论1.1 课题研究背景在人们的日常生活,工业制造,制冷等领域,温度作为当前

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

11、和展开。因此,高精度,底成本,实时性好的温控制系统筮待人们去开发。 1.2 国内外研究现状 随着国内外工业的日益发展,温度检测技术也有了不断的进步。温度的测量主要分成两个部分,一个部分就是传感器,它是温度信号被转换为电信号。另一个部分就是电子装置,它主要是对信号进行接收、处理、显示等功能。不同的温度段以及测量的精度要求的不同,测量装置也会不尽相同,从传感器方面看,己出现有各种金属的材料、非金属的材料、半导体的材料所制成的传感器,也有红外传感器等。仪器的本身也逐渐趋与向小型化,成度较高的芯片或者元件组所成电路。对于测点较多,并具有报警、巡测、控制等多功能测温装置,一般采用单片机电路。目前的温度检

12、测技术原理很多,大致包括以下几种:物体热胀冷缩原理;热电效应;热阻效应;利热辐射原理等。 有着各自的不可替代优点的传统温度传感器,由于自身的自热效应从而了测量的精度,从而制约它们应用微型化的高端的电子产品中。与传统的温度传感器相比较,半导的体温度传感器具有功耗低、体积小、灵敏度高等诸多的优点,无论是从电压方面、还是从电流方面频率的输出,都与温度成线性关系 ,半导体的温度传感器适合在集成的电路系统中的应用。目前,半导体的温度传感器的工作的温度范围还限于只在- 50150 。未来主要的研究方向将是如何扩大它的温度适用范围,以及智能化、网络化等方面。近年来,在温度的检测的技术的领域中,新的检测原理技

13、术有实用性的重大进展。新 的温度的检测元件正在不断涌现现以及完善化,主要包括以下几种。晶体管的温度检测的元件;集成电路的温度检测的元件;核磁共振的温度的检测器;热噪声的温度的检测器;石英晶体的温度的检测器;光纤的温度的检测器激光的温度检的测器等。目前国内外的温度控制方式越来越趋向于智能化,通过温度传感器来实现测量温度的。温度传感器以及信号处理构成了测温仪器的两部分。温度测量就是通过温度传感器将要测量的对象的温度的数值值转换成电的或者其它形式信号,通过信号的处理以及处理转换成温度的数值显示出来的过程。温度的传感器随着温度的变化而受影响的方面有电容、电动势和磁性能、频率、以及光学特性等等。随着科学

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

15、调器、电加热器等各种家居电器。本文设计以AT89S51单片机为核心的温度控制和报警电路。实现温度的智能控制,使负载能够在温度的工作环境下正常工作。在了解和研究温度智能控制的原理后,能够得到温度检测及控制报警电路相应模块的实现思路,设计出相应的电路图并能够将电路图仿真,最终实现设计的功能。重点研究内容该系统中各核心模块的的详细设计方案,得出结论和分析。第2章 系统总体设计方案2.1功能要求本设计以AT89S51为核心,控制整个系统。适合在一定温度条件的环境下,电路中用到了继电器,通过单片机的弱点系统来控制与继电器项链的强电系统,从而保证强点系统控制的安全性。系统的利用数字温度传感器DS18B20

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

17、的变化,通过单片机弱电控制与继电器相连的强电系统,从而解决了强电系统直接控制对操作人员有一定危险性的特点。 2.2系统总体框架设计搭配单片机为主控制单元,以DS18B20为温度传感器的温度控制报警系统。该控制系统可以实时存储相关的温度数据。其主要包括:电源电路、温度采集电路、按键处理电路、LCD显示电路、报警电路以及单片机基本电路。电路功能总框架图如图2.1所示: 单片机温度控制电路显示电路温度采集电路报警电路 电源电路 图2.1 总框架图它们的主要功能分别是:(1)温度采集功能:由温度传感器检测当前环境温度,并将温度传给单片机AT89S51。(2)温度显示功能:采集到的温度,能够直接显示在L

18、CD1602上,便于使用者的操作和观测。(3)温度报警功能:对采集到的温度自动判断并进行声音和光报警,起到提示的作用。(4)温度控制功能:由两部分组成,分别是加热和降温装置,实现智能全自动操作。第3章 系统硬件设计3.1电路硬件电路总体设计概述温度自动控制系统实际上是对温度参数的采集而根据采集的温度来自动进行控制。目的是使负载能够工作,通过单片机只能控制而改变温度,使环境温度达到设定范围。主要应用于一些需要特殊温度需求的地方,比如机房等,通过实时只能监控。某些重要实验也需要温度在一定范围内进行,都可以通过本系统来控制。本设计是一个闭环自动控制系统。弱电控制强电,单片机控制继电器的开合,再控制负

19、载的工作状态。避免了使用人员直接接触强点系统导致的危险性。本设计的硬件部分分为六个模块:单片机系统模块、温度采集模块、温度显示模块、温度报警模块、温度控制模块、负载模块。3.2 单片机系统模块3.2.1单片机历史 通过单片机的基本操作处理的二进制位数进行分类,单片机主要分为:4位的单片机、8位的单片机、16位的单片机和32位的单片机。单片机的发展史可大致分为4个阶段。 (1)第一阶段(1974年-1976年):早期级阶段。因为初期的技术和经验比较贫乏,单片机采用的是双片形式。例如,在1974年的12月,日本的一家公司开发出的8位的F8单片机,就只包括了简单的8位CPU、64 和2个并行口。 (

20、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公司推出等,让单片机的综合能力跃上了一个新的台阶。从此,世界各公司的这种高性能单片机迅速发展起来。这个阶段推出的单片机普

21、遍带有串行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、德州仪器

22、(TI)、Philips、LG等公司中大量的性能优越的单片机被发展起来,极大地促进了单片机的应用。近年,不少新型的高集成度的单片机产品的涌现,使单片机出现的局面更加丰富多彩。目前,不仅8位单片机被得到广泛的应用,16位单片机和32位单片机也得到广大用户的青睐。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能是最终形成事实上的标准MCU芯片。3.2.1 AT89S51介绍AT89S51是带低电压的4K字节的闪烁的可编程的能擦除的只读存储器性能高的CMOS8位微处理器,就是我们所说的单片机。对于单片机内的可擦除的只读的存储器在正常情况下能够反复擦

23、除上百次。这种器件是采用高密度的不容易丢失的存储器制造技术来制造的,同工业标准中的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)拥有片

24、内的振荡器以及时钟电路 3.2.2 AT89S51系列引脚功能AT89S51有40引脚双列直插(DIP)形式。其逻辑引脚图如图3.1所示。 图3.1 AT89S51引脚图各引脚功能叙述如下:(1)电源和晶振VCC(40脚)接+5V的电源GND(20脚)接数字地XTAL1(19脚)片内震荡器反相放大器以及时钟发生器电路的输入端XTAL2(18脚)片内震荡器反相放大器的输出端(2)I/O(4个口,32根)P0口P0口拥有一个8位漏级开路的双向I/O口,每脚能够吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIA

25、SH编程时,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口的管脚会被外部的电压拉低,将输出电流

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

27、AT89CS1的所应用的一些特殊的功能口,如表3.1所示: 表3.1 AT89S51的一些特殊端口 (3)控制线(共4根)RST是复位的输入。如果当振荡器要立即复位,这时要确保RST的脚在它的两个的机器周期中的高电平的时间。ALE/PROG:当要访问外部的存储器,这时地址锁存会允许它的输出的电平能够用于锁存的地址的地位字节。如果在用于FLASH编程的期间,这时此引脚需用于输入的编程脉冲中。如果在平时,ALE端必须以不变的且稳定的频率周期输出它的正脉冲信号,这时它的频率为振荡器频率的1/6。因而它可以用于向外部输出的脉冲或者要用作于的目的为定时。我们必须要注意的问题是:每当其要用作于外部数据的存

28、储器时,它将会要跳过的是一个ALE脉冲。如果想要禁止ALE产生的输出则可以让SFR8EH的地址的上位置置0。与此同时,ALE如果正在在执行MOVX,则MOVC的指令是ALE才能起作用。除此之外,该引脚会被略微拉高。假如微处理器在外部的执行状态时ALE禁止,则置位会无效。 /PSEN:外部的程序的存储器所存储的选通信号。每个机器的周期的两次/PSEN有效,是在由外部的程序的存储器取指期间。但是它在访问外部的数据的存储器时,这两次的有效的/PSEN信号将会不出现。  /EA/VPP:当/EA要保持低电平时,这时在此期间外部程序存储器(0000H-FFFFH), 无论是否有内部的程序的存储

29、器。当注意加密方式为1时,/EA将内部的锁定为RESET;当/EA端保持在高电平时,此间内部的程序的存储器。如果在FLASH的编程期间,这时此引脚也能用于施加12V的编程的电源(VPP)。3.2.3 AT89S51最小系统单片机的工作工程是:取一条指令、译码、进行微操作,再取一条指令,译码再进行操作,这样自动的、一步步的有微操纵依次完成相应的指令规定功能。这些指令在微操作的时间上有严格的次序,称为时序。89S51单片机的时钟信号通常由两种方式产生,内部时钟和外部时钟方式。内部时钟方式。在单片机XTAL1和XTAL2引脚外接晶振。其中的电容起到稳定频率和快速起振的作用。典型值微30PF.晶振CY

30、S的震荡频率要小于12MHZ,典型值6MHZ、12MHZ或者11.059MHZ。外部时钟方式是吧外面已经有的时钟信号引入到单片机中,要求各的那片及同步运行的场合。实际中通常采用外界晶振的内部时钟方式,晶振频率高一些的时候可以提高指令的执行速度,但相应的功耗和噪声也会增加,在满足系统的功能下,应该尽量选择低一些的晶振频率。我们这儿选择的是12MHZ的晶振。复位是使单片机中的各个部件处于某种确定的初始状态。单片机的工作都是从复位开始。当89S51的RST引脚加高电平复位信号,保持两个以上机器周期时,单片机内部就执行复位操作。复位信号变低时,单片机变开始执行程序。实际操作中,复位也有两种形式:一种是

31、上电复位,一种是上电复位与按键复位都有效。上电复位要求接通电源后单片机自动复位。通常上电复位电路的上电瞬间RST引脚的高电平只要能保持足够时间,两个机器周期,单片机就可以进行复位操作。我们选取的元器件参数为:晶振:12MHZ;电容:30uf;电阻:与按键相连的是1K,另外一个10K。我们还可以在电阻上加一个放电二极管,这样有效提高了若单片机断电后,短时间内再加电复位的可能性。3.3 温度采集模块3.3.1 DS18B20与单片机接口电路DS18B20 有方便的接线方式,封装后多种场合可以适用,封装后的DS18B20可适用于洁净室的测温,电缆沟的测温,高炉水循环的测温,农业大棚的测温,锅炉的测温

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

33、常的运行。 (2)DS18B20的测温范围是 55+125,它的固有的测试温分辨率能够精确到0.5。 (3)多点组网功能能够被DS18B20支持,多个DS18B20能够并联在同一条三线上,最多只能并联8个,多点测温能够被实现,只是如果测温数量过多,就会导致供电电源的电压过低,因此会造成造成不稳定的信号传输 。 (4)工作电源: 35V/DC (5)在使过程中不需要任何外围元件 (6)测量结果则以912位数字量方式串行传送 (7)温度数字量转换时间200ms(典型值)(8) 用户可定义的非易失性温度报警设置 温度传感器外形如图3.2所示。图3.2 传感器外形图本设计采用一线制数字温度传感器DS1

34、8B20来作为本课题的温度传感器。传感器信号经4.7K的上拉电阻直接接到单片机管脚上。DS18B20温度传感器只有三根外接线:一是单线数据传输总线DQ ,二是外供电源线VDD,三是共用地线GND。DS18B20有两种供电方式:其中一种为数据线供电方式,供电时VDD接地,它是通过内部电容的能量是空闲时从数据线获取,来完成温度的转换,因而相应的完成温度转换所需时间也较长。在这种情况下,需要用单片机的一个I/O口来完成对DS18B20总线的上拉。另外一种方式是外部供电方式(VDD接+5V),相应的完成温度测量的时间会较短。工作原理及其应用:DS18B20温度检测与数字数据的传输集成于一个芯片之上。其

35、工作一个周期可以分为二个部分,温度检测以及数据处理。DS18B20有三种形态的存储资源,分别是ROM,RAM,EEPROM。ROM 是属于只读存储器,共64位,用于存放DS18B20ID中的编码,它的前八位是属于单线系列编码(DS18B20的编码是19H),它的唯一的序列号是后面48位的芯片,最后的八位是以上56位的CRC。其数据在出厂时设置,不能由用户更改。RAM是属于数据的暂存器,能够用于数据计算以及数据的存取,数据会在掉电后全部消失,DS18B20拥有共9个字节的RAM,它的每个字节是为八位,转换温度后的数据值信息是第1,2字节,它的第3,4字节是用户EEPROM的镜像。当其在复位被上电

36、时,它的数值就将会被刷新。它的第3个EEPROM的镜像是第五个字节。它的第6,7,8个字节则是用来做计数寄存器,是为了让用户能够得到更高的温度分辨率而设计的,同样也是温度转换、计算的暂存单元,第9个字节是前八个字节的CRC码。EEPROM是属于非易失性记忆体,它用于存放长期需要保存的数据,以及上下限温度报警值和校验数据。DS18B20拥有共3位EEPROM,并在RAM上都存在镜像,能够方便用户操作。我们在读温度之前都必须进行复杂的且精准的时序处理,因为DS18B20硬件简单,从而导致软件的巨大开销,也是尽力减少有形资产化为无形资产的投入。 控制器对DS18B20的操作流程如下所示:(1)首先我

37、们必须对DS18B20进行相应的复位,复位过程就是DS18B20被控制器给予单总线至少480us的低电平的信号,当DS18B20接到这个复位信号后,就回发一个芯片的存在的脉冲。(2)当我们在复位的电平的结束之后,它的控制器应该在这之后数据的单总线被拉高,因而方便在15-60us后接受存在的脉冲,存在的脉冲是一个60-240us的低电平的信号。当它的通信双方基本的协议已被达成,那么接下来就将会是控制器与DS18B20的数据通信,如果单总线断路或者复位的低电平的时间的不足都不会接收到存在的脉冲。(3)双方打完招呼后就要进行交流了,ROM的指令共5条,在它每一个的工作周期都只能发送一条,ROM的指令

38、分别是读ROM的数据,和指定的匹配的芯片,跳跃ROM,芯片的搜索,以及报警芯片的搜索等。ROM的指令为八位长度,它的功能就是使芯片内的64位得光刻ROM进行操作。它的首要的目的是为了让分别总线上挂接的多个器件并做处理,一般情况下,直挂一个DS18B20的就跳过ROM指令,此处并不是不发送ROM指令,而是用一条特有的一条“跳过指令”。(4)在发送ROM指令之后,接着存储器的操作指令就要被发送。操作的指令与前面的同样为八位,共六条,首先写RAM的数据,然后读RAM的数据,和EEPROM将复制RAM的数据,温度转换,RAM将被EEPROM的报警值复制,以及切换工作方式等。控制芯片的重要部分是 DS1

39、8B20被存储器操作指令命令做什么样的工作。(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,带背光的比不带背光的厚,是否背光没有什么应用差别,两者尺寸差别如

40、下图3-7所示:图3.5 LCD1602尺寸图3.4.2 LCD1602的引脚功能介绍 1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)的接口,它的引脚接口说明如表3-5所示:表3.2引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D

41、6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.4.3 LCD1602与单片机连接图LCD1602与单片机的连接图如图3.6所示图3.6 LCD1602与单片机连接图3.5 温度报警模块3.5.1报警电路原理当环境温度不在设置温度范围内,需要发出警报,报警电路由PNP三极管和扬声器组成。电路中刚才用PNP三极管,选用低功率三极管9012,当P1.0低电平,三极管集电极正偏,发射级反偏,三极管导通,驱动蜂鸣器报警。3.5.2报警电路与单片机连接图报警电路为蜂鸣器,当温度处于不正常范围时,经过单片机处理可以传来一股电流。这股电流经过三极管的放大,可以带

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

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

44、低于0时,单片机的弱电通过继电器控制强电系统降温。3.6.2 温度控制电路连接图本设计中,采用NPN三极管驱动继电器,并且带有一发光二极管作为指示灯,系统中由于仿真的方便采用了12V的灯泡代替强电系统。加热系统接在单片机P1.2口上,降温系统接到单片机P1.3口上。温度控制模块的电路图如图3.8所示。图3.8 温度控制电路连接图3.7 负载模块3.7.1 负载模块的原理电路的负载也是通过继电器用单片机的弱电控制强电。本设计中采用NPN三极管驱动继电器,并且带有一负载工作的指示灯,系统中负载由于仿真方便采用了12V灯泡代替强电系统。电路和单片机的P1.7脚相连,当高电平时,三极管饱和导通,+5V

45、电源分压加到继电器线圈两端,继电器吸合,同时状态指示的发光二极管也点亮,继电器的常开触点闭合,相当于开关闭合。当单片机的P1.7脚为低电平时,三极管截止,继电器线圈两端没有电位差,继电器衔铁释放,同时状态指示的发光二极管也熄灭,继电器的常开触点释放,相当于开关断开。在三极管截止的瞬间,由于线圈中的电流不能突变为零,继电器线圈两端会产生一个较高电压的感应电动势,线圈产生的感应电动势则可以通过二极管释放,从而保护了三极管免被击穿,也消除了感应电动势对其他电路的干扰,这就是二极管的保护作用。3.7.2 负载模块的电路图负载模块可以根据单片机传来电流信号的大小来调节负载电路中的电流,从而达到控温的目的

46、。负载模块的电路图如图3.9所示。图3.9 负载电路连接38第4章 温控报警系统软件设计4.1 软件语言的选择单片机开发过程中往往使用汇编和C语言两种语言,就本设计而言我们要择优选择一种,下面是两种语言的优缺点对比:1. 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。2. C语言是一种计算机程序设计语言。它的应用范围广泛。C语言在很多方面都可以用,

47、不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。C 语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如DBASE PLUS、DBASE 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 像PC- DOS 、WORDSTAR等就是用这种方法编写的。简单来说,C语言对汇编语言进行了抽象,具有如下优点:更符合人类思维习惯,开发效率高、时间短。 模块化。 可移植性好。 提供数学函数并支持浮点运算。 程序可读性和可维护性强。 总之,C语言既有高级语言的特

48、点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序。综上所述,选择C语言作为软件设计的语言。4.2程序流程图4.2.1主程序流程图设计采用C语言来编程,主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘,报警等模块。用的是循环查询方式,来显示和调节温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程如图4.1系统程序流程图。开始初始化启动DB18B20读温度计算温度LCD显示 图4.1系统程序流程图4.2.2按键处理子程序设计

49、采用C语言来编程,主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘,报警等模块。按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下则进行一系列的按键输入操作。其程序流程框图如图4.2所示。开 始是否按下S2 否是否按下S3 是是否再按下S2 否 是UP子程序 否是否按S4 是是否再按下S2按下 否 是down子程序 否 是退出子程序,返回主程序 图4.2温度转换流程图4.2.3读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.3示:发DS18B20复位

50、命令发跳过ROM命令发温度转换开始命令 结束 4.3 校验温度流程图4.3主要程序分析主要代码如下:温度读取代码。uchar read_t() /读温度uchar a,b;init_d();write_byte(0xcc);write_byte(0x44);delay_(300);init_d();write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();b<<=4;b+=(a&0xf0)>>4;return b;温度显示代码。void display() /显示write_com(0x80+6)

51、;write_data(0x30+(temp/10);write_com(0x80+7);write_data(0x30+(temp%10);void write_str(uchar *p)while(*p)write_data(*p+);void display_max() /显示最高值write_com(0x80+11);write_data(0x30+(max/10);write_com(0x80+12);write_data(0x30+(max%10);void display_min() /显示最小值write_com(0x80+0x40+11);write_data(0x30+(m

52、in/10);write_com(0x80+0x40+12);write_data(0x30+(min%10);第5章 系统仿真与功能实现5.1 Proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,它不但可以拥有其它电子设计自动化工具软件的仿真功能,还可以仿真微处理器及外围器件18。是一款非常不错的微处理器及外围器件的仿真软件,国内现在刚开始推广。2010年增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。同时它也支持IAR、Keil和MPLAB等多种编译器。5.1.1 Proteus功能特点Proteus软件具有其

53、它EDA工具软件的功能,表现在: (1) 原理图的绘制。(2) PCB人工或自动布线。(3) SPICE电路仿真革命性的特点。5.1.2 Proteus功能模块 Proteus具有4个功能模块,分别为:(1)智能原理图设计(ISIS)丰富的器件库。 (2)完善的电路仿真功能(Prospice)ProSPICE混合仿真。 (3)独特的单片机协同仿真功能(VSM)支持主流的CPU类型。 (4)实用的PCB设计平台原理图到PCB的快速通道。5.2 系统仿真5.2.1 电路功能仿真画好原理图后,调入已编译好的目标代码(HEX文件),就可以看到比较形象化模拟实物运行状态和过程。该软件拥有强大的元件库,这是在实验室无法比拟的,它的灵活性很大程度上减少了时间和资源上的浪费。但是软件仿真也有很大的不足之处,仿真时所有的数据都很精准,但是实际上硬件存在很大的误差,所以在仿真完成后,进行实物制作时,还需要根据情况进行修改。 5.2.2 原理图仿真 原理图仿真步骤主要为:(1) 新建仿真设计。(2) 仿真元器件。(3) 按照原理图连接导线。(4) 载入KEIL C 编译的C语言程序.hex文件。(5) 设置仿真参数。(6) 进行仿真。图5

温馨提示

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

评论

0/150

提交评论