英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
基于AT89S51单片机的温度控制系统的设计
摘要:本文研究了基于AT89S51单片机的温度控制系统的原理和功能,温度测量模块包括单总线数字温度传感器DS18B20。系统可以预期监测预置温度、显示时间并且保存监控数据。如果温度超过上限和下限值,系统就会报警,这个上限和下限值可以任意设定,从而实现自动控制,因此温度可以被智能控制在一个确定的范围内。基于系统的原理,只需要合理地改变一些软件设计,就能很容易的实现一些其他的非线性控制系统。经过多方面的实践,该系统被证明是准确的,可信的和令人满意的。
关键字:AT89S51;单片机;DS18B20;温度。
- 简介
温度在人类生活中是一个非常重要的参数。在现代社会中,温度控制(TC)不仅用于工业生产,而且还广泛地应用于其他各个领域。随着生活水平的提高,我们可以在酒店工厂和家庭等地方看到TC设备。TC能更好地服务于社会已成为一种趋势,因此测量和控制温度是非常有意义的。
基于AT89S51单片机和温度传感器DS18B20,系统能智能地控制环境温度。温度可以被任意地设定在一定范围内。该系统能在LCD上显示时间并且保存监控数据,而且能在环境温度超过上限和下限值时进行温度控制。通过这样的手段来使温度保持不变。该系统具有高抗干扰性、高控制精度和灵活的设计,能适应各种恶劣环境。它被主要应用于人们生活中来提高工作和生活质量。它也是通用的,它可以方便地拓展系统的使用。因此设计至关重要。整个设计包括了系统的总体设计,硬件设计和软件设计。
- 系统整体设计
TC的硬件框图如图1所示。系统硬件包括单片机、温度检测电路、键盘控制电路、时钟电路、显示、报警、驱动电路和外部内存。基于AT89S51,DS18B20把检测到的温度信号转换为数字信号。并把信号送到单片机进行处理,最后把温度值显示在液晶显示屏LCD12232F上。这些步骤是用来实现温度检测的。使用键盘接口芯片HD7279设置温度值,用单片机保持一个确定的温度值,用液晶显示预设温度来控制温度。此外时钟芯片DS1302用于显示温度,外部RAM6264用于存储监控数据。如果温度超过上限或下限值,蜂鸣器会及时发出警报。
DS18B20
LCD circuit
Clock circuit
Alarm circuit
Drive circuit
Keyboard
control circuit
External RAM
AT89S81
图1 硬件框图
- 硬件设计
- 单片机
AT89S51单片机是一个低功耗、高性能CMOS8位单片机,带有4 K字节的系统可编程闪存。使用Atmel的高密度非易失性存储技术,并兼容行业标准80C51指令集和引脚。芯片上的Flash允许在系统重新编程,用传统的非易失存储器存储。通用8位CPU和在系统可编程闪存结合在一个集成芯片上,AT89S51是一款功能强大的单片机,为许多嵌入式控制应用程序提供高度灵活和经济的解决方案。最小系统单片机如图2所示。
为了保存监控数据,使用6264作为外部RAM,它是一个静态RAM芯片,低功耗,有8K字节内存。
图2 最小单片机系统
- 温度检测电路
温度传感器是系统中的关键部分。本设计使用的是DS18B20,支持单总线接口,在国内拥有专利。所有的传感器和转换电路集成在一起,就和晶体管一样。它的测量范围为-55℃~125℃,在-10℃~85℃时误差为plusmn;0.5℃,DS18B20采集的温度通过单总线方式传输通信,这极大地提高了系统的抗干扰能力并适应各种环境下的温度测量。温度测量电路如图3所示。
DS18B20有两种供电方式。首先是外部电源:DS18B20的1脚连接到地,2脚是输出信号,3脚连接到电源。第二种方法是寄生电源,寄生电源导致硬件电路很复杂,很难进行软件控制,导致芯片性能下降等等。但是DS18B20使用外部电源,连接到单片机的I/O端口的方式更常用。因此使用外部电源供电,2脚连接到AT89S51的P1.3脚。
图3 温度检测电路
实际上,如果有多点检测,可以把多个DS18B20接到一个单总线上。但是如果数量超过8个,驱动就会更难,软件设计会更复杂,单总线长度也会更长。通常来说单总线长度不会超过50m。为了实现远程控制,系统可以设计成无线通信来打破单总线的距离限制。
- LCD电路
液晶显示屏用的是LCD 12232F,能用来显示字符、温度和时间。12232F是一种内置有8192个128*32像素的汉字库和128个16*8像素的ASCII字符集图形点阵液晶显示器。它主要由行驱动器/列驱动器以及128*32全点阵液晶显示器组成,可完成图形显示,也可显示7.5*2个汉字。以并行或串行方式连接外部CPU接口。为了节约硬件资源,LCD 12232F应该以串行方式连接到AT89S52的四个输出端口上。连接电路图如图4所示。
LCD的灰度可以通过调整改变连接在Vlcd脚的电位器来改变。CLK用来传输串行通信时钟信号,SID用来传输串行数据,CS用来使能控制LCD,L 用来控制液晶背光电源。
图4 LCD电路
- 时钟电路
时钟模块使用地是DS1302芯片,,这是一个带有RAM的高性能、低功耗实时时钟芯片。DS1302为系统提供日历时钟并监测时间。时间数据由AT89S51处理并由LCD12232F显示,时间可以通过键盘调整。时钟电路如图5所示。
DS1302的晶振频率为32768Hz,补偿电容为6pF。它的振荡频率比较低,所以它可能不会连接电容,这样不会产生一个大的时间误差。备用电源可以连接到
3.6V的充电电池。
图5 时钟电路
- 键盘控制电路
系统的键盘接口由HD7279A驱动,芯片由 5 V单电源供电,直接连接到键盘,不需要其他任何有源器件。根据系统的基本要求和功能,只需要6个按钮。系统的功能由AT89S51单片机接收输入的数据设定。为了节省外部电阻器,使用1times;6键盘,相对应的按键码为:07H,0FH,17H,1FH,27H,2FH。通过阅读代码指令可以读出该指令。HD7279A 以串行模式连接到AT89S51单片机,只需要4个端口。如图6所示。DIG0 ~ DIG5和DP分别为6个键的纵线和行线,实现键盘监控、译码和关键代码识别。
图6 键盘控制电路
- 报警电路
为了简化电路,方便调试,报警电路使用一个5V的自动蜂鸣器,这可以使软件编程得到简化,如图7所示。它由PNP三极管9012控制。三极管的基集连接到AT89S51的P2.5脚,当温度超过上下限值,P2.5引脚输出低电平给三极管,就能使蜂鸣器报警了。
图7 报警电路
- 驱动电路
步进电机作为驱动装置来控制温度。四相八拍脉冲分布模式用于驱动电机,简单延时程序用来处理脉冲时间间隔以获得不同转速。步进电机有两个输出状态:一是当温度超过上限时,步进电机反向旋转(降低温度)。当温度低于下限值时,步进电机正常旋转(升高温度),除了不等于预设值。二是当温度介于上下限值之间等于预设值时,电机停止转动。通过这些步骤实现温度控制。此外还可以通过相关按键调整电机转速。如图8所示,代码数据通过单片机AT89S51的端口A11~A8(P2.3~P2.0)输入,并通过反相器74LS04反相输出。最后通过功率放大器2803A放大输出信号驱动电机。
图8 驱动电路
- 软件设计
根据总体设计要求和硬件系统的电路原理,以及改善程序的可读性和可转换性,使程序方便调试,决定使软件设计模块化。系统流程主要包括以下8个步骤:POST(上电自检)、系统启动、温度检测、报警处理、温度控制、时钟芯片DS1302操作、液晶和键盘操作。主程序流程图如图9所示。
简单分析上述8个任务,很容易发现最后5个任务需要实时操作。但温度检测可以用timer0定时1秒,也就是说每隔一秒检测一次温度。
系统初始化包括全局变量定义,RAM初始化,特殊功能寄存器初始化和外围设备启动。全局变量定义主要完成连接到AT89S51单片机的外部接口芯片的接口定义,和一些内存单元的特殊定义。RAM初始化主要是指内存处理。例如当系统上电时,时间代码会被存储在内部单元地址,或者闪烁标志被清除。特殊功能寄存器初始化包括加载定时器的初始值和开中断。例如当系统上电时计时器被初始化。外围设备启动是指设置外围设备的初始值。例如当系统上电液晶应该初始化,显示初始状态,写入温度转换命令,并且初始化时钟芯片DDS1302。
报警处理主要是降低或升高温度使温度保持在预设范围。当温度处于上限值和下限值之间,就要进行温度控制处理,也就是说需要根据预设值升高或降低温度。通过这样做使环境温度等于预设值,从而达到目标温度。
- 结论
温度控制系统具有友好的人机交互界面,硬件设备简单,成本低廉,温控精度高(误差在plusmn;1℃),方便多功能等优点。它可以广泛应用于-55℃~125℃的场合,具有一定的实用价值。
图9 主程序流程图
基于单片机的火灾自动报警系统
摘要:本文介绍了基于单片机的仓库火灾自动报警系统,系统主要由ATmega16芯片,温度传感器,烟雾传感器和EX-1自动拨号报警模块组成。系统中,温度信号转化为串行数据,烟雾信号转化为电压信号。所有数据由单片机处理。当监控系统在仓库监测到火情时,报警系统将会被打开,同时报警消息会通过EX-1发送给管理员,系统请求可以方便地使仓库管理员及时有效地处理火灾。
关键词:火灾报警系统;ATmega16;温度传感器;烟雾传感器。
- 简介
火灾报警系统在中国经历了从简单到复杂再到智能的过程。自动火灾探测和智能报警技术有了很大进步,计算和检测技术也得到了很大的发展。目前,火灾自动报警控制系统广泛用于散装储存工厂、购物中心、高级写字楼、酒店和其他地方。他们被用于一些智能报警控制领域,拥有高水平的总线报警控制系统。在一些居民区和商业建筑安装有单一的自动火灾报警探测装置。有时,这些报警检测设备未能报告或发出错误信息。由于使用的传感器单一,其可靠性并不高。因此,需要开发一个结构简单、成本低、可靠性高、快速响应的自动火灾探测系统。
2.系统总体设计
硬件框图如图1所示,硬件由温度传感器、烟雾传感器、信号处理模块、单片机模块和自动报警模块组成。通过传感元件 (烟雾传感器和温度传感器)将现场温度、烟雾和其他非电信号转化成电信号,信号处理将模拟量转换成数字量。最后,采样数据经过处理,并与单片机系统设定的范围进行比较。这个系统可以产生本地和远程自动报警信号。
图1 系统硬件框图
3.硬件部分
A. ATmega16
该系统使用美国Atmel公司的ATmega16单片机。ATmega16是基于AVR和RISC架构的增强型8位CMOS低功耗单片机。由于其先进的指令集和单一的时钟周期指令执行时间,ATmega16数据吞吐量高达1 MIPS / MHz。从而降低了系统的功耗,缓和了处理速度之间的矛盾。ATmega16具有以下特点:16 k字节在系统可编程Flash(具有同时读写能力,即RWW),512字节的EEPROM,1 k字节SRAM,32个通用I/O口,32个多用途的寄存器,JTAG边界扫描接口,支持片上调试和编程,有更灵活的定时器/计数器(T / C)模式,芯片内部/外部中断,可编程串行USART,有起始条件探测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC芯片,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六种可以通过软件选择的省电模式。
本芯片是以Atmel高密度非易失存储器技术生产的,芯片上的系统内可编程闪存允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行在AVR内核中的引导程序进行编程。引导程序可以使用任何接口将应用程序下载到闪存(Flash应用程序内存)。更新应用Flash存储区域时,Flash引导区(启动闪存)的程序继续运行,实现RWW操作。8位RISC CPU和系统内可编程flash集成在一个芯片上,使ATmega16成为一个强大的单片机。为许多嵌入式控制应用提供了一个灵活而低成本的解决方案。ATmega16有一组编程与系统开发工具,包括C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。
B.温度传感器
温度传感器采用由美国达拉斯半导体公司生产的DS18B20型智能温度传感器,其性能特点包括:
该传感器具有单总线专用技术,通过串口通信。还可以与其他I/O口和计算机接口连接,无需经过其他转换电路,直接输出温度测量值(9位2进制数,带符号位)。
温度测量范围为-55℃~125℃,测量分辨率为0.0625℃。
包含64位只读存储器。
适合各种单片机或者系统机。
用户可以分别设置每个温度的上限和下限。
带有寄生电源。
DS18B20与主芯片连接图如图2所示。DS18B20的引脚1接地,3脚节高电平,2脚接5.1K的上拉电阻,同时接受PD0脚的输出信号。拉高电平是用一个电阻把一个不确定的信号上拉到高电平,同时起到限流作用。一开始DQ脚处于高阻态,这样就可以通过上拉电阻使其处于高电位。同时主芯片接一个
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[148618],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。