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

上传人:b****8 文档编号:10748817 上传时间:2023-02-22 格式:DOCX 页数:19 大小:507.09KB
下载 相关 举报
基于51单片机的温度控制系统设计.docx_第1页
第1页 / 共19页
基于51单片机的温度控制系统设计.docx_第2页
第2页 / 共19页
基于51单片机的温度控制系统设计.docx_第3页
第3页 / 共19页
基于51单片机的温度控制系统设计.docx_第4页
第4页 / 共19页
基于51单片机的温度控制系统设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

《基于51单片机的温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统设计.docx(19页珍藏版)》请在冰豆网上搜索。

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

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

基于51单片机的水温自动控制系统

0引言

在现代的各种工业生产中,很多地方都需要用到温度控制系统。

而智能化的控制系统成为一种发展的趋势。

本文所阐述的就是一种基于89C51单片机的温度控制系统。

本温控系统可应用于温度范围30℃到96℃。

1设计任务、要求和技术指标

1.1任务

设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。

1.2要求

(1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。

(2)当液位低于某一值时,停止加热。

(3)用AD转换器把采集到的模拟温度值送入单片机。

(4)无竞争-冒险,无抖动。

1.3技术指标

(1)温度显示误差不超过1℃。

(2)温度显示范围为0℃—99℃。

(3)程序部分用PID算法实现温度自动控制。

(4)检测信号为电压信号。

2方案分析与论证

2.1主控系统分析与论证

根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。

AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。

其引脚图如图1所示。

2.2显示系统分析与论证

显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。

在显示驱动电路中拟订了两种设计方案:

方案一:

采用静态显示的方案

采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。

方案二:

采用动态显示的方案

由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电,但编程比较复杂,亮度不如静态的好。

由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

图1AT89C51引脚图

2.3检测系统分析与论证

1温度检测:

有选用AD590和LM35D两种温度传感器的方案,但考虑到两者价格差距较大,而本系统中对温度要求的精度不很高,因而选用比较廉价LM35D。

温度传感器采用的是NS公司生产的LM35D,他具有很高的工作精度和较宽的线性工作范围,他的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供±1/4℃的常用的室温精度。

LM35的输出电压与摄氏温度的线形关系可用下面公式表示,0℃时输出为0V,每升高1℃,输出电压增加10mV。

其电源供应模式有单电源与正负双电源两种,其接法如图2与图3所示。

正负双电源的供电模式可提供负温度的测量,单电源模式在25℃下电流约为50mA,非常省电。

本系统采用的是单电源模式。

Vout=10mV/℃×T(℃)

2液位检测:

同样考虑到成本问题,选用自己做一个液位传感装置。

图2单电源模式图3双电源模式

2.4控制系统分析与论证

由于需要用大功率加热装置对水温进行调节,故采用带过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路。

3 系统原理框图

硬件组成框图如图4所示:

主要由AT89C51单片机、温度信号采集和调理、AD转换、数码显示电路、温度控制等部分组成。

图4 硬件框图

电源开启后,可以显示出实时的温度,并且可以判断出此时的温度是否需要对水进行加热操作

4硬件电路

4.1温度信号检测和调理电路

LM35D采用单电源供电模式如图2将采集到的电压信号送入运放uA741进行放大处理,如图5。

图5信号采集调理电路

4.2显示电路

显示电路由两片74LS164和两个数码管构成,为了PCB中作图的方便,故采用如图6的连接方式。

图6温度显示电路

时钟由单片机的P1.1提供,第一个数码管的数据由单片机的P1.0提供,第二个数码管的数据由第一个164的Q7提供。

164的时序图如图7所示。

图774LS164的时序图

4.3温度控制电路

温度控制电路由光电耦合器MOC3041和双向晶闸管BT137构成,硬件连接如图8。

图8温度控制电路

4.4AD转换电路

本部分电路由ADC0809和一些74系列芯片构成,其中74LS74用于对单片机的ALE信号进行分频作为0809的时钟,74LS373用做地址锁存实现单片机P0口的分时复用。

该部分硬件电路如图9所示。

图9AD转换电路

4.5主控系统电路

该系统由AT89C51构成,由5V电源供电,采用6Mhz的晶振。

主控系统电路主要承担显示及对温度的PID控制的核心引用,各功能通过软件软件实现。

图10为单片机的主控电路。

图10单片机主控电路

4.6整体PCB图见附件A

 

5软件部分

5.1主程序流程说明

主程序的任务主要是循环检测采集到的温度值,不断比较实现PID控制。

流程图如下:

图11主程序流程图

5.2各子程序模块流程

5.2.1显示部分

显示部分主要包括三个小模块:

第一、原始数据的拆分;第二、待显示数据查表;第三、待显示数据的输出。

数据分配表如图12,送待显示数据流程如图13,查表流程如图14

图13待显示数据输出流程图14查表程序流程

5.2.2中断程序部分

中断部分包括定时器中断(主要实现1秒刷新一次显示)和外部中断(检测液位。

为防止抖动,设置一个标志位,进入中断后判断标志位,如果一秒钟内没有出中断,则响应,否则不响应),流程图分别如图15和图16。

 

图15定时器中断流程图图16外中断流程图

5.3整体程序见附件C

6系统调试

6.1软件调试

调试所用软件:

KeiluVision2和Proteus7。

将编写好的程序用KeiluVision2汇编编译成hex格式的文件后导入Proteus7中的原理图(附件B)内。

结果正常显示,说明程序本身没有问题。

6.2硬件调试

调试所用工具:

直流稳压电源,示波器,万用表等。

6.2.1放大电路的调试:

将信号调理部分电路的输入端接地,调节电位器,使输出电压为零(用万用表毫伏档测量)。

输入一定的电压值0—1V范围内,观察电路的输出电压,调节电阻值,使输出为输入的5倍。

6.2.2显示电路的调试:

先写一个简单的显示程序,烧入单片机内,接好电路,观察显示是否正常。

6.2.3AD转换电路的调试:

写一个简单的控制ADC0809的程序,用示波器观察ADC0809所接受到的信号是否正确,如时钟信号、开始信号等、给定输入端一个电压,给OE端持续加高电平,使允许输出,用万用表或示波器测量各个输出引脚的转换情况,结果与计算值是否相符合。

6.2.4系统的整体调试:

将编写好的程序烧入单片机中,接好整体电路,观察输出结果是否正确。

调试中显示一直是99,最后去掉373和排阻,显示正常。

主要是因为加的排阻过小,只有330欧姆,而ADC0809向单片机送数据的时间有很短,所以,即使送入0也可能会被单片机认为是1,所以一直显示99。

6.2.5系统存在的问题:

由于实验调试时,只是观察led灯的亮灭变化,没有接上实际的光耦驱动大功率加热器件,而实际测试时,led灯的亮度不高说明驱动电流太小,因而在驱动光耦时还需加入74LS07以增大P1.2口的驱动电流,使之能够驱动光耦。

调试的过程中发现所购买的ADC0809的IN0输入端直接与地短接,所以,真正做成的系统用的是通道1。

又加上调试时去掉了排阻和74LS373,因而选地址时是直接把地址选择端接成了高低电平,虽然实现了功能但是与初衷不符。

 

参考资料:

【1】谢自美电子线路综合设计华中科技大学出版社

【2】张毅刚单片机原理及应用

附件A:

整体PCB图

附件B:

PROTEUS仿真图

附件C:

本系统所用程序:

DINBITP1.0

CLKBITP1.1

JRBITP1.2

F1BIT21H

ORG0000H

SJMPMAIN

ORG0003H

LJMPINT00

ORG000BH

LJMPINTDISP

ORG0030H

MAIN:

SETBEA

SETBEX0

SETBET0

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

mov20h,#10

SETBTR0;中断初始化

CLRF1

CJ1:

MOVR0,#30H

LCALLD1S

LCALLAD0809

MOVB,A

CJ2:

MOVR0,#31H

LCALLD1S

LCALLAD0809

CJNEA,B,COMP

LJMPCJ2

COMP:

CJNEA,#30H,N30

SETBCTRO

LJMPCJ1

N30:

JNCCOM96

SETBJR

LJMPCJ1

COM96:

CJNEA,#96H,N96

CLRJR

LJMPCJ1

N96:

JCCOMAB

CLRJR

LJMPCJ1

COMAB:

CJNEA,B,DR

LJMPCJ2

DR:

JCDOWN

RISE:

SETBJR

LJMPCJ1

DOWN:

CLRJR

LJMPCJ1

AD0809:

;数据采集转换

MOVDPTR,#0FFF8H

LOOP:

MOVX@DPTR,A

MOVR7,#0AH

DELAY:

NOP

NOP

NOP

DJNZR7,DELAY

MOVXA,@DPTR

MOVDPTR,#TBCD

MOVCA,@A+DPTR

MOV@R0,A

RET

DISP0:

;拆分

MOVR1,#40H

MOVA,@R0

MOVB,A

ANLA,#0F0H

SWAPA

MOV@R1,A

incR1

MOVA,B

ANLA,#0FH

MOV@R1,A

RET

DISP1:

;查表

MOVR0,#40H

MOVR1,#50H

MOVR7,#2

L1:

MOVDPTR,#SEGTAB

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR0

INCR1

DJNZR7,L1

RET

DISP2:

;显示

MOVR0,#50H

MOVR1,#2

L2:

MOVA,@R0

MOVR7,#8

L3:

RLCA

MOVDIN,C

CLRCLK

SETBCLK

DJNZR7,L3

INCR0

DJNZR1,L2

RET

DISP:

PUSHACC

PUSHB

mov33h,r0

LCALLDISP0

LCALLDISP1

LCALLDISP2

movr0,33h

POPB

POPACC

RET

D100MS:

MOVR3,#200

DEL0:

MOVR4,#125

DEL1:

DJNZR4,DEL1

DJNZR3,DEL0

RET

D1S:

MOVR5,#10

DEL2:

CALLD100MS

DJNZR5,DEL2

RET

INT00:

JNBF1,LINT

CLRJR

SJMPRETURN

LINT:

SETBF1

LCALLD1S

RETURN:

RETI

INTDISP:

PUSHACC

PUSHB

MOVTH0,#3CH

MOVTL0,#0B0H

djnz20h,back

mov20h,#10

LCALLDISP

back:

POPB

POPACC

RETI

TBCD:

DB00H,00H,01H,01H,02H,02H,02H,03H

DB03H,04H,04H,04H,05H,05H,05H,06H

DB06H,07H,07H,07H,08H,08H,09H,09H

DB09H,10H,10H,11H,11H,11H,12H,12H

DB12H,13H,13H,14H,14H,14H,15H,15H

DB16H,16H,16H,17H,17H,18H,18H,18H

DB19H,19H,20H,20H,20H,21H,21H,21H

DB22H,22H,23H,23H,23H,24H,24H,25H

DB25H,25H,26H,26H,27H,27H,27H,28H

DB28H,28H,29H,29H,30H,30H,30H,31H

DB31H,32H,32H,32H,33H,33H,34H,34H

DB34H,35H,35H,35H,36H,36H,37H,37H

DB37H,38H,38H,39H,39H,39H,40H,40H

DB41H,41H,41H,42H,42H,43H,43H,43H

DB44H,44H,44H,45H,45H,46H,46H,46H

DB47H,47H,48H,48H,49H,49H,49H,50H

DB50H,50H,51H,51H,51H,52H,52H,53H

DB53H,53H,54H,54H,55H,55H,55H,56H

DB56H,57H,57H,57H,58H,58H,59H,59H

DB59H,60H,60H,60H,61H,61H,62H,62H

DB62H,63H,63H,64H,64H,64H,65H,65H

DB66H,66H,66H,67H,67H,67H,68H,68H

DB69H,69H,69H,70H,70H,71H,71H,71H

DB72H,72H,73H,73H,73H,74H,74H,74H

DB75H,75H,76H,76H,76H,77H,77H,78H

DB78H,78H,79H,79H,80H,80H,80H,81H

DB81H,82H,82H,82H,83H,83H,83H,84H

DB84H,85H,85H,85H,86H,86H,87H,87H

DB87H,88H,88H,89H,89H,89H,90H,90H

DB90H,91H,91H,92H,92H,92H,93H,93H

DB94H,94H,94H,95H,95H,96H,96H,96H

DB97H,97H,98H,98H,98H,99H,99H,99H

SEGTAB:

DB77H,14H,0B3H,0B6H,0D4H

DB0E6H,0E7H,34H,0F7H,0F6H

END

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

当前位置:首页 > 高等教育 > 其它

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

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