基于单片机的温度控制系统设计论文123Word文档下载推荐.docx

上传人:b****6 文档编号:17005422 上传时间:2022-11-27 格式:DOCX 页数:38 大小:357.09KB
下载 相关 举报
基于单片机的温度控制系统设计论文123Word文档下载推荐.docx_第1页
第1页 / 共38页
基于单片机的温度控制系统设计论文123Word文档下载推荐.docx_第2页
第2页 / 共38页
基于单片机的温度控制系统设计论文123Word文档下载推荐.docx_第3页
第3页 / 共38页
基于单片机的温度控制系统设计论文123Word文档下载推荐.docx_第4页
第4页 / 共38页
基于单片机的温度控制系统设计论文123Word文档下载推荐.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

基于单片机的温度控制系统设计论文123Word文档下载推荐.docx

《基于单片机的温度控制系统设计论文123Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统设计论文123Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。

基于单片机的温度控制系统设计论文123Word文档下载推荐.docx

◆以数字电路和模拟电路为硬件基础

◆以汇编语言为软件实现语言

功能概述:

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

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

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

温度控制分为升温和降温控制,升温控制和降温控制分别采用继电器来控制外部的升温和降温设备。

软件部分采用流程图来表示,对各个子程序进行说明,包括控制算法,偏差计算等。

控制是否升温或降温。

第2章系统总体设计及方案

2.1单片机的介绍

随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时/计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。

2.1.1单片机的特点

1.具有优异的性能价格比

2.集成度高、体积小、可靠性高

3.控制功能强

4.低电压、低功耗

2.1.2单片机的基本组成

它由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。

输入/输出引脚P0、P1、P2、P3的功能:

P0.0~P0.7(32~39脚):

P0口是一个8位漏极开路型双向I/O端口。

在访问片外存储器时,它分时作低8位地址和8位双向数据总线用。

在EPROM编程时,由P0输入指令字节,而在验证程序时,则输出指令字节。

验证程序时,要求外接上拉电阻。

P0能以吸收电流的方式驱动8个LSTTL负载。

P1.0~P1.7(1~8脚):

P1是一上带内部上拉电阻的8位双向I/O口。

在EPROM编程和验证程序时,由它输入低8位地址。

P1能驱动4个LSTTL负载。

P2.0~P2.7(21~28脚):

P2也是一上带内部上拉电阻的8位双向I/O口。

在访问外部存储器时,由它输出高8位地址。

在对EPROM编程和程序验证时,由它输入高8位地址。

P2可以驱动4个LSTTL负载。

P3.0~P3.7(10~17脚):

P3也是一上带内部上拉电阻的双向I/O口。

在MCS-52中,这8个引脚还用于专门的第二功能。

P3能驱动4个LSTTL负载。

◆P3.0RXD(串行口输入)

◆P3.1TXD(串行口输出)

◆P3.2INT0(外部中断0输入)

◆P3.3INT1(外部中断1输入)

◆P3.4T0(定时器0的外部输入)

◆P3.5T1(定时器1的外部输入)

◆P3.6WR(片外数据存储器写选通)

◆P3.7RD(片外数据存储器读选通)

2.2系统功能的确定

一个控制系统是否能被大众所接受,在于该控制系统是否拥有人性化的操作功能。

为了使本次设计的环境温度控制系统具有操作简单、灵活及高可靠性等特点,确定了该系统功能:

◆3x4矩阵键盘输入。

◆由温度采集。

◆温度显示。

◆温度控制执行。

◆温度测量范围为0-99度,温度有效范围为2-98度,允许误差为1度。

2.3温度传感器DS18B20的介绍

DS18B20温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的温度传感器,十分方便。

2.3.1DS18B20的特点

1.只要求一个端口即可实现通信。

2.在DS18B20中的每个器件上都有独一无二的序列号。

3.实际应用中不需要外部任何元器件即可实现测温。

4.测量温度范围-55到+125。

5.数字温度计的分辨率用户可以从9位到12位选择。

6.内部有温度上、下限告警设置。

2.3.2DS18B20的内部结构

DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2.1所示。

图2.1DS18B20内部结构框图

64位ROM的位结构如图2.2所示。

开始8位是产品类型的编号;

接着是每个器件的唯一的序号,共有48位;

最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。

非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据。

图2.264位ROM的位结构图

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。

高速暂存RAM的结构为9字节的存储器,结构如图2.3所示。

前2字节包含测得的温度信息。

第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第5字节为配置寄存器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。

该字节各位的定义如图2.4所示,其中,低5位一直为1;

TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;

R1和R0决定温度转换的精度位数,即用来设置分辨率,其定义方法见表2.1。

温度LSB

温度MSB

TH用户字节1

TL用户字节2

配置寄存器

保留

CRC

图2.3高速暂存RAM结构图

表2.1DS18B20分辨率的定义和规定

R1

R0

分辨率/位

温度最大

转换时间/ms

9

93.75

1

10

187.5

11

375

12

750

图2.4配置寄存器位定义

由表可见,DS18B20温度转换的时间比较长,而且设置的分辨率越高,所需要的温度数据转换时间就越长。

因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。

第9字节是前面8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。

转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。

单片机可以通过单线接口读出该数据。

读数据时,低位在先,高位在后,数据格式以0.0625°

C/LSB形式表示。

温度值格式如图2.5所示:

低字节

23

22

21

20

2-1

2-2

2-3

2-4

高字节

S

26

25

24

图2.5温度数值格式

2.3.3DS18B20的引脚介绍

TO-92封装的DS18B20的引脚排列见图2.6,其引脚功能描述见表2.2。

图2.6(底视图)

表2.2DS18B20详细引脚功能描述

序号

名称

引脚功能描述

GND

地信号

2

DQ

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

2.4人机交互与串口通信

该热炉温度控制系统由温度采集、3x4矩阵键盘输入、温度显示、温度控制执行等四大模块组成。

◆温度采集:

由温度传感器DS18B20完成,并通过串口通信技术与单片机进行数据传输,使用单片机P3.7端口。

◆3x4矩阵键盘输入:

采用外部中断0来判断是否拥有输入请求,并通过键盘扫描技术来获取所输入的温度值和偏差温度值,输入更灵活、更方便,使用单片机P0口和P3.2端口。

◆温度显示:

通过4个7段LED数码显示管显示当前温度值和设定的温度值,及时反应当前温度的变化与设置温度的关系,使用单片机P1.0~P1.5端口。

◆温度控制执行:

系统根据当前温度与设置的温度自动进行相应的升温或降温的操作,在系统自动进行升温或降温处理的同时显示相应的指示灯,让使用者知道系统正在进行的操作,使用单片机P2.2~P2.3端口。

第3章硬件设计

3.1系统结构框图

图3.1系统硬件总体框图

该系统由核心部件AT89C52来处理从键盘输入电路和温度采集电路送入的数据,并通过温度显示电路进行温度显示,由温度控制电路来进行相应的升温或降温的操作。

3.1.1系统硬件原理图

图3.1.1原理图

3.2人机交互与串口通信单元设计

在该系统中,人机交互技术主要应用在恒定温度与偏差温度的设置,以及当前温度与设置温度的显示;

串口通信技术应用在对温度的采集。

3.2.1键盘输入电路

在本系统中,采用外部中断0控制键盘输入请求,键盘输入主要采用3x4矩阵键盘扫描技术。

如图3.2所示,当按下“设置/切换”键时,进入恒定温度的设置,可从键盘中自由输入0—9的数字,如果输入错误可按“删除(*)”键进行删除,如果要设置偏差温度,再按一下“设置/切换”键,可进入偏差温度的设置,按“确定(#)”键,保存设置并退出键盘输入,进入温度控制状态。

AT89C52

P0口

图3.2键盘输入原理图

为了避免从键盘输入的数据错误,该键盘输入电路还为判断按键是否释放的功能做了铺垫,如图3.3所示,该电路由3个与门构成,当有键按下时SA、SB、SC、SD端中将会有一个为低电平,此时与门的SS端将会输出低电平,同时控制了单片机的P0.7端口,再通过软件控制按键是否释放。

图3.3判断键盘是否有键按下

3.2.2LED七段数码动态显示电路

在本系统中采用了LED七段数码动态显示电路来显示温度值,显示范围在0-99之间,该电路由显示、片选、译码三部分组成。

◆显示部分:

由两个两位的LED七段共阴数码管构成,分别用来显示当前温度和设置温度,如图3.4所示。

图3.4LED七段共阴数码管

◆片选部分:

如图3.5所示,由一片2-4译码器(74LS139)构成,单片机的P1.4和P1.5输出两位片选信号到2-4译码器的A、B端口,进行译码后输出到LED七段数码管的片选端口,其译码功能如表3.1所示。

P1.4

P1.5

图3.5动态显示片选电路(2-4译码器)

表3.174LS139功能表

输入

输出

选通端

地址输入端

E

A

B

Y0

Y1

Y2

Y3

◆译码部分:

该电路由LED七段数码管显示译码器(4511)来完成,如图3.6所示,单片机将要显示的十进制数据转换成8421BCD编码,对应的译码值如表3.2所示,再分别送到LED七段数码管显示译码器的A、B、C、D引脚进行译码,最后输出到LED七段数码管的相引脚。

图3.6LED七段数码显示译码电路

表3.24511译码表

8421BCD码

十进制数

0000

0001

0010

0011

0100

4

0101

5

0110

6

0111

7

1000

8

1001

3.2.3串口通信电路

为了使测得的温度更准确,在本系统中采用了温度传感器DS18B20来获取当前温度,而DS18B20是采用I2C总线进行通信的,如图3.7所示,单片机使用P3.7端口与DS18B20的数据通讯端口相连接,并通过软件实现P3.7控制DS18B20的读和写。

P3.7

图3.7单片机与DS18B20的通信

3.3控制执行单元设计

该电路的主要任务是完成单片机所发出的升温或降温操作,来控制外部的升温或降温设备。

如图3.8所示,电路的GK1和GK2端分别与单片机的P2.2和P2.3端相连接,其工作原理如下:

在通常情况下,GK1和GK2均为低电平,当单片机向温度控制执行电路发送降温命令时,GK1为高电平,GK2为低电平,使三极管Q1饱和导通,此时使继电器RL1闭合控制外部的降温设备进行工作,同时发光二极管D9将被点亮,提醒使用者温度过高正在进行降温操作。

当单片机向温度控制执行电路发送升温命令时,GK1为低电平,GK2为高电平,使三极管Q2饱和导通,此时使继电器RL2闭合控制外部的升温设备进行工作,同时发光二极管D4将被点亮,提醒使用者温度过低正在进行升温操作。

图3.8温度控制及相应显示电路

第4章软件设计

4.1设计思路、主程序流程图

根据所学知识,实现本系统的软件部分将使用汇编语言,要配合硬件部分实现输入一个需要恒定的温度值和偏差温度,与从温度传感器所获取的当前实际温度相比较,并向温度控制执行电路发出升温或降温的命令,在这一过程中将随时显示当前温度值和设置的温度值。

其主要实现的部分包括:

键盘输入、温度采集、数据转换、动态显示、温度控制等。

主程序流程图如图4.1所示。

图4.1主程序流程图

4.1.1主程序代码

ORG0000H

LJMPMAIN

ORG0003H;

外部中断INT0入口地址

LJMPSKEY;

转外部中断INT0

ORG1000H

MAIN:

CLRP2.2;

初始控制端,温度过高/降温

CLRP2.3;

温度过低/升温

TEMPDINBITP3.7;

DS18B20通信端口

TEMPLEQU24H;

温度低位存储单元

TEMPHEQU25H;

温度高位存储单元

TEMPHEADEQU26H;

DS18B209位数据存储单元(26H--2EH)

SHOWGETLEQU30H;

当前温度低位

SHOWGETHEQU31H;

当前温度高位

SHOWSETLEQU32H;

设置温度低位

SHOWSETHEQU33H;

设置温度高位

TEMPCKEQU34H;

偏差温度存储单元

MOVTEMPCK,#03H;

设置系统允许的偏差温度

MOVSHOWGETL,#00H;

当前温度低位初值

MOVSHOWGETH,#00H;

当前温度高位初值

MOVSHOWSETL,#00H;

设置温度低位初值

MOVSHOWSETH,#00H;

设置温度高位初值

LOOP:

MOVIE,#00H

ACALLREADTEMP;

发送温度读取指令

ACALLREADTEMP1;

读出温度值子程序

ACALLDATAS;

数据转换(将16进制数据转换成10进制数据)

ACALLSETOUT;

温度数据处理,温度控制执行

ACALLSHOW;

显示当前温度和设置温度

CLRIT0;

电平触发方式

SETBEA;

CUP开放中断

SETBEX0;

允许外部中断0

AJMPLOOP

;

----------------------------------------------------------

下面是主程序所用到的子程序

---------------------------------------------------------

RESETDS18B20复位

INITDS1820:

SETBTEMPDIN

NOP

CLRTEMPDIN

MOVR6,#0A0H;

DELAY480us

DJNZR6,$

MOVR6,#0A0H

DJNZR6,$

SETBTEMPDIN

MOVR6,#SHOWSETL;

DELAY70us

DJNZR6,$

MOVR6,#3CH

LOOP1820:

MOVC,TEMPDIN

JCINITDS1820OUT

DJNZR6,LOOP1820

MOVR6,#064H;

DELAY200us

SJMPINITDS1820

RET

INITDS1820OUT:

SETBTEMPDIN

--------------------------------------------------------

读DS18B20的程序,从DS18B20中读出一个字节的数据

READDS1820:

MOVR7,#08H

READDS1820LOOP:

CLRTEMPDIN

SETBTEMPDIN

MOVR6,#07H;

DELAY15us

MOVC,TEMPDIN

MOVR6,#3CH;

DELAY120us

RRCA

SETBTEMPDIN

DJNZR7,READDS1820LOOP

MOVR6,#3CH;

RET

--------------------------------------------------------

写DS18B20的子程序,向DS18B20中写一个字节的数据

WRITEDS1820:

MOVR7,#08H

WRITEDS1820LOOP:

MOVTEMPDIN,C

MOVR6,#34H;

DELAY104us

DJNZR7,WRITEDS1820LOP

向DS18B20写入相应的ROM命令

READTEMP:

LCALLINITDS1820

MOVA,#0CCH

LCALLWRITEDS1820;

写入ROM命令SKIPROM

MOVR6,#34H;

MOVA,#44H

写入ROM命令STARTCONVERSION

DJNZR6,$

RET

--------------------------------------------------------

READTEMP1:

LCALLINITDS1820

MOVA,#0BEH

写入ROM命令SCRATCHPAD

MOVR5,#09H

MOVR0,#TEMPHEAD

MOVB,#00H

READTEMP2:

LCALLREADDS1820;

开始读出温度

MOV@R0,A

INCR0

READTEMP21:

LCALLCRC8CAL

DJNZR5,READTEMP2

MOVA,B

JNZREADTEMPOUT

MOVA,TEMPHEAD+0

MOVTEMPL,A

MOVA,TEMPHEAD+1

MOVTEMPH,A

READTEMPOUT:

RET

DS18B20CRC-8校验程序

CRC8CAL:

PUSHACC

MOVR7,#08H

CRC8LOOP1:

XRLA,B

RRCA

JNCCRC8LOOP2

XRLA,#18H

CRC8LOOP2:

RRCA

MOVB,A

POPACC

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

当前位置:首页 > 小学教育 > 英语

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

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