多点温度控制系统.docx

上传人:b****4 文档编号:5526023 上传时间:2022-12-18 格式:DOCX 页数:22 大小:117.71KB
下载 相关 举报
多点温度控制系统.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

多点温度控制系统

多点温度控制系统

1.概述

电子技术的飞速发展,给人类的生活带来了根本的的变革,特别是随着大规模集成电路的产生而出现了微型计算机,更是将人类社会带入了一个新的时代。

利用微机的强大功能。

人们可以完成各种各样的控制。

然而,微机造价高,对于大多数的工业控制来说,也并不需要微机那样强大的功能,于是单片机就运用而生了。

单片机其实就是一个简化的微机,将微机的CPU,存储器,I/O接口。

定时器/计数器等集成在一片芯片上就是单片机了,它主要用来完成各种控制功能。

相对微机来说,单片机价格低,非常适合于应用在简单的控制场合以降低成本。

另外,单片机是按照工业控制要求设计的,其可靠性很高,可在工业现场复杂的环境下运行。

单片机依靠其高的可靠性和极高的性价比,在工业控制,数据采集,智能化仪表,家用电器等方面得到极为广泛的应用。

现代工业设计,工程建设及日常生活中温度控制都起着重要的作用,早期的温度控制主要用于工厂时间生产中,能起到实时采集温度数据,提高生产效率,产品质量之用。

随着人们生活质量的提高,现代社会中的温度控制不仅应用在工厂生产方面也应用于酒店,厂房以及家庭生活中,在有些应用中,如高精度的生产厂房,对温度的要求极其严格,温度的变化极有可能对生产的产品造成极大的影响。

因此,这就需要一种能够及时检测温度变化以及温度变化的设备,提供温度数据值,使人们对温度的变化做及时的调整,多点温度控制可根据人们不同的应用环境自行设置该环境的温度值,及时反映生产,生活中温度变化使人们能及时看到温度变化的第一手资料,提示人们温度变化情况,协助人们能及时的调整,起到温度报警作用,使温度控制更好的服务于社会生产,生活。

2.总体设计

2.1硬件

要实现多点温度控制,必需有主机部分、测温电路、键盘输入电路、温度显示电路以及报警电路。

主机部分:

用于协调控制各电路正常工作,实现温度控制,某点温度超过设定正常值时,控制相应装置进行加热或降温。

测温电路:

多点温度测量,输入主机。

键盘输入电路:

设计上下限温度,通过主机对温度进行控制。

温度显示电路:

对设定温度值进行显示。

报警电路:

当测得温度超过所限值,进行报警提示。

为了方便起见,由主机控制的相应装置省略。

2.1.1系统框图

由分析可得出系统框图如图1所示。

 

图1系统框图

2.1.2芯片的选择

1.本设计选用普通的89C51作为单片机芯片。

89C51芯片图如图2所示:

图289C51

(1)电源引脚:

VCC(第40引脚):

接电源+5V

GND(第20引脚):

接电源负极,即接地。

(2)外接晶振引脚:

XTAL1(第19脚):

片内反相放大器输入端

XTAL2(第18脚):

片内反相放大器输出端

(3)输入输出引脚:

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

P0口的8个引脚。

P0口是一个漏极开路的8位准双向I/O口,每位驱动8个LSTTL负载。

在访问外部存储器或进行I/O口扩展时,它分时作为低8位地址总线和双向数据总线。

P1.0—P1.7(第1-8脚):

P1口的8个引脚。

P1口是一个8位的准双向I/O口,每一位可直接驱动4个LSTTL负载。

P2.0-P2.7(第21—28脚):

P2口的8个引脚。

P2口也是一个8位双向I/O口,每一位可直接驱动4个LSTTL负载,在访问外部存储器时它作为高8位地址总线。

P3.0—P3.7(第10-17脚):

P3口8个引脚。

P3口除作为普通8位准双向I/O口外,还具有第二功能。

P3.0:

RXD(串行输入口,串行通信时,信号由此输入单片机)。

P3.1:

TXD(串行输出口,串行通信时,单片机由此把信号输出)。

P3.2:

/INT0(外部中断0输入口)。

P3.3:

/INT1(外部中断1输入口)。

P3.4:

T0(定时器0外部输入口)。

P3.5:

T1(定时器1外部输入口)。

P3.6;/WR(片外数据存储器写选通输出口)。

P3.7:

/RD(片外数据存储器读选通输出口)。

(4)控制引脚:

/PROG(第30引脚):

地址锁存有效信号输出端。

/EA(第31脚):

外部程序存储器选用端。

/PSEN(第29脚):

程序存储允许输出端。

RST(第9脚):

复位信号输入端。

2.本设计中8255可编程并行接口芯片如图3所示:

图38255芯片

(1)D0-D7:

8位三态双向输出/输入通道是8255与CPU接口的数据总线。

(2)RESET:

高电平动作。

复位时,8255的PA,PB,PC口与控制寄存器将被取消,PA,PB,PC口皆为设定为输入口模式。

(3)/CS;芯片选择。

低电平动作。

当/CS=0时,8255被选择;/CS=1时,8255无法与CPU做数据传输。

(4)/RD:

读取使能,低点平动作。

/RD=0,且/CS=0时,CPU从8255读取数

(5)/WR:

写入使能,低点平动作。

/WR=0,且/CS=0时,CPU将数据写入8255

(6)A0,A1:

地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。

A0、A1的端口选择如表1所示:

表1

A1 A0

被选中的端口名

0   0

PA口

0   1

PB口

1   0

PC口

1   1

控制寄存器

当A1=1,A0=1时,选择控制寄存器,控制字格式由D7决定。

当D7=1时。

控制字代表8255A组和B组的工作模式控制字,而当D7=0时,控制代表PC口位的设定或清除。

可作为PA口与PB口的控制信号。

3.温度传感器芯片DS18B20如图4所示:

图4DS18B20芯片

DS18B20是美国DALLAS半导体公司新近推出的单线数字化测温集成电路。

它具有独特的单线接口方式,即与微处理器接口时仅需占用1个I/O端口,支持多节点,使分布式温度传感器设计大为简化;测温时无需任何外部原件,可以通过数据线直接供电,具有超低功耗工作方式;测温范围为-55~+125℃,测温精度为0.5℃,可直接将温度转换值以9位数字码的方式串行输出,将温度转化为数字编码只需200ms。

因此该温度传感器特别适合与各种微处理器接口时需要A/D转换器和较复杂的外围电路的弊端,可广泛用于工业控制、消费类电子产品、电子测温计、医疗仪器等各种温度测控系统中,可提高产品的可靠性,降低成本,缩小体积。

DS18B20的性能与特点:

(1)独特的单线接口仅需要一个端口引脚进行通信

(2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能

(3)无须外部器件

(4)可通过数据线供电,电压范围为3.0~5.5V

(5)零待机功耗

(6)温度以9或12位数字

(7)用户可定义的非易失性温度报警设置

(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件,负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

DS18B20各引脚功能说明如表2所示:

表2

引脚

8脚SOIC

引脚

PR35

符号

说明

5

1

GND

4

2

DQ

单线运用的数据输入/输出引脚

3

3

VDD

可选VDD引脚

4.LED七段数码管

LED显示器是于发光二极管组成的,用来显示特定的的显示器。

7段数码管发光二极管使用灵活,简单方便,当有电流通过时,相应的发光二极管就点亮;当电流消灭没有电流时,发光二极管就灭。

同样。

共阳极LED显示器。

就是将所有发光二极管的阳极接到一起,接到电源正极。

这样,当某个发光二极管的阴极加有低电平,该发光二极管即被点亮。

常用7段数码管LED显示器,共阴极和共阳极结构如图5所示:

图5七段数码管结构图

LED显示器字符段码表如表3所示:

表3

示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

0

3FH

C0H

C

39H

C6H

1

06H

F9H

D(d)

5EH

A1H

2

5BH

A4H

E

79H

86H

3

4FH

B0H

F

71H

8EH

4

66H

99H

.

80H

7EH

5

6DH

92H

P

73H

82H

6

7DH

82H

U

3EH

C1H

7

07H

F8H

T

31H

CEH

8

7FH

80H

Y

6EH

91H

9

6FH

90H

8.

FFH

00H

A

77H

88H

"灭"

00H

FFH

B(b)

7CH

83H

|

|

|

通过a,b,c,d,e,f,g,dp各点和公共点的电位,就可以控制个发光二极管的亮暗,而不同的发光的亮暗组合就可以显示不同的数字(dp点是来表示小数点,在显示数字中不起作用)。

比如,要显示“3”,则只需点亮a,b,c,d,g5个发光二极管,而其他均为暗,对于共阴极LED显示器来说,就是在在这些引脚上输入高电平即可。

5.BCD七段译码器74LS47

7447有4个BCD码输入端A、B、C和D,其中D为最高有效位,A为最低有效位,它们分别与输出端口中的4位相连。

7447的7个输出引脚a~g直接与LED的相应引脚相连,每个段中都串接一个限流电阻,其阻值为100Ω。

当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。

BI/RBO是线与逻辑,作灭灯输入(BI)或动态灭灯(RBO)之用,或者兼为二者之用。

74LS47芯片图如图6所示:

图674LS47芯片

7447功能表如表4所示:

表4

(1)要求0—15时,灭灯输入(BI)必须开路或保持高电平,如果不要灭十进制数零,则动态灭灯输入(RBI)必须开路或为高电平。

(2)将一低电平直接输入BI端,则不管其他输入为何电平,所有的输出端均输出为低电平。

(3)当动态灭灯输入(RBI)和A,B,C,D输入为低电平而试灯输入为高电平时,所有各段输出都为0,并且动态灭灯输出(RBO)为低电平(响应条件)。

(4)当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。

    表中H=高电平,L=低电平。

BI/RBO是线与逻辑,作灭灯输入(BI)或动态灭灯(RBO)之用,或者兼为二者之用。

2.1.3部分硬件电路图

1.键盘控制输入和显示电路

8255通过D0—D7与CPU连接,及时实现与89C51数据的传输。

通过设置8255的控制字,使得PB为输出口,PC(0-3)口为键盘行扫描,PC(5-7)口为设定为输入口,作为键盘的列扫描。

PB(0-3)与7447芯片7,1,2,6引脚连接实现扩展。

PB(4-6)与74LS138芯片1,2,3引脚连接。

输出Y0,Y1实现LED的显示。

电路图如图7:

图7键盘控制输入和显示电路

2.89C51与8255的连接

通过P20,P21分别与A0,A1连接,可以控制8255控制字的的设置,89C51的/RD与8255的/RD连接,/WR与/WR连接,实现89C51与8255数据的读入和写出,/CS信片片选。

电路图如图8:

图88751与8255的连接图

3.报警电路

该电路利用晶体三极管的特性,将单片机的P3.7脚接NPN三极管的基极,根据其性质,当P3.7输出高电平时,三极管导通,从而驱动喇叭发出声音,否则蜂鸣器就不发声,在右图所师电路中,由软件编程控制当周围的温度超过所设定的温度时,三极管基极就为高电平,可以实现报警功能,反之P3.7保持低电平,三极管截止,蜂鸣器停止发声。

电路图如图9所示:

图9报警电路

4.复位及时钟信号产生电路

本电路主要由12M晶振、30PF的瓷片电容、电阻、开关组成,电路如图11所示。

12M晶振和30PF的瓷片电容构成稳定的自激振荡器,产生时钟信号。

上电自动复位电路则由22uF电容和两个电阻构成。

加电瞬间电容通过充电实现正脉冲,用以复位。

手动复位则由开关和电阻组成。

按下开关之后就产生一个正脉冲,就可以实现复位。

本电路采用的是二者的组合。

如图10所示:

图10复位及时钟信号产生电路

5.传感器与主机连接电路

在主机上可以挂接多个DS18B20,从而构成多点温度测控系统。

根据每个DS18B20把温度采集后送给主机分析,从而控制环境温度。

本图为了方便只给出一个DS18B20的连接方式,电路图如图11所示:

图11传感器与主机连接电路

2.1.4总体硬件电路图

由上述分析可以得出总体硬件电路图如图12所示:

图12总体硬件电路图

2.2软件

2.2.1程序流程图

系统程序流程图如图13所示:

 

图13系统程序流程图

2.2.2系统程序

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

LCALLRESET

MOV40H,#1

MOV41H,#1

MOV42H,#0

MOV43H,#0;设定温度上下限

MOV44H,#5

MOV45H,#0

MOVP2,#0FBH

JNBP2.6,PPP

SJMPKKK

PPP:

LJMPKEY

KKK:

LCALLRESET

LCALLRES18B20

START:

LCALLRESET

MOVA,0CCH

LCALLWRITE

MOVA,44H

LCALLWRITE

LCALLRESET

MOVA,0CCH

LCALLWRITE

MOVA,0BEH

LCALLWRITE

LCALLREAD

MOV50H,A

LCALLREAD

MOV51H,A

LCALLRESET

LCALLTEMPER

LCALLCOM

LCALLBEEP

LCALLXIANSHI

LJMPMAIN

RESET:

CLREA;

SETBP1.3;

BACK:

MOV60H,#200;

L1:

CLRP1.3

DJNZ60H,L1

SETBP1.3

MOV61H,#30H

DJNZ61H,$

CLRC

ORLC,P1.3

JCBACK

MOV61H,#80

L2:

ORLC,P1.3

JCL3

DJNZ61H,L2

SJMPBACK

L3:

MOV61H,#240

DJNZ61H,$

RETI;

;重新写DS18B20暂存存储器设定值

RES18B20:

JB20H.1,RES1

RETI

RES1:

MOVA,#0CCH

LCALLWRITE

MOVA,#4EH

LCALLWRITE

MOVA,#00H

LCALLWRITE

MOVA,#00H

LCALLWRITE

MOVA,#7FH

LCALLWRITE

RETI

WRITE:

CLREA

MOVR3,#08H

WR1:

SETBP1.3

MOVR4,#8

RRCA

CLRP1.3

DJNZR4,$

MOVP1.3,C

MOVR4,#20

DJNZR4,$

DJNZR3,L1

SETBP1.3

RET

READ:

CLREA

MOVR6,#08H

RD1:

CLRP1.3

MOVR4,#4

NOP

SETBP1.3

DJNZR4,$

MOVC,P1.3

RRCA

MOVR5,#30

DJNZR5,$

DJNZR6,RD1

SETBP1.3

RET

;键盘扫描子程序

KEY:

MOVP2,#0F0H

MOVR7,#0FFH

MOVR0,#40H

MOV63H,#07H

KEY1:

DJNZR7,KEY1

MOVA,P2

ORLA,#0FH

CPLA

JZEKEY

LCALLDELAY

SKEY1:

MOVA,#00H

MOVR5,A

MOVR7,A

MOVR3,#0FEH

SKEY2:

MOVA,R3

MOVP2,A

NOP

NOP

NOP

MOVA,P2

MOVR7,A

ORLA,#0FH

CPLA

S123:

JNZSKEY3

INCR5

SETBC

MOVA,R3

RLCA

MOVR3,A

MOVA,R4

CJNEA,#04H,SKEY1

EKEY:

RET

SKEY3:

MOVA,R1

JNBACC.4,SKEY5

JNBACC.5,SKEY6

JNBACC.6,SKEY7

JNBACC.7,SKEY8

AJMPEKEY

SKEY5:

MOVA,#00H

MOVR2,A

AJMPDKEY

SKEY6:

MOVA,#01H

MOVR2,A

AJMPDKEY

SKEY7:

MOVA,#02H

MOVR2,A

AJMPDKEY

SKEY8:

MOVA,#03H

MOVR2,A

AJMPDKEY

;键位置译码

DKEY:

MOVA,R5

ACALLDECODE

AJMPEKEY

;键值译码

DECODE:

MOVA,R5

MOVB,#04H

MULAB

ADDA,R2

MOV@R0,A

INCR0

DJNZ63H,KEY

RET

;将从DS18B20中读出的温度数据进行转换

TEMPER:

MOVA,#0F0H

ANLA,50H

SWAPA

MOV53H,A

MOVA,50H

JNBACC.3,COV1

INC53H

COV1:

MOVA,51H

ANLA,#07H

SWAPA

ORLA,53H

MOV53H,A

MOVB,#64H

DIVAB

MOV46H,A

MOVA,#0AH

XCHA,B

DIVAB;

MOVA,#47H

MOVB,#48H

RET

;温度值与上下限比较

COM:

MOVA,46H

CJNEA,40H,LOOP1

MOVA,47H

CJNEA,41H,LOOP2

MOVA,48H

CJNEA,42H,LOOP3

LOOP3:

JCCOML1

SJMPSPEAKER

LOOP2:

JCCOML2

SJMPSPEAKER

LOOP1:

JCCOML3

SJMPSPEAKER

COML1:

CJNEA,45H,LOOP4

LOOP4:

JCSPEAKER

COML2:

CJNEA,44H,LOOP5

LOOP5:

JCSPEAKER

COML3:

CJNEA,43H,LOOP6

LOOP6:

JCSPEAKER

SPEAKER:

SETBP1.6

RET

;蜂鸣器响铃子程序

BEEP:

LCALLDEX1

CPLP1.6

LCALLDELAY

MOVR6,#100

DJNZR6,DEL2

RET

DEL2:

MOVR7,#180

NOP

DJNZR7,DEL2

RET

DELAY:

MOVR6,#50

MOVR5,#1O

DEX1:

MOVR7,#100

DJNZR7,$

DJNZR6,DEX1

DJNZR5,DELAY

RET

;74LS164驱动4个LED

XIANSHI:

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#4BH

MOVR0,48H

MOV70H,#04H

MOVSCON,#00H

SETBTR0

SETBET0

SETBEA

SJMP$

;中断子程序

ORG000B

INTT0:

PUSHACC

PUSHPSW

CLREA

CLRTR0

MOVTL0,#00H

MOVTH0,#4BH

SETBTR0

DJNZ70H,EXIT

SJMPQQQ

EXIT:

MOVDPTR,#TABLE

MOVA,R0

MOVCA,@A+DPTR

CLRTI

MOVSBUF,A

DECR0

DJNZ70H,EXIT

RETI

QQQ:

SETBEA

POPPSW

POPACC

TABLE:

DB11H,77H,92H,32H,74H,38H,18H,73H,10H,30H

END

课程设计体会

课程设计虽然结束了,但在做课程设计中遇到不少难题,经过反复的查找资料以及同学的帮助总算把问题解决了。

从这次的课程设计中我学到了不少东西,不仅对微机控制基础知道加深了理解,更清楚了如何理论联系实际,把书本上学到的知识活用到实际中从而解决问题。

更提高了分析问题的能力,学会了解决问题的方法。

本设计采用常用的单片机组成应用系统,同时外扩接口电路,以实现人机交互,便于人们的操作和掌握系统的运行。

本系统就是根据这一原理来设计电路,通过本系统可以像计算机输入数据,传送命令,控制系统的运行,实现多点温度的检测控制。

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

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

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

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

主机控制程序、数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、蜂鸣器响铃子程序、中断子程序。

在实现设计的过程中让我学会了一些相应软件的应用,巩固了以前学过的知识,像这次设计就是单片机、微机原理、自动控制等多门学科的综合,给我们一个知识综合运用的一个实例。

课程设计结束了,从中获益匪浅,在人生的道路中受用无穷。

学习永无止境,一个设计并不能学会很多,但重要的是学到了解决问题的方法,今后遇到问题要学会解决问题,并从中学会更多的知识,在最后要强调一点:

路漫漫其修远兮,吾将上下而求索。

参考文献

[1]张桂红.《单片机原理及应用(第3版)》.科学技术出版社.2007.2

[2]李朝青.《单片机原理及接接口技术》.北京航空航天大学出版社.1990

[3]彭为,黄科,雷道中.《单片机典型系统设计》.电子工业出版社.2006.5

[4]周润景,袁伟亭,景晓松.《Proteus在MCS-51﹠ARM7系统中的应用百例》.电子工业出版社.2006.10

[5]丁元杰.《单片机原理及应用》.机械工业出版社.1996

[6]张海.《基于AT89C51和DS18B20的最简温度测量系统的设计》.现代电子技术.2007

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

 

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

当前位置:首页 > 自然科学 > 物理

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

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