基于AT89C51单片机的智能温度控制系统文档格式.doc

上传人:wj 文档编号:8433088 上传时间:2023-05-11 格式:DOC 页数:21 大小:598.50KB
下载 相关 举报
基于AT89C51单片机的智能温度控制系统文档格式.doc_第1页
第1页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第2页
第2页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第3页
第3页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第4页
第4页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第5页
第5页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第6页
第6页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第7页
第7页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第8页
第8页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第9页
第9页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第10页
第10页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第11页
第11页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第12页
第12页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第13页
第13页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第14页
第14页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第15页
第15页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第16页
第16页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第17页
第17页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第18页
第18页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第19页
第19页 / 共21页
基于AT89C51单片机的智能温度控制系统文档格式.doc_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于AT89C51单片机的智能温度控制系统文档格式.doc

《基于AT89C51单片机的智能温度控制系统文档格式.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的智能温度控制系统文档格式.doc(21页珍藏版)》请在冰点文库上搜索。

基于AT89C51单片机的智能温度控制系统文档格式.doc

7段译码器

数码管

按键电路

驱动电路

温度采样电路

继电器

AD转换

信号处理电路

图1空调机温度控制系统框图

3.2单片机

由于空调温度控制器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。

本设计采用MCS-51系列的8051单片机,因为8051单片机应用广泛,性能稳定,抗干扰能力强,性价比高。

AT80C51包含了8位CPU,片内振荡器,4K字节ROM,128字节RAM,2个16位定时器,计数器,中断结构,I/O接口等。

可进行计算,定时等一系列功能。

其管脚图如下图2所示:

VCC:

供电电压。

 GND:

接地。

 P0口:

P0口为一个8位漏级开路双向I/O口,

P0口作为原码输入口,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口

  P2口:

P2口为一个内部上拉电阻的8位双向I/O口

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口。

P3口也可作为AT89C51的一些特殊功能口,如列所示:

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2/INT0(外部中断0)

  P3.3/INT1(外部中断1)

  P3.4T0(记时器0外部输入)

  P3.5T1(记时器1外部输入)

  P3.6/WR(外部数据存储器写选通)

  P3.7/RD(外部数据存储器读选通)

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

  RST:

复位输入。

图280C51管脚图

3.3温度采样电路

3.3.1AD590型温度传感器

AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。

在被测温度一定时,AD590相当于一个恒流源,AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需将此信号转换成数字信号。

它的主要特性如下:

(1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数;

即:

 

式中:

(1)

Ir—流过器件(AD590)的电流,单位为mA;

T—热力学温度,单位为K。

(2)AD590的测温范围为-55℃~+150℃;

(3) 

AD590的电源电压范围为4V~30V;

下列表1表2分别表示温度与电压电流之间的关系

表1 AD590温度与电流之间的关系

温度

AD590电流

经10KΩ电压

0℃

273.2uA

2.732A

10℃

283.2uA

2.832A

20℃

293.2uA

2.932A

30℃

303.2uA

3.032A

40℃

313.2uA

3.132A

50℃

323.2uA

3.232A

60℃

333.2uA

3.332A

70℃

343.2uA

3.432A

80℃

353.2uA

3.532A

90℃

363.2uA

3.632A

100℃

373.2uA

3.732A

表2ADC0809的输入与输出关系

opa1

opa2

opa3

ADC输入

ADC输出

0V

-0.1V

1V

50

-0.2V

2V

100

-0.3V

3V

150

-0.4V

4V

200

-0.5V

5V

250

3.3.2温度采样工作原理

因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转化为电压,同时对电压信号进行放大后输入A/D转换ADC0808的VI-端口。

电流转化为电压表达式如下:

(2)

由反相比例运算放大电路,根据“虚断”,“虚短”,集成运放净输入电压为零,净输入电流为零,净输入电流为零等推算出表达式为:

(3)

最后由

(1),

(2),(3)得到:

(4)

图5为温度采样的电路图如右图所示:

图3温度采样电路

3.3.3无限增益低通滤波电路

图4无限增益低通滤波电路

由温度传感器采集到的信号中可能夹有高频的噪声信号和干扰信号,在经过放大后,这样的信号会对采集的结果和转换的结果产生很大的误差和不良的后果。

无线增益低通滤波器既可以将高频信号除去,也可以起到放大的作用。

其电路图如右图6所示,低通的频率为100HZ。

放大倍数Kp=-R3/R1

(1)

频率W0=1/(C1*C2*R2*R3)^0.5

(2)

3.4A/D转换电路

由于温度是一种模拟信号,则由信号采集电路采集的信号是一种模拟信号,而且频率很低。

但是单片机和电脑所识别的是具有高低电位的数字信号,这就要求在信号的处理中必须把模拟信号转换为数字信号从而输给单片机处理。

3.4.1ADC0801介绍

ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。

各引脚功能如下:

  1~5和26~28(IN0~IN7):

8路模拟量输入端。

  8、14、15和17~21:

8位数字量输出端。

  22(ALE):

地址锁存允许信号,输入,高电平有效。

  6(START):

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

  7(EOC):

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

  9(OE):

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

  10(CLK):

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

  12(VREF(+))和16(VREF(-)):

参考电压输入端

  11(Vcc):

主电源输入端。

  13(GND):

地。

  23~25(ADDA、ADDB、ADDC):

3位地址输入线,用于选通8路模拟输入中的一路

输出端注意:

  out8为最低位-out1为最高位,out8-out1分别接单片机的P0.0到P0.7端。

3.4.2A/D转换电路工作原理

图5二分频电路

A/D转换电路如图3所示。

ADC0808的A/D转换结果输出端out8-out1与8051的P0.0-P0.7相连,EOC经反向后与P3.3口相连,EOC端用于给出A/D转换完成信号,所以通过查询P3.3便可以获知A/D转换是否完成。

单片机的WR接ADC0808的START,来操作ADC0808的转换开始,当转换结束后由EOC变低电位

在此次的设计中由于只有一路信号的输入,我选择的是从0路输入,所以在地址选择信号ABC三个引脚可以都直接的接地。

图6ADC0808连接电路

由0808的CLK时钟的频率是640Khz,所以在必须从单片机的时钟脉冲进行分频后才行,在分频中,采用的是D触发器进行二分频。

ADC0808时钟的二分频电路电路连接和ADC0808的电路本身连接如图3、图4所示:

3.5按健开关

图7温度设置按键

按键开关电路由一按键连接到8051的P2.1端口所示。

按下P2.1按键,放开后进入温度设定模式,显示设定最高温度34oC,每按一次设定温度将减小1oC,直至最低设定温度20oC,再按一次回到34oC。

其电路图如下图所示:

3.6温度显示电路

3.6.1LED驱动

74LS47介绍:

74LS47是一块BCD码转换成7段LED数码管的译码驱动IC,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED数码管显示相应的数字。

相应引脚功能如下:

(1)QA,QB,QC,QD,QE,QF,QG:

7段LED数码输出引脚。

(2)A,B,C,D:

输入引脚。

(3)RBO,BT,LI高电平输出有效。

3.6.2温度显示工作原理

温度显示电路如图7所示:

由2片TTL7447和2片七段LED组成,LED采用共阳级接法。

7447的QA-QG接BCD的a-g,段选信号由8051的P1口提供,LED显示数据由7447的输出决定,即由P1口信号的取值决定。

图8 TTL7447BCD显示电路

3.7其它电路

3.7.1压缩机驱动电路

图9压缩机控制电路

压缩机驱动控制,AT89C8051的RXD的引脚与一个限流电阻连接后再与一个三级管连接来驱动继电器从而达到控制压缩机电压的目的。

二极管的母的是起一个保护的作用。

3.7.2电源转换电路

图10电源电压转换电路

在实际的应用中,单片机的电压5V电压和运放的15V电压都需要从外部的220V交流电源来供给。

这就需要我们把220V的交流电转换为5V和15V的直流电。

在本设计中,采用了简单实用的变压器,根据理想变压器原副边匝数比公式则可通过计算来调节参数达到转化为低压的目的。

低压的交流信号再通过整流稳压等操作实现了交流向直流转换的要求了。

其电路图如右图所示:

3.7.3看门狗电路

看门狗电路的应用,使单片机可以在无人状态下实现连续工作.其工作原理是:

看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。

那么定时时间到后就会使单片机复位。

常用的WDT芯片如MAX813,5045,IMP813等等。

本次设计用的是两个74LS123来实现的。

图11 看门口电路

4系统软件设计

4.1软件设计思路

软件设计的任务包括启动A/D转换、读A/D转换结果、设置温度、温度控制等,其中启动A/D转换、读A/D转换结果、设置温度等工作在主程序中完成,温度控制在中断服务程序中完成,即每隔一段时间对比测量温度与设定温度之间的大小关系,根据对比结果给出控制信号,令压缩机的运行或停止,实现温度调控。

4.2程序流程

主程序流程图如图11所示

中断服务程序流程图12所示。

开始

系统初始化

启动定时器

启动A/D转换

设置温度

要设置温度吗?

是否完成A/D转换?

读入A/D转换结果

显示处理,比较控制

Y

N

图12主程序流程图

保护现场

重装定时初值

设定温度≥测量温度?

令压缩机工作

令压缩机停止工作

中断返回

图13中断服务程序流程图

4.3程序内容编写

ORG0000H

JMPSTART0;

主程序

ORG000BH;

定时器/计数器0溢出中断

JMPTIM0;

转中断程序

ORG0030H;

定时中断0入口地址

START0:

MOVTMOD,#01H;

设定定时器0工作方式1

MOVTH0,#3CH;

50ms定时储值

MOVTL0,#0B0H;

SETBTR0;

启动定时器0

MOVIE,#82H;

定时器0开放中断

MOV24H,#0FFH;

ANLP1,#00H;

MOVR0,#14;

延时

START:

MOVX@DPTR,A;

启动A/D转换\WR=0

WAIT:

JNBP2.1,SET0;

检测温度输入

JBP2.0,ADC;

检测转换是否完成

JMPWAIT;

没转换完成则等待

ADC:

MOVXA,@DPTR;

将转换好的值送入A

LCALLL1;

调用十进制转换子程序

LCALLDISP;

调用显示子程序

JMPSTART

L1:

MOVB,#100

DIVAB

MOVR3,A

MOVA,#10

XCHA,B

DIVAB

SWAPA

ORLA,B

RET

L2:

MOVA,20H

ADDA,20H;

DAA;

MOV20H,A;

MOVA,21H;

ADDCA,21H;

DAA;

MOV21H,A;

RET

DISP:

MOVA,20H;

显示程序

ANLA,#0F0H

SWAPA;

交换高低位

MOV22H,A

MOVA,21H;

ANLA,#0FFH

SWAPA;

ORLA,22H;

MOV23H,A

MOVP1,A;

MOVR7,#0FFH;

DJNZR7,$;

是否显示完

SET0:

LCALLDELAY;

JNBP2.1,$;

等待按键操作

LCALLDELAY;

消除按键抖动

A2:

CJNER0,#0FFH,A1;

MOVR0,#14;

延时

A1:

MOVA,R0;

MOVDPTR,#TABLE;

数据指针指向表头

MOVCA,@A+DPTR;

查表

MOVP1,A;

MOV24H,A;

MOVR5,#4FH;

D4:

MOVR7,#0FFH

D2:

MOVR6,#0FFH

D1:

JNBP2.1,SET1;

有按键按下转SET1

DJNZR6,D1

DJNZR7,D2

DJNZR5,D4

JMPSTART;

SET1:

LCALLDELAY;

JNBP2.1,$;

等待按键操作

LCALLDELAY;

消除抖动

DECR0;

JMPA2;

TIM0:

PUSHACC;

保护现场

PUSHPSW

MOVTH0,#3CH;

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

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2