武汉理工大学温控课设.docx

上传人:b****6 文档编号:8933859 上传时间:2023-02-02 格式:DOCX 页数:22 大小:622.22KB
下载 相关 举报
武汉理工大学温控课设.docx_第1页
第1页 / 共22页
武汉理工大学温控课设.docx_第2页
第2页 / 共22页
武汉理工大学温控课设.docx_第3页
第3页 / 共22页
武汉理工大学温控课设.docx_第4页
第4页 / 共22页
武汉理工大学温控课设.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

武汉理工大学温控课设.docx

《武汉理工大学温控课设.docx》由会员分享,可在线阅读,更多相关《武汉理工大学温控课设.docx(22页珍藏版)》请在冰豆网上搜索。

武汉理工大学温控课设.docx

武汉理工大学温控课设

课程设计任务书

学生姓名:

专业班级:

通信0902班

指导教师:

尹勇工作单位:

信息工程学院题目:

基于单片机的温度控制系统设计

初始条件:

1.单片机最小系统

2.DS18B20、液晶1602

要求完成的主要任务:

1.控制密闭容器内空气温度

2.容器容积>5cm*5cm*5cm

3.测温和控温范围:

0℃~室温

4.控温精度±1℃

参考书:

1.《电子线路设计·实验·测试》第三版,谢自美主编,华中科技大学出版社

2.《通信电子线路》第二版,刘泉主编,武汉理工大学出版社

3.《高频电子线路》第三版张肃文主编高教出版社

时间安排:

第18周理论讲解。

第19周理论设计、实验室安装调试,地点:

鉴主13楼通信工程综合实验室、鉴主15楼通信工程实验室

(1)

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

 

目录

摘要3

1工作原理4

2方案设计5

2.1温度测量部分方案5

2.2主控制部分方案5

3各单元的设计11

3.1温度测试单元11

3.2温度控制器件电路11

3.3液晶显示单元11

3.3.1液晶显示原理11

3.3.2LCD1602介绍12

3.4电源输入单元13

3.5接口通讯单元max232资料简介14

4程序设计16

4.1程序结构分析16

4.2主程序16

5测试分析22

5.1测试环境22

5.2测试方法22

5.3测试结果22

5.4发现的问题22

5.5改进方法22

6结论24

7设计心得25

8参考文献26

9附件一27

10附件二29

摘要

本设计以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。

温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。

文中介绍了该控制系统的硬件部分,包括:

温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路。

单片机通过对信号进行相应处理,从而实现温度控制的目的。

文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:

1602液晶显示程序、温度信号处理程序、继电器控制程序。

 

1工作原理

温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S51获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。

当采集的温度经处理后超过设定温度的上限时,单片机开启降温设备,当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。

系统中将通过串口通讯连接PC机存储温度变化时的历史数据,以便观察整个温度的控制过程及监控温度的变化全过程。

(设想,该功能未实现)

 

2方案设计

2.1温度测量部分方案

DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围-55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。

综上,在本系统中我采用温度芯片DS18B20测量温度。

该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。

在0—100摄氏度时,最大线形偏差小于1摄氏度。

该芯片直接向单片机传输数字信号,便于单片机处理及控制。

图2-1温度芯片DS18B20

2.2主控制部分方案

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:

40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。

主控模块采用单片机最小系统是由于AT89S51芯片内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格低廉,批量价在10元以内。

其主要功能特性:

兼容MCS-51指令系统4k可反复擦写(>1000次)ISPFlashROM

32个双向I/O口4.5-5.5V工作电压

2个16位可编程定时/计数器时钟频率0-33MHz

全双工UART串行中断口线128x8bit内部RAM

2个外部中断源低功耗空闲和省电模式

中断唤醒省电模式3级加密位

看门狗(WDT)电路软件设置空闲和省电功能

灵活的ISP字节和分页编程双数据寄存器指针

可以看出AT89S51提供以下标准功能:

4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。

同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。

AT89S51引角功能说明

Vcc:

电源电压

GND:

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。

表4-1为P1口第二功能。

表4-1P1口第二功能

端口引脚

第二功能

P1.5

MOSI(用于ISP编程)

P1.6

MISO(用于ISP编程)

P1.7

SCK(用于ISP编程)

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。

在访问8位地址的外部数据存储器(如执行:

MOVX@Ri指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。

Flash编程或校验时,P2也接收高位地址和其它控制信号。

P3口:

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

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表4-2。

表4-2P3口的第二功能

端口功能

第二功能

端口引脚

第二功能

RXD(P3.0)

串行输入口

T0(P3.4)

定时/计数器0外部输入

TXD(P3.1)

串行输出口

T1(P3.5)

定时/计数器1外部输入

INT0(P3.2)

外中断0

WR(P3.6)

外部数据存储器写选通

INT1(P3.3)

外中断1

RD(P3.7)

外部数据存储器读选通

RST:

复位输入。

当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。

WDT益出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。

DISRTO位缺省为RESET输出高电平打开状态。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:

第当访问外部数据存储器时将跳过一个ALE脉冲。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位禁位后,只有一条MOVX和MOVC指令ALE才会被激活。

此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

当访问外部数据存储器,高有两次有效的PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU公访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程电压Vpp。

XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

AT89S51单片机内部构造及功能:

特殊功能寄存器:

特殊功能寄存器的片内空间分存如下图3-2所示。

这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。

而写这些地址单元将不能得到预期的结果。

中断寄存器:

各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。

图2-2为AUXR辅助寄存器。

图2-2AUXR辅助寄存器

双时钟指针寄存器:

为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:

PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1。

在使用前初始化DPS。

图2-3双时钟指针寄存器

电源空闲标志:

电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。

存储器结构:

MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。

程序存储器:

如果EA引脚接地(GND),全部程序均执行外部存储器。

在AT89S51假如接至Vcc(电源+),程序首先执行从地址0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。

数据存储器:

在AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。

看门狗定时器(WDT):

WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。

外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。

引脚图详见图2-4

图2-4AT89S51单片机引脚图

3各单元的设计

3.1温度测试单元

采用温度芯片DS18B20。

使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。

3.2温度控制器件电路

单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。

当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电热器加热。

温度慢慢升高。

当温度上升到预定温度时,单片机发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,电热器停止加热。

继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。

连接方法如图3-1所示。

图3-2单片机控制信号

其原理是:

当继电器突然断电时,继电器产生很大的反向电流。

二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。

3.3液晶显示单元

3.3.1液晶显示原理

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。

液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

3.3.2LCD1602介绍

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。

一般1602字符型液晶显示器实物如图3-2

图3-3-21602字符型液晶显示器实物图

10.8.2.11602LCD的基本参数及引脚功能

1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下表所示:

引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

3.4电源输入单元

方案一:

直流稳压源

(1)桥式整流

常用的桥式整流电路是利用二极管的单向导电性将4个相同的二极管桥接而成,使其两个一组交替导通。

基本原理图如图3-4-1所示。

图3-4-1桥式整流原理图

桥式整流电路用四只二极管口连接成"桥"式结构,电路中每只二极管承受的反向电压等于变压器次级电压的最大值,比全波整流电路小一半。

(2)电容滤波

优点:

a.输出电压较高;b.在小电流时滤波效果较好;

缺点:

a.负载电流加大时,输出电压减小,纹波加大;b.带负载能力差;c.电源起动时充电电流很大,整流二极管承受很大正向冲击电流;

(3)硅稳压管稳压电源

优点:

电路简单。

硅稳压管工作在反向击穿区,稳压管与负载并联。

缺点:

输出电压不能随意调节,输出电流也不容易做得很大,且内阻比较大。

多用于负载电流变化较小的情况。

直流稳压源可以很好地供电,但做起来费时费力。

方案二:

采用USB供电

USB供电稳定方便。

综上,采用USB供电,简单方便,且稳定。

3.5接口通讯单元max232资料简介

该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。

由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。

该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。

每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。

主要特点:

1、单5V电源工作

2、LinBiCMOSTM工艺技术

3、两个驱动器及两个接收器

4、±30V输入电平

5、低电源电流:

典型值是8mA

6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28

7、ESD保护大于MIL-STD-883(方法3015)标准的2000V

51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。

进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。

在本设计中采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:

第5脚的GND、第2脚的RXD、第3脚的TXD。

这是最简单的连接方法,但是对我来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接,串口通讯具体如图3-5

图3-5通讯接口连线图

 

4程序设计

4.1程序结构分析

图4-1程序结构图

4.2主程序

voidDS18B20_init()

{

unsignedchari=1;

DQ=0;

DQ=1;

delay_nus(20);//延时227us

while(REC_suc==0)

{

DQ=0;

delay_nus(45);//延时502us

DQ=1;

delay_nus(3);//延时40us

while

(1)

{i=DQ;

if(i==0)

{

REC_suc=1;

delay_nus(20);//延时227us

break;

}

}

}

REC_suc=0;

}

voidDS18B20_send(unsignedcharin_data)

{

unsignedchari,out_data,k;

out_data=in_data;

for(i=1;i<9;i++)//串行发送数据

{

DQ=0;

DQ=1;

_nop_();

_nop_();

k=out_data&0x01;

if(k==0x01)//判断数据写1

{

DQ=1;

}

else//写0

{

DQ=0;

}

delay_nus(5);//延时62us

DQ=1;

out_data=_cror_(out_data,1);//循环左移1位

}

}

unsignedcharDS18B20_read()

{

unsignedchari,in_data,k;

in_data=0;

for(i=1;i<9;i++)//串行发送数据

{

DQ=0;

DQ=1;

_nop_();

_nop_();

k=DQ;//读DQ端

if(k==1)//读到的数据是1

{

in_data=in_data|0x01;

}

else

{

in_data=in_data|0x00;

}

delay_nus(4);//延时51us

DQ=1;

in_data=_cror_(in_data,1);//循环左移1位

}

return(in_data);

}

voidReadTemperature()

{

unsignedcharT_L=0;

unsignedcharT_H=0;

unsignedchark;

DS18B20_init();

DS18B20_send(T_ROM_JMP);//跳过读序号列号的操作

DS18B20_send(T_CONVER);//启动温度转换

DS18B20_init();

DS18B20_send(T_ROM_JMP);//跳过读序号列号的操作

DS18B20_send(T_READ);//读取温度寄存器等

T_L=DS18B20_read();

T_H=DS18B20_read();

k=T_H&0xf8;

if(k==0xf8)

T_sign=1;//温度是负数

else

T_sign=0;//温度是正数

T_H=T_H&0x07;

temp=(T_H*256+T_L)*T_cont;

}

voidtemp_data_turn(floatin_data)

{

unsignedinty;

in_data=in_data*10;//数值扩大10倍,精度到0.1

t_bai=in_data/1000;

y=(unsignedint)in_data%1000;

t_shi=y/100;

y=y%100;

t_ge=y/10;

t_feng=y%10;

}

5.测试分析

5.1测试环境

环境温度28摄氏度,室内面积20平方米

测试仪器:

数字万用表,温度计0----100摄氏度

5.2测试方法

使系统运行,采用温度计同时测量室内度变化情况,得出系统测量的温度。

5.3测试结果

设定温度由0摄氏度到10摄氏度

标定温差<=1摄氏度调节时间15s(具体视现场情况)

静态误差<=0.5摄氏度最大超调量1摄氏度

5.4发现的问题

通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到0.06℃,但测试得到的数据最小间隔为0.03℃。

通过分析,当对浮点数求平均处理时,遇到同一时刻两个传感头采集的温度相差不大,使0.06℃时求出平均

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

当前位置:首页 > 高等教育 > 农学

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

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