基于单片机的多路温度检测报警系统_第1页
基于单片机的多路温度检测报警系统_第2页
基于单片机的多路温度检测报警系统_第3页
基于单片机的多路温度检测报警系统_第4页
基于单片机的多路温度检测报警系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的多路温度检测报警系统 I摘 要本文介绍了一种基于AT89C51单片机,利用AD590进行8路的温度采集,通过ADC0809进行模数转换的多路温度检测报警系统。系统中通过时钟脉冲实现了温度的单一和循环显示。在温度超过设定温度时可以对报警温度和实际温度交替显示,从而给予更多的信息。按钮结构简单、应用灵活、易扩展,很大程度上提高了自动检测的效率,使本系统更加的智能化、人性化。关键词:多路温度检测,单片机,报警系统基于单片机的多路温度检测报警系统 IIABSTRACTThis article introduce a Multi-temperature detection alarm sys

2、tem based on AT89C51 microcontroller,AD590 for temperature and ADC0809for the analog digital conversion. System achieved by clock pulse and a single temperature cycle showed that the temperature set switch functions. When the temperature exceeds the set temperature alarm can be alternately displayed

3、 temperature and actual temperature to give more information. Button simple, flexible application, easy to expand, largely increased the efficiency of automatic detection, make the system more intelligent and humane.Key Words:Multi-temperature measurement, microcontroller, alarm system基于单片机的多路温度检测报警

4、系统 III目录1 绪论-1 2 系统设计-22.1温度传感器-22.2模数转换-32.3单片机-32.4数码显示-5 3 硬件电路设计-73.1电路的整体结构-73.2 模拟采集电路-73.3 模数转换电路-83.4 LED数码显示电路-93.5 电路总图-10 4 软件程序设计-124.1 主程序设计-124.2 程序-13 5 电路板设计-175.1设计过程与成果-175.2 实验数据分析-21 6 结论-22参考文献-23 致谢-24基于单片机的多路温度检测报警系统 11 绪论温度的检测在各个不同的领域都有着不同的发展方向,而且都已经有了诸多较为成熟的技术。例如,农业上土壤各个层面上的

5、温度将会对植物的生长造成影响;在医院的监护中用到的温度计1。在工业中,对于料桶里外上限温度要求不一,热处理中工件各个部位的温度对工件形成后的性能相当重要。现代电子工业的快速发展对自动检测的要求也越来越高。采用单片机对温度进行检测和控制,不仅具有控制方便和组态简单的特点,而且可以提高被控量的技术指标2。温度的控制在国民经济的各个部门中也有着十分广泛的应用。在这些应用中,一些场合(比如烤烟)要求温度的变化要遵循一定的工艺曲线,这就要求相应的温度控制系统要能够随时获得温度信息并施行实时控制。目前,该领域得到了相当广泛的关注,成为单片机领域的研究热点之一 3,4 。通过归纳各种成型技术的研究来看,可以

6、发现其技术的基础从小方面来说,大致可以分为四种。(1)就温度的检测来说,需要对于传感器的较清认识。就目前来说,温度传感器有四种主要类型:热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器。IC温度传感器又包括模拟输出和数字输出两种类型5。(2)单片机。单片机的使用有助于提高设计的精确度和准确度,简化结构,减小体积易于携带和使用,加速其向数字化,智能化,多功能化方向发展6。而正是因为这一原因,使得其在本课题中得以发挥其优势。(3)由于传感器输出的是模拟量,而单片机处理的是数字量,所以也需要A/D转换方面的知识。由于微处理器和微型计算机在各种检测,控制和信号处理系统中的广泛应用,也促进了A

7、/D,D/A转换技术的迅速发展7。(4)显示输出的数码显示管和报警的发声装置。数码管是一类显示屏,通过对其不同的管脚输入相对的电流会使其发亮,从而显示出数字,能够显示、时间、日期、温度、等所有可用数字表示的参数,由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱、等等。由此可以得出设计一款既能够固定显示8路中任一路的实时温度,又具有循环检测显示8路温度,同时还能对8路设定不同的报警温度的温度控制报警系统的设计轮廓。基于单片机的多路温度检测报警系统 22系统设计通过资料的检索和对于设计任务的理解,明确了系统的大致作用和原理。其大致分为6个部分。一是负责温度检测的温度

8、传感器部分,二是将温度传感器得到的模拟量转变为数据量的模数转换部分,三是负责温度显示的数码管部分,四是负责报警并显示实时温度的部分,五是控制的选择开关部分,六是将这些功能综合控制的单片机核心。系统原理框图如图1所示。图2-1 系统的原理框图2.1温度传感器温度是一个基本的物理量,自然界中的一切过程无不与温度密切相关。温度传感器是最早开发,应用最广的一类传感器。温度传感器的市场份额大大超过了其他的传感器。从17世纪初人们开始利用温度进行测量。在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、

9、红外传感器和微波传感器。两种不同材质的导体,如在某点互相连接在一起,对这个连接点加热,在它们不加热的部位就会出现电位差。这个电位差的数值与不加热部位测量点的温度有关,和这两种导体的材质有关。这种现象可以在很宽的温度范围内出现,如果精确测量这个电位差,再测出 不加热部位的环境温度,就可以准确知道加热点的温度。由于它必须有两种不同材质的导体,所以称之为“热电偶”。不同材质做出的热电偶使用于不同的温度范 围,它们的灵敏度也各不相同。热电偶的灵敏度是指加热点温度变化1时,输出电位差的变化量。对于大多数金属材料支撑的热电偶而言,这个数值大约在 540微伏之间。热电偶传感器有自己的优点和缺陷,它灵敏度比较

10、低,容易受到环境干扰信号的影基于单片机的多路温度检测报警系统 3 响,也容易受到前 置放大器温度漂移的影响,因此不适合测量微小的温度变化。由于热电偶温度传感器的灵敏度与材料的粗细无关,用非常细的材料也能够做成温度传感器。也由于制作热电偶的金属材料具有很好的延展性,这种细微的测温元件有极高的响应速度,可以测量快速变化的过程。温度传感器是五花八门的各种传感器中最为常用的一种,现代的温度传感器外形非常得小,这样更加让它广泛应用在生产实践的各个领域中,也为我们的生活提供了无数的便利和功能。 温度传感器有四种主要类型:热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器。IC温度传感器又包括模拟输

11、出和数字输出两种类型。本系统利用温度传感器AD590采集温度,通过外接电路将电流信号转换为电压信号。2.2模数转换模数转换(ADC)亦称模拟一数字转换,与数/模(D/A)转换相反,是将连续的模拟量(如象元的灰阶、电压、电流等)通过取样转换成离散的数字量。例如,对图象扫描后,形成象元列阵,把每个象元的亮度(灰阶)转换成相应的数字表示,即经模/数转换后,构成数字图象。通常有电子式的模/数转 换和机电式模/数转换二种。在遥感中常用于图象的传输,存贮以及将图象形式转换成数字形式的处理。例如:图像的数字化等。信号数字化是对原始信号进行数字近似,它需要用一个时钟和一个模数转换器来实现。所谓数字近似是指以N

12、-bit的数字信号代码来量化表示原始信号,这种量化以bit位单位,可以精细到1/2N。时钟决定信号波形的采样速度和模数转换器的变换速率。转换精度可以做到24bit,而采样频率也有可能高达1GHz,但两者不可能同时做到。通常数字位数越多,装置的速度就越慢。模数转换包括采样、保持、量化和编码四个过程。在某些特定的时刻对这种模拟信号进行测量叫做采样。通常采样脉冲的宽度是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。假设噪声信号在量化电

13、平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的,例如,采样和保持就利用一个电路连续完成,量化和编码也是在转换过程中同时实现的,且所用时间又是保持时间的一部分。本系统利用模数转换芯片ADC0809在单片机AT89C51的控制下针对所定一路的模拟信号进行转换。2.3单片机单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力基于单片机的多路温度检测报警系统 4 的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断 系统、定时器/计时器等功能(可能还包括显示驱动电路、脉

14、宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本系统利用AT89C51对整个系统进行控制。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。 AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非 易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51是一种高效微控制器。管脚说明:VCC:供电电压。GN

15、D:接地。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

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

17、入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)基于单片机的多路温度检测报警系统 5P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时 间。 ALE/PROG:当访问外部

18、存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作 对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。 此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器 周期两次/PSEN有效。但在访问外部数据存储器时

19、,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储 器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石 晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信

20、号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任 何要求,但必须保证脉冲的高低电平要求的宽度。2.4数码显示数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位 等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。 共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成

21、公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM基于单片机的多路温度检测报警系统 6 接到地线GND上,当某一字段 发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的 驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码 进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显

22、示则需要5×840根I/O端口来驱动,要知道一个 89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔 划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片 机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的 数码管的

23、选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态 驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫 描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。主要参数8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;

24、高 数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。本系统使用动态显示驱动4位数码管显示温度部分,使用静态显示驱动显示路数。基于单片机的多路温度检测报警系统 73 硬件电路设计3.1电路的整体结构电路的硬件电路由以下几个组成部分:模拟采集电路,开关控制电路,LED数码显示电路

25、,模数转换电路,单片机。3.2 模拟采集电路温度传感器对整个系统的精确度非常重要,常用的温度传感器热电阻、热电偶,半导体集成型温度传感器。本系统对传感器的测量精度线性度要求较高,且信号采集 与处理电路的距离变化较大,采用的温度传感器为AD590,它是美国模拟器件公司生产的单片集成电路温度传感器。具有如下优点5:1) 流过器件的电流(uA)等于器件所处环境的热力学温度(开尔文)度数;2) AD590的测温范围为-55+150;3) AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和 20V反向电压,因而器件反

26、接也不会被损坏;4) 精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+155范围内,非线性误差为±0.3。模拟采集电路如图3-1所示。图3-1 模拟采集电路由于流过AD590的电流(以uA为单位)在数值上等于所处环境的热力学温度(以开尔文为单位),在T下流过AD590的电流就为(273+T)uA。 在图中用10K的电阻将电流量基于单片机的多路温度检测报警系统 8 转换为电压量,经过电压跟随器得到V2=(2.73+T/100)V。 在此处电压跟随器的作用是为了利用高输入阻抗使I不分流。调节50K可变电阻使V1=2.73V,从而使V0=T/20V。3.3 模数转

27、换电路ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图3-3)。多路开关可选通8个模拟通 道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。ALE为地址锁存允许 输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如表3-1所示。图3-2 A

28、DC0809内部结构图表3-1 ADC0809通道选择表ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器基于单片机的多路温度检测报警系统 9 向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频 率为500KHZ。VREF(),VREF()为参考电

29、压输入。3.4 LED数码显示电路在LED数码显示电路中,温度显示部分选择了较为常用的动态显示方式。由P0连接7SEG-MPX4-CA的字形码输入端,P2的低四位连接其位地址输入端。连接如图3-4。而在路数的显示上,通过双十制同步计数器CD4511和BCD-7段数码管译码驱动器CD4511组成加法电路进行静态显示。如图3-5。CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器CD4511 引脚功能介绍如下:BI:4脚是消隐输入控制端,当BI=0

30、 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。CD4518是双十进制(8421编码)同步加法计数器,内含两个单元的加法计数器。每单个单元有两个时钟输入端CLK和EN,可用时钟脉冲的上升沿或下降沿触发。若用ENABLE信号下降沿触发

31、,触发信号由EN端输入,CLK端置“0”; 若用CLK信号上升沿触发,触发信号由CLK端输入,ENABLE端置“1”。RESET端是清零端,RESET端置“1”时,计数器各端输出端Q1Q4均为“0”,只有RESET端置“0” 时,CD4518才开始计数。CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当 Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态 (“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复

32、到“0”态。基于单片机的多路温度检测报警系统 10图3-3 温度显示部分的数码电路图3-4 路数的静态显示3.5电路总图通过将各部分设计的综合,得到电路总图。如图3-6.基于单片机的多路温度检测报警系统 11图3-5 电路总图基于单片机的多路温度检测报警系统 124 软件程序设计本系统中单片机的软件程序设计采用汇编语言,并在编写程序时采用模块化编程方法,将程序分为主程序、显示子程序、按键子程序等部分。这样在编写程序的过程中思路更加清晰,增加了程序的可读性,可靠性,可移植性。使软件的功能扩展更加灵活。4.1 主程序设计主程序的设计主要包括控制ADC0809进行模数转换,确认选择开关的状态,启动A

33、D转换,确认AD转换的结果,读和处理数据,报警以及显示温度的过程。图4-1 主程序流程图基于单片机的多路温度检测报警系统 134.2 程序LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32HADCEQU 35HTCNTA EQU 36H TCNTB EQU 37HTEMP_1 EQU 38H TEMP_2 EQU 39H TEMP_3 EQU 40H TEMP_4 EQU 41H TEMP_5 EQU 42H TEMP_6 EQU 43H TEMP_7 EQU 44H TEMP_8 EQU45HFLAG BIT 00H K2 BIT p3.0 K1 BIT p3.

34、2 K3 BIT p3.1 K4 BIT p3.3 num1 BIT p3.4 num2 BIT p3.5 num3 BIT p3.6 SOUND BIT P3.7 CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OEBITP2.7ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG1BHLJMP INT_T1START: CLR num1 CLR num2 CLR num3MOV LED_0, #00H MOV LED_1, #00H MOV LED_2, #00H MOV DPTR, #TABLE MOV TMOD, #12H

35、 MOV TH0, #245 MOV TL0, #0MOV TH1, # (65536-1000)/256 MOV TL1, # (65536-1000) %256 MOV IE, #8aH CLR C SETB TR0WAIT: CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV ADC,P1 CLR OE MOV A,TEMP_1 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOC基于单片机的多路温度检测报警系统 14SETB NUM1 CLR NUM2 CLR NUM3 CLR ST SETB STCLR ST JNB

36、 EOC,$ SETB OE MOV ADC,P1CLR OE MOV A,TEMP_2 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOCSETB NUM2 CLR NUM1 CLR NUM3 CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV ADC,P1CLR OE MOV A,TEMP_3 MOVR0,ADC SUBB A,R0 JC HALM CLR TR1LJMP PTOCSETB NUM2SETB NUM1 CLR NUM3 CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV

37、ADC,P1CLR OE MOV A,TEMP_4 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOCCLR NUM1 CLR NUM2 SETB NUM3 CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV ADC,P1CLR OE MOV A,TEMP_5 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOCSETB NUM1 CLR NUM2基于单片机的多路温度检测报警系统 15SETB NUM3 CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV A

38、DC,P1CLR OE MOV A,TEMP_6 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOCCLR NUM1 SETB NUM2 SETB NUM3 CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV ADC,P1CLR OE MOV A,TEMP_7 MOVR0,ADC SUBB A,R0 JC HALM CLR TR1LJMP PTOCSETB NUM1 SETB NUM2 SETB NUM3CLR ST SETB STCLR ST JNB EOC,$ SETB OE MOV ADC,P1CLR OE MOV A

39、,TEMP_8 MOVR0,ADCSUBB A,R0 JC HALM CLR TR1LJMP PTOCPTOC: MOV A, ADC ;数值转换MOV B, #100 DIV AB MOV LED_2, A MOV A, B MOV B,#10 DIV AB MOV LED_1,AMOV LED_0,B LCALL DISP SJMP WAIT INT_T0:CPL CLOCK ;提供ADC0809时钟 RETI HALM:;高温报警SETB TR1SETB FLAG LJMP PtOC基于单片机的多路温度检测报警系统 16INT_T1: MOV TH1, #(65536-1000)/256

40、 MOV TL1, #(65536-1000)%256 CPL SOUND INC TCNTA MOVA, TCNTAJB FLAG,I1CJNE A,#30,RETUNESJMP I2 I1:CJNE A, #20, RETUNEI2:MOV TCNTA, #0INC TCNTB MOV A, TCNTB CJNE A, #25, RETUNEMOV TCNTA, #0 MOVTCNTB, #0LCALL DELAY2 RETUNE: RETI DISP: MOVA, LED_0 ;数码显示子程序MOVC A,A+DPTR CLR P2.3 MOV P0, A LCALL DELAY SET

41、B P2.3 MOV A, LED_1MOVC A,A+DPTR CLR P2.2 MOVP0, ALCALL DELAY SETB P2.2 MOV A, LED_2 MOVC A,A+DPTR CL R P2.1 MOVP0, ALCALL DELAY SETB P2.1 RETDELAY: MOV R6, #10 D1: MOV R7, #250DJNZ R7, $ DJNZ R6, D1RETDELAY2: MOV R5,#20 D2: MOV R6, #20 D3: MOV R7, #250DJNZ R7, $ DJNZ R6, D3 DJNZ R5, D2RETTABLE: DB

42、3FH, 06H, 5BH, 4FH, 66HDB 6DH, 7DH, 07H, 7FH, FH END基于单片机的多路温度检测报警系统 175 电路板设计本系统中单片机的电路板设计通过proteus软件导出PCB板布线图。Proteus(海神)的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿 真、C调试器、SPI

43、调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各 种外围芯片。支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。5.1设计过程与成果在Proteus 6 Professional 中用ISIS 6 Professional 设计好电路原理图,并结合Keil C51进行软件编程和硬件的仿真调试,调试成功后,便可开始制作PCB。单击Des

44、ign Toolbar中的ares图标或通过Tools菜单的Netlist to ARES 命令打开设计面板。若原理图中的某些器件没有自动加载封装或者封装库中没有合适的封装,那么在加载网络表时就会弹出一个要求选择封装的对话框,这时就需要根据具体的元件及其封装进行手动选择并加载。PCB板边框画好以后,就要设置电路板相关参数。单击System中的Set Default Rules项,在弹出的对话框中设置参数,有焊盘间距、线与焊盘间距、线与线间距等一些安全允许值。然后在Tools中选中布线规则项,在弹出的对话框中单击Edit Strategies项。在左上Strategy栏中分别选中POWER和SI

45、GNAL,在下面的Pair1中选同一层。这样,就完成了在单层板中布线的设置。到此,对一些主要的参数设置就完成了。别的系统参数设置,可以在System和Tools中去完成。电路板的规则设计完以后,就可导入元件并布局。布局采用自动布局方式,在界面的菜单栏中选中项,弹出对话框,单击OK,就自动把元件布局于PCB板中了。接下来对元件进行调整,主要是对元件的移动和翻转等操作。对元件的布局原则是:美观、便基于单片机的多路温度检测报警系统 18 于布线、PCB板尽可能的小。PCB的元件布局完成如图5-1所示。先用自动布线,然后手工修改。在布线的过程中,如果需要改变某一根线的大小,可以双击右键,选择Trace

46、 Style选项中的合适类型;要删除该线,则左键单击Delete。如果要删除整个布线,那么就选中所有的连线,左键单击工具菜单栏中的对于焊盘的修改,可以在布线完成之后进行。先选中工具菜单栏中的图标即可。选项,然后在选择窗口中选中合适的焊盘,在需要改变的元件焊盘处单击鼠标左键即可。PCB的布线图如图5-2所示。图5-1元件布局图基于单片机的多路温度检测报警系统 19图5-2布线图最后就是输出打印电路版图了。先单击Output选项中的Set Output Area选项,按住鼠标左键并拖动,选中要输出的版图。然后是设置要打印的输出电路层。在Output选项中单击Print/Plot Layout选项,

47、出现设置对话框,在设置对话框中,单击选择Printer,可以选择打印机和设置打印纸张以及版图放置方向。在下面的Layers/Artworks栏中选择要打印的层。因为布线是在底层进行的,所以在打印布线层时,在Bottom Copper和Board Edge选项前打勾,表示选中要打印输出;而在打印元件的布局层(丝印层)时,在Top Silk 和Board Edge选项前打勾(这一层在打印时注意需要选择镜象打印);Scale选项是打印输出的图纸比例,选100%;Rotation 和Reflection选项分别是横向/纵向输出和是否要镜象的设置。设置好以后就可以打印了,如图5-3和图5-4所示的分别为

48、丝印层与布线层的打印效果图。基于单片机的多路温度检测报警系统 20图5-3丝印层的打印效果图图5-4布线层的打印效果图基于单片机的多路温度检测报警系统 215.2实验数据分析因为ADC0809的最高电压为5 V,所以测量的最高温度是100。而100所对应的二进制数为11111111,电压为5 V。单片机读人数据时将二进制数转化为十进制数后乘以(100255)后就得到环境的温度。100255=0392157,为了编程便于处理小数,将读入的二进制数化为十进制数后乘以4后取它的百位、十位、个位,然后再输出给显示部分,它们分别对应实际温度的十位、个位、小数位。在实际实验中显示的温度与实际温度的比较如表

49、5-1所示,可以看出用此算法测量的温度具有一定的准确性,绝对误差以及相对误差在一定的范围内适用。若取039则测量的温度会更加准确。表5-1 显示温度与实际温度的比较表基于单片机的多路温度检测报警系统 226 结论本系统的设计更具人性化的特点,可以对8路分别设定不同的上限报警温度,这样在需要不同温度的测量中更显优势。并且在报警的同时还能显示报警的设定温度和这一路的实际温度,可以为操作人员提供更多的信息。本系统所需的元器件价格低廉,单片机资源的利用率较高。4个开关实现的功能比较多,使操作人员操作简便。数码显示部分分别采用了动态显示和静态显示,动态显示部分的程序编写较复杂,而在路数的显示上,由于使用

50、的是静态显示,所以不需要额外的程序。采用ADC0809模数转换芯片使得其直接对8路温度进行检测,通过单片机操作ADC0809的转换过程使得整个系统更具精确性和条理性。在温度数据的处理上用的方法可达到04的精确度,满足一定场合的用途。由于AD590的个数以及所属电路的复杂性,在使用Proteus对硬件电路进行模拟和在实际实验箱的操作过程中,使用8个电位器代替。在这次的毕业设计过程中,在前人的系统原理图经验之下,自我研发了一个全新的多路温度检测报警系统的硬件设计,并通过自主学习,学会了如何使用Proteus进行PCB板的设计输出和丝印层布线层的打印。对于单片机的理解有了一个全新的高度,在软件设计方面,对于动态显示部分,如何通过单片机输出指令给外芯片操作,如何接收外芯片给予的数据并进行处理,如何在芯片内部转化十进制数至二进制数并输出给4位数码管显示的程序进行了自主学习并编程。PCB板的设计在Proteus中进行自动布局和自动布线之后手动调整,由于牵涉诸多专业参数的问题,设计后的结果虽然在一定程度上符合电路标准,但未必能够达到真正的实际运用。所以在考虑时间所限的情况下,采用实验箱对模拟情况进行实际操作。基于单片机的多路温度检测报警系统 23参考文献1李永.医用体温监测系统研究口J.现代电子技术,2006,21(11):89-992邓荣.基于

温馨提示

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

评论

0/150

提交评论