单片机温度控制完整版.docx

上传人:b****7 文档编号:10069735 上传时间:2023-02-08 格式:DOCX 页数:30 大小:38.26KB
下载 相关 举报
单片机温度控制完整版.docx_第1页
第1页 / 共30页
单片机温度控制完整版.docx_第2页
第2页 / 共30页
单片机温度控制完整版.docx_第3页
第3页 / 共30页
单片机温度控制完整版.docx_第4页
第4页 / 共30页
单片机温度控制完整版.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

单片机温度控制完整版.docx

《单片机温度控制完整版.docx》由会员分享,可在线阅读,更多相关《单片机温度控制完整版.docx(30页珍藏版)》请在冰豆网上搜索。

单片机温度控制完整版.docx

单片机温度控制完整版

Documentserialnumber【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

 

单片机温度控制

摘要

随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。

为了更好地推广单片机在实际生活和生产中的应用,本文从硬件和软件两个方面介绍了基于AT89C52单片机温度控制系统的设计,以实现系统能自主调节温度的功能。

该系统的硬件部分由温度采集模块、键盘扫描及按键处理模块、温度显示模块、继电器控制模块组成。

其中温度采集模块采用温度传感器DS18B20来采集当前温度,并对采集的温度信号进行A/D转换以数字信号的方式传送给单片机。

键盘扫描及按键处理模块由3×4矩阵键盘、反相驱动器74LS06、显示驱动芯片8279组成,完成扫描键盘,形成键码,并将其送至单片机处理。

温度显示模块由显示驱动芯片8279和数码管组成,输入的温度值进行比较,并通过液晶显示器LCD显示出来。

继电器控制模块由继电器和升温电炉、降温风扇组成。

如果采集温度低于设置温度,系统将通过继电器模块自动控制升温;如果采集温度高于设置温度,系统将通过继电器模块自动控制降温。

该系统的软件设计部分由系统主程序流程框图、温度处理子程序流程框图、键盘处理子程序框图组成,其中系统主程序由初始化程序、扫描键盘程序及温度处理子程序组成。

温度采集子程序由对温度传感器的初始化和温度处理程序组成。

键盘处理子程序由8279芯片的初始化程序及扫描处理程序组成。

关键词:

单片机AT89C52;温度控制;温度传感器DS18B20;液晶显示器LCD。

Abstract

Withtheelectronicproductsdevelopingtointelligentandminiaturization,singlechiphasbecomethefirstchosencontrollerwhichisusedtodevelopandexploretheelectronicproduct.Inordertopromotesinglechipapplicatinginreallifeandproduction,thepaperwillintroduceatemperaturecontrolsystemwhichisbasedonakindofsinglechipAT89C52,anditcanachievethefunctionthatthesystemcanregulatethetemperatureindependently.

Thehardwareofthesystembythetemperatureacquisitionmodule,keyboardscanandkeyprocessingmodule,temperaturedisplaymodule,relaycontrolmodule.WhereinthetemperaturesensorDS18B20temperatureacquisitionmoduletoacquirethecurrenttemperature,andtheacquisitionofthetemperaturesignaltotheA/Dconverteddigitalsignalistransferredtothemicrocontroller.Keyboardscanandkeyprocessingmoduleconsistsofa3×4matrixkeyboard,invertingdriver74LS06displaydriverchip8279,tocompletethescankeyboard,akeycode,andsenttothemicrocontrollerprocessing.Thetemperaturedisplaymoduleconsistsofadisplaydriverchip8279anddigitaltubes,theinputtemperaturevaluesarecompared,andthroughtheliquidcrystaldisplayLCDdisplay.Relaycontrolmodulerelayandheatingfurnace,coolingfan.Iftheacquisitiontemperatureisbelowthesettemperature,thesystemwillautomaticallycontrolledbytherelaymoduletemperature;thecollectingtemperatureishigherthanthesettemperature,thesystemwillautomaticallycontrolthecoolingrelaymodule.

Softwaredesignofthesystembythesystemmainprogramflowblockdiagramtemperatureprocessingthesubroutineflowdiagram,keyboardhandlingsubroutineblockdiagramform,thesystemmainprograminitializationprocedure,scanningkeyboardprogramandtemperatureprocessingtemperatureacquisitionsubroutinebythetemperaturesensortheinitializationandtemperaturehandler.Thekeyboardhandlingroutinebythe8279chipinitializationproceduresandscanningprocess.

Keywords:

SingleChipAT89C52;TemperatureControl;TemperatureSensor-DS18B20;LiquidCrystalDisplay.

绪论1

选题背景与意义1

选题介绍1

1.单片机温度控制系统总体设计2

系统的特征2

系统的设计目标和原则2

系统模块设计2

系统层次框图2

2.硬件系统设计4

单片系统设计4

2.1.1主要性能参数4

2.1.2功能特性概述5

2.1.3管脚说明5

2.1.4定时与计数6

2.1.5复位电路6

2.1.6时钟电路6

温度传感模块的设计7

2.2.1DS18B20的性能特点7

2.2.2DS18B20控制方法7

2.2.3DS18B20使用中注意事项8

2.2.4高速暂存存储器9

键盘显示模块的设计9

2.3.1键盘显示驱动芯片827910

8279内部结构11

2.3.3键盘和数码管12

继电器控制模块的设计12

2.4.1继电器接点说明13

2.4.2继电器控制升温13

2.4.3继电器控制降温13

3.系统软件设计14

系统主程序流程图14

键盘处理子程序15

DS18B20子程序图15

体会17

致谢18

参考文献19

附录20

绪论

选题背景与意义

在生产的管理过程中,温度的控制是十分常见的。

国内已相继出现各种以微机为核心的温度控制系统。

这种系统控制精度高、重复性好、自动化程度高。

在日常生活中,人们为了拥有一个更舒适的生活环境,往往需要室内拥有一个合适的温度,而单片机的准确性高、价格低、功耗低等一系列优点,可结合升温和降温设备,有效的应用到实际生活中。

单片机温度控制系统是单片机控制的一项简单应用。

近几年来单片机因其独特的,方便,快捷的优势被广泛的应用于各个领域之中。

选题简介

课题名称:

单片机温度控制系统设计

主要任务:

将温度控制在设定的温度值,设定范围为0-99度,针对在生产和日常生活中温度智能化控制系统的实现。

开发环境:

本环境温度控制系统的软件部分是通过KEIL进行编译。

技术指标:

(1)以AT89C52系列单片机为核心部件

(2)以数字电路和模拟电路为硬件基础

(3)以C语言为软件实现语言

功能概述:

在该环境温度控制系统中,单片机作为核心部件进行检测控制,增强了设计的通用性,适时性。

在该环境温度控制系统中温度检测采用DS18B20温度传感器,它不仅具有较高的精度,而且适用电压宽。

同时采用了3X4矩阵扫描键盘输入,显示设备等外围扩展芯片。

软件部分采用流程图来表示。

1.单片机温度控制系统总体设计

系统的特征

从功能上讲单片机温度控制系统应该能够快速提供真实准确的温度数据,并能实现断开操作,从而使粮仓保持在一个恒定的温度。

同时单片机温度控制系统也具有如下特征:

(1)粮仓温度需要不间断测量。

(2)必须有效地测量的精度。

(3)系统反应时间短,稳定性高。

(4)执行装置可靠。

系统的设计目标和原则

单片机温度控制系统的建立是一个系统工程,包括硬件和软件两个方面,从技术角度看,系统设计必须进行充分的需求调查,对运作机制、信息流程、现有仪器状态、用户要求等做详尽的了解,在从系统工程的角度出发、采用快速原型法,进行从上而下的系统详细设计。

根据单片机温度控制系统的特点,确定如下设计原则:

(1)实用性原则:

要求最大限度地满足实际工作的需要,充分考虑其实用性。

(2)可靠性原则:

设计要简洁,保证长时间工作的可靠性。

(3)准确性原则:

保证测量数据的准确性。

系统模块设计

(1)单片机控制模块

(2)温度传感模块

(3)键盘、显示模块

(4)继电器控制模块

系统层次框图

本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:

单片机主控模块、温度传感模块、键盘显示模块、继电器控制模块。

其中,温度控制系统以AT89C52单片机为核心,并扩展外部存储器构成主控模块。

利用温度传感器DS18B20检测并转换成微弱的电压信号。

它具有精度高﹑可靠性好和能直接将模拟被测量转换成数字量输出,因此不需要加A/D转换,电路更加简单。

键盘扫描及显示模块主要由显示驱动芯片8279、反相驱动器74LS06、数码管和3×4组成,完成了温度设定值的输入和显示温度的功能。

继电器控制模块完成对升温电炉和降温风扇的控制。

对上述各项功能需求进行集中、分块、按照结构化程序设计的要求,得到温度测量保护系统层次框图,如图1-1所示。

图1-1单片机温度控制系统层次框图

2.单片机温度控制系统的电路设计

单片机温度控制系统的电路设计在整个系统中占有非常重要的地位,电路结构设计的好坏将直接对应用系统的效率以及实现的效果产生的影响。

合理的电路结构设计可以大大提高工作的效率,保证数据系统的可靠性。

同时合理的电路结构也将有利于程序的实现。

单片机模块

单片机模块主要由单片机芯片AT89C52组成,本模块负责与温度传感器、键盘显示驱动传递命令和数据,并进行数据的处理。

单片机从8279读入键盘扫描得到的温度设定值,并将数据保存在存储器某一单元。

单片机还负责从DS18B20的数据引脚读入实际的温度值,保存在某一单元。

最后,单片机对两者进行比较,从而确定执行的操作。

单片机引脚图如图2-1所示

图2-189C52单片机引脚图

2.1.1主要性能参数

·与MCS-51产品指令和引脚完全兼容

·256*8位内部RAM

·32可编程I/O线

·3个16位定时器/计数器

·8个中断源

·可编程串行UART通道

·片内振荡器和时钟电路

·8K字节可重擦写flash闪烁存储器

·全静态工作:

0Hz-24Hz

·三级加密程序存储器

·1000次擦写周期

2.1.2功能特性概述

AT89C52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.1.3管脚说明

(1)VCC:

供电电压。

(2)GND:

接地。

(3)P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4)P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流。

在FLASH编程和校验时,P1口作为第八位地址接收。

(5)P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6)P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。

P3口也可作为AT89C52的一些特殊功能口,管脚备选功能如下:

RXD(串行输入口)TXD(串行输出口)

/INT0(外部中断0)/INT1(外部中断1)

T0(记时器0外部输入)T1(记时器1外部输入)

/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

(7)RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平。

(8)ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(9)/PSEN:

外部程序存储器的选通信号。

在外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,两次有效的/PSEN信号将不出现。

(10)/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)工作,不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(11)XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

(12)XTAL2:

来自反向振荡器的输出。

2.1.4定时与记数

AT89C52单片机内部设有3个16位的可编程定时器/计数器,简称为定时器O(T0)、定时器l(T1)和定时器2(T2)。

可编程是指其功能(如工作方式,定肘时间、量程、启动方式等)均可由指令来确定和改变。

在定时器/计数器中除了有3个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

2.1.5复位电路

AT89C52单片机复位是使CPU和系统中的其他芯片处于一个确定的初始状态,无论在系统刚开始接通电源时,还是在断开电源或者发生故障后都需要复位。

单片机的复位条件是在复位引脚RST加上持续的2个机器周期以上的高电位。

复位电路如图2-2所示

图2-2复位电路

2.1.6时钟电路

时钟电路是系统的心脏,它控制着系统的工作节奏,时钟频率因型号而异,典型值为12MHz。

AT89C52单片机内部有一个带反馈的线形反相放大器,XTAL1,XTAL2分别为反相器输入和输出端,外接晶振和电容组成震荡器。

震荡器在加电以后延迟一段时间(约10ms)起振产生时钟。

时钟电路如图2-3所示

图2-3时钟电路图

温度传感模块

温度传感模块主要由单线数字温度传感器DS18B20组成,主要完成温度的测量,并将其转换成数字量,传送给单片机。

温度传感模块如图2-4所示

图2-4温度传感模块图

2.2.1DS18B20性能特点

1采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)。

2测温范围为-55℃-+125℃,测量分辨率为℃。

3内含64位经过激光修正的只读存储器ROM。

4适配各种单片机或系统机。

5用户可分别设定各路温度的上、下限。

6内含寄生电源。

2.2.2DS18B20控制方法

在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时Vcc、GND接地,I/O接单片机I/O。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

DS18B20有六条控制命令,如表2-1所示:

指令

约定代码

操作说明

温度转换

44H

启动DS18B20进行温度转换

读暂存器

BEH

读暂存器9个字节内容

写暂存器

4EH

将数据写入暂存器的TH、TL字节

复制暂存器

48H

把暂存器的TH、TL字节写到E2RAM中

重新调E2RAM

B8H

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

读电源供电方式

B4H

启动DS18B20发送电源供电方式的信号给主CPU

表2-1DS18B20的六条控制命令

2.2.3DS18B20使用中注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

(1)每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待16~60us左右,后发出60~240us的存在低脉冲,主CPU收到此信号表示复位成功。

(所有的读写时序至少需要60us,且每个独立的时序之间至少需要1us的恢复时间。

在写时序时,主机将在下拉低总线15us之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60us的低电平,则向单总线器件写0。

单总线仅在主机发出读写时序时才向主机传送数据,所以,当主机向单总线器件发出读数据指令后,必须马上产生读时序,以便单总线器件能传输数据。

(2)在写数据时,写0时单总线至少被拉低60us,写1时,15us内就得释放总线。

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

(4)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。

(5)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。

当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

(6)连接DS18B20的总线电缆是有长度限制的。

试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。

当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。

这种情况主要是由总线分布电容使信号波形产生畸变造成的。

因此,在用DS1B820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

(7)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。

这一点在进行DS18B20硬件连接和软件设计时也要给予重视。

2.2.4高速暂存存储器

在DS18B20内部结构中有一个高速暂存存储器,该存储器由9个字节组成,其分配如表所示。

当温度转换命令发布后,经转换所得的温度值以二进制补码形式存放在高速暂存存储器的第0和第1个字节。

单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表2-2所示。

对应的温度计算:

当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算成十进制值。

表2-2DS18B20暂存器分布

CPU对DS18B20的访问流程是:

先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器和数据进行操作。

DS18B20每一步操作都要遵循严格的工作时序和通信协议。

如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

键盘、显示模块

键盘、显示模块主要由键盘、显示驱动芯片8279、数码管、3×4键盘矩阵、反相驱动器74LS

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1