课程设计水温控制系统.docx

上传人:b****5 文档编号:6433468 上传时间:2023-01-06 格式:DOCX 页数:24 大小:185.56KB
下载 相关 举报
课程设计水温控制系统.docx_第1页
第1页 / 共24页
课程设计水温控制系统.docx_第2页
第2页 / 共24页
课程设计水温控制系统.docx_第3页
第3页 / 共24页
课程设计水温控制系统.docx_第4页
第4页 / 共24页
课程设计水温控制系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

课程设计水温控制系统.docx

《课程设计水温控制系统.docx》由会员分享,可在线阅读,更多相关《课程设计水温控制系统.docx(24页珍藏版)》请在冰豆网上搜索。

课程设计水温控制系统.docx

课程设计水温控制系统

数理与信息工程学院

《单片机原理及应用》期末课程设计

题目:

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

专业:

电子信息工程

班级:

姓名:

学号:

指导老师:

成绩:

11自己的东西少,格式也欠规范

(2007.1)

 

目录

第1节引言……………………………………………………………………………3

1.1水温控制系统概述……………………………………………………………3

1.2本设计任务和主要内容………………………………………………………3

第2节系统主要硬件电路设计………………………………………………………4

2.1单片机控制系统原理…………………………………………………………4

2.2温度采样电路…………………………………………………………………4

2.2.1温度传感器的选取……………………………………………………4

2.2.2温度传感器AD590……………………………………………………5

2.2.3电路原理及参数计算…………………………………………………5

2.2.4ADC0804性能描述……………………………………………………5

2.3温度控制电路…………………………………………………………………5

2.4主机控制部分…………………………………………………………………6

2.5键盘及数字显示部分…………………………………………………………6

第3节系统软件设计…………………………………………………………………8

3.1主程序流图……………………………………………………………………8

3.2主程序…………………………………………………………………………8

3.3键盘和数字显示流程图………………………………………………………14

3.4键盘显示程序…………………………………………………………………14

第4节结束语…………………………………………………………………………23

参考文献…………………………………………………………………………24

 

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

数理与信息工程学院电信041班王炜

指导教师:

余水宝

第1节引言

在能源日益紧张的今天,电热水器,饮水机,电饭煲之类的家用电器在保温时,由于其简单的温控系统,利用温敏电阻来实现温控,因而会造成很大的能源浪费浪费。

但是利用AT89C51单片机为核心,配合温度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。

单片机可将温度传感器检测到的水温模拟量转换成数字量,显示于LED显示器上。

该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。

1.1水温控制系统概述

能源问题已经是当前最为热门的话题,离开能源的日子,世界将失去一切颜色,人们将寸步难行,虽然本设计是节省电能角度出发,而电能又是可再生能源,但是在今天还是有很多的电能是依靠火力,核电等一系列不可再生的自然资源所产生,一旦这些自然资源耗尽,我们将面临电能资源的巨大的缺口,因而本设计从开源节流的截流角度出发,节省电能,保护环境。

1.2本设计任务和主要内容

设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。

本设计主要内容如下:

 

(1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。

  

(2)环境温度降低时温度控制的静态误差≤1℃。

  (3)用十进制数码管显示水的实际温度。

  (4)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

  (5)温度控制的静态误差≤0.2℃。

  

 

第2节系统主要硬件电路设计

2.1单片机控制系统原理

图2-1单片机控制系统原理框图

2.2温度采样电路

系统的信号采集电路主要由温度传感器(AD590)、基准电压(7812)及A/D转换电路(ADC0804)三部分组成。

如图:

2-2

图2-2信号采集电路

2.2.1温度传感器的选取

目前市场上温度传感器较多,有以下几种:

方案一:

选用铂电阻温度传感器,此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。

方案二:

采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。

方案三:

选用美国AnalogDevices公司生产的二端集成电流传感器AD590。

其测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。

此器件具有体积小、质量轻、线形

度好、性能稳定等优点其各方面特性都满足此系统的设计要求。

比较以上三种方案,方案三具有明显的优点,因此选用方案三。

2.2.2温度传感器AD590

测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃。

AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA和368.2uA。

2.2.3电路原理及参数计算

温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再将电流量转换成电压量通过A/D转换器ADC0804将其转换成数值量交由单片机处理。

2.2.4ADC0804性能描述

ADC0804为8bit的一路A/D转换器,其输入电压范围在0—5v,转换速度小于100us,转换精度0.39﹪。

满足系统的要求。

如图2-3A/D转换电路

图2-3A/D转换电路

由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流

等于电流

等于308.2uA,三端稳压7812的输出电压为12v所以取电阻R2=30k,R1=10k的电位器。

又由于ADC0804的输入电压范围为0—5v,为了提高精度所以令水温为95℃时

ADC0804的输入电压为5v(即

Uo=5v)。

当水温为95℃时AD590的输出电流为368.2uA。

因此取R5=81k,R5=5k的电位器。

2.3温度控制电路

此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。

MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。

100Ω电阻与0.01uF电容组成双向可控硅保护电路。

控制部分电路图如图2-4部分控制电路。

如图2-4部分控制电路

2.4主机控制部分

此部分是电路的核心部分,系统的控制采用了单片机89C52。

单片机89C52内部有8KB单元的程序存储器及256字节的数据存储器。

因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。

如图2-5主机控制部分

如图2-5主机控制部分

2.5键盘及数字显示部分

在设计键盘/显示电路时,我们使用单片机2051做为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。

键盘/显示接口电路如图2-6。

图3-4-1中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、小数点、符号等等。

单片机2051的P3.3、P3.4、P3.5接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大的减少单片机的I/O,减少硬件的花费。

图2-6键盘/显示部分电路

键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4的键盘接成8*2的形式(如图2-7),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.2和P3.7相连。

图2-7键盘接线

如图2-7的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。

 

第3节系统的软件设计

3.1系统主程序设计

 

3.2主程序

主程序如下:

ORG0000H

AJMPSTART;主程序

ORG000BH

AJMPTIM0;T0中断子程序

ORG0023H

AJMPRT;串口中断接受子程序

ORG0100H

START:

MOV50H,#00H;初始化设定温度

MOV51H,#00H

MOV52H,#00H

MOV53H,#00H

MOV54H,#0C6H;发送第5个数码管字形码“C”

MOVTMOD,#01H;T0工作在MODE1

MOVTH0,#0ECH;晶振12M,50ms中断一次

MOVTL0,#78H

SETBTR0

MOVTMOD,#20H;T1工作在MODE2

MOVTH1,#0E6H;设波特率

MOVTL1,#0E6H

SETBTR1

MOVSCON,#50H

MOVIE,#92H;允许T0,RI中断

MOVR6,#04H;初始要接收的数据个数

MOVR1,#50H;初始要接收数据的起始地址

MOVR4,#00H

REY:

MOVA,53H

CJNEA,#00H,YES

SJMPREY

YES:

MOVR3,#00H

YES1:

CLRP2.0;开始AD转换

CLRP3.6

SETBP3.6

ACALLDELAY

J1:

MOVXA,@R0

ACALLSJCL;调用数据处理子程序

ACALLDISP

DJNZR3,MM

ACALLFS;调用串口发送子程序

AJMPYES

MM:

AJMPYES1

SJCL:

MOVB,#60

MULAB

MOV61H,A

MOVA,B

ADDA,#35

ACALLL10

MOV60H,R5;存十进制高八位(个位和十位)

MOVA,61H

MOVB,#9

MULAB

MOV61H,B;存十进制低八位(小数点)

RET

L10:

CLRC

MOVR5,#00H;初始化十进制转换的地位寄存器

MOVR4,#08H;调整次数

NEXT:

RLCA

MOVR2,A

MOVA,R5

ADDCA,R5

DAA

MOVR5,A

MOVA,R2

DJNZR4,NEXT

RET

DISP:

MOVA,60H

ANLA,#0F0H;取D2的显示数据存入70H

SWAPA

MOV70H,A

MOVA,60H

ANLA,#0FH;取D1的显示数据存入71H

MOV71H,A

MOV72H,61H;取D0的显示数据存入72H

MOVR0,#70H;取相应的字形码分别存入55-57H

MOVDPTR,#TAB

MOVA,@R0

MOVCA,@A+DPTR

MOV55H,A

INCR0

MOVA,@R0

MOVCA,@A+DPTR

MOV56H,A

INCR0

MOVA,@R0

MOVCA,@A+DPTR

MOV57H,A

MOVA,56H

ADDA,#80H;在D1字形码上加小数点

MOV56H,A

RET

 

FS:

MOVA,R0

PUSHACC

MOVTMOD,#20H

MOVTH1,#0E6H

MOVTL1,#0E6H

SETBTR1

MOVSCON,#50H

MOVR0,#54H;设定发送起始地址

MOVR7,#04H

LOOP:

MOVSBUF,@R0

JNBTI,$

CLRTI

INCR0

DJNZR7,LOOP

POPACC

MOVR0,A

RET

;串口中断接受子程序

RT:

PUSHACC

PUSHPSW

CLRET0

CLRES

SJ:

MOV@R1,SBUF

INCR1

CJNER4,#03H,MOVE

SJMPMOVE1

MOVE:

INCR4

CLRRI

JNBRI,$

MOVE1:

DJNZR6,SJ

MOVR4,#00H

MOVR1,#50H;重置接收起始地址

MOVR6,#04H;重置接收个数

SETBET0

SETBES

POPPSW

POPACC

RETI

 

;T0中断子程序

TIM0:

PUSHACC

PUSHPSW

MOVTH0,#0ECH;重设中断时间

MOVTL0,#78H

CLRC

;ACALLJS

MOVA,51H

CJNEA,70H,Q1;最高位比

SJMPQ2

Q1:

JCOFF

SJMPON

Q2:

MOVA,52H

CJNEA,71H,Q3

Q3:

JCOFF

ON:

CLRP1.4

CLRP1.2

RE:

POPPSW

POPACC

RETI

OFF:

SETBP1.4

SETBP1.2

SJMPRE

DELAY:

MOVR7,#50

DJNZR7,$

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

 

3.3键盘显示程序

3.4键盘显示程序

键盘显示程序如下:

FLAGABIT4EH

FLAGBBIT4FH

ORG00H

JMPSTART

ORG23H

JMPUARTI

START:

CLRFLAGA

CLRFLAGB

MOV30H,#07H;系统显示

MOV31H,#07H;PPPPPPPP

MOV32H,#07H

MOV33H,#07H

MOV34H,#07H

MOV35H,#07H

MOV36H,#07H

MOV37H,#07H

MOVR1,#90H

MOVR0,#50H

PP:

CLRP3.3;P3.5P3.4P3.3=000

CLRP3.4

CLRP3.5

MOVA,30H

MOVP1,A

SETBP3.3;001

MOVA,31H

MOVP1,A

SETBP3.4;010

CLRP3.3

MOVA,32H

MOVP1,A

SETBP3.3;011

MOVA,33H

MOVP1,A

SETBP3.5;100

CLRP3.4

CLRP3.3

MOVA,34H

MOVP1,A

SETBP3.3;101

MOVA,35H

MOVP1,A

SETBP3.4;110

CLRP3.3

MOVA,36H

MOVP1,A

SETBP3.3;111

MOVA,37H

MOVP1,A

DJNZR0,PP

MOVR0,#0FFH

DJNZR0,$

DJNZR1,PP;系统显示

MOVSCON,#52H;串行口方式2,允许接收,初态TI=1

MOV30H,#0FH;0

MOV34H,#0FH

MOV33H,#93H;C

MOV37H,#93H

Z1:

CLRP3.3;000

CLRP3.4

CLRP3.5

MOVA,30H

MOVP1,A

JBP3.2,Z11

ACALLDELAY;JIANCHULI

JNBP3.2,$

SETBFLAGA

JMPZ2

Z11:

JBP3.7,Z2

ACALLDELAY;JIANCHULI

JNBP3.7,$

JNBFLAGA,Z2

JBFLAGB,Z12

MOV31H,#0C0H;

MOVR0,#0

SETBFLAGB

JMPZ2

Z12:

MOV32H,#0C0H;

MOVR1,#0

CLRFLAGB

Z2:

SETBP3.3;001

MOVA,31H

MOVP1,A

JBP3.2,Z21

ACALLDELAY;JIAN

JNBP3.2,$

JNBFLAGA,Z3

JBFLAGB,Z22

MOV31H,#0F9H;

MOVR0,#1

SETBFLAGB

JMPZ3

Z22:

MOV32H,#0F9H;

MOVR1,#1

CLRFLAGB

JMPZ3

Z21:

JBP3.7,Z3

ACALLDELAY;JIAN

JNBP3.7,$

JNBFLAGA,Z3

JBFLAGB,Z23

MOVR0,#2

MOV31H,#0A4H;

SETBFLAGB

JMPZ3

Z23:

MOV32H,#0A4H;

MOVR1,#2

CLRFLAGB

Z3:

SETBP3.4;010

CLRP3.3

MOVA,32H

MOVP1,A

JBP3.2,Z31

ACALLDELAY;JIAN

JNBP3.2,$

JNBFLAGA,Z4

JBFLAGB,Z32

MOV31H,#0B0H;

MOVR0,#3

SETBFLAGB

JMPZ4

Z32:

MOV32H,#0B0H;

MOVR1,#3

CLRFLAGB

JMPZ4

Z31:

JBP3.7,Z4

ACALLDELAY;JIAN

JNBP3.7,$

JNBFLAGA,Z4

JBFLAGB,Z33

MOV31H,#99H;

MOVR0,#4

SETBFLAGB

JMPZ4

Z33:

MOV32H,#99H;

MOVR1,#4

CLRFLAGB

Z4:

SETBP3.3;011

MOVA,33H

MOVP1,A

JBP3.2,Z41

ACALLDELAY;JIAN

JNBP3.2,$

JNBFLAGA,Z5

JBFLAGB,Z42

MOV31H,#92H;

MOVR0,#5

SETBFLAGB

JMPZ5

Z42:

MOV32H,#92H;

MOVR1,#5

CLRFLAGB

JMPZ5

Z41:

JBP3.7,Z5

ACALLDELAY;JIAN

JNBP3.7,$

JNBFLAGA,Z5

JBFLAGB,Z43

MOV31H,#82H;

MOVR0,#6

SETBFLAGB

JMPZ5

Z43:

MOV32H,#82H;0

MOVR1,#6

CLRFLAGB

Z5:

CLRP3.3;100

CLRP3.4

SETBP3.5

MOVA,34H

MOVP1,A

JBP3.2,Z51

ACALLDELAY;JIAN

JNBP3.2,$

JNBFLAGA,Z6

JBFLAGB,Z52

MOV31H,#0F8H;

MOVR0,#7

SETBFLAGB

JMPZ6

Z52:

MOV32H,#0F8H;

MOVR1,#7

CLRFLAGB

JMPZ6

Z51:

JBP3.7,Z6

ACALLDELAY;JIAN

JNBP3.7,$

JNBFLAGA,Z6

JBFLAGB,Z53

MOV31H,#80H

MOVR0,#8

SETBFLAGB

JMPZ6

Z53:

MOV32H,#80H

MOVR1,#8

CLRFLAGB

Z6:

SETBP3.3;101

MOVA,35H

MOVP1,A

JBP3.2,Z61

ACALLDELAY;JIAN

JNBP3.2,$

JNBFLAGA,Z7

JBFLAGB,Z62

MOV31H,#98H

MOVR0,#9

SETBFLAGB

JMPZ7

Z62:

MOV32H,#98H

MOVR1,#9

CLRFLAGB

JMPZ7

Z61:

JBP3.7,Z7

ACALLDELAY;JIAN

JNBP3.7,$

JNBFLAGA,Z7

MOVA,R0

MOVB,#10

MULAB

MOVB,R1

ADDA,B

MOVSBUF,A

CLRFLAGA

CLRFLAGB

Z7:

SETBP3.4;110

CLRP3.3

MOVA,36H

MOVP1,A

Z8:

SETBP3.3;111

MOVA,37H

MOVP1,A

JMPZ1

DELAY:

MOVR7,#0F0H

DL0:

MOVR6,#0F0H

DJNZR6,$

DJNZR7,DL0

RET

UARTI:

PUSHACC

PUSHPSW

MOVDPTR,#TABLE

MOVA,SBUF

JNBRI,$

CLRRI

MOVB,A

ANLA,#00FH

MOVCA,@A+DPTR

MOV36H,A

MOVA,B

ANLA,#0F0H

MOVB,#10H

DIVAB

MOVCA,@A+DPTR

MOV35H,A

MOVA,R1

POPPSW

POPACC

RETI

TABLE:

DB11H,7DH,23H,29H,4DH

DB89H,81H,1DH,01H,09H;

 

结束语

首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。

我所写的系统主要根据目前节省能源的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对水温的自动检测和控制。

系统以单片机AT89C52为核心部件,单片机系统完成对水温信号的采集、处理、显示等功能;用Protel软件绘制电路原理图和PCB电路印刷板图,并在电路板厂制作控制主板;利用MCS51汇编语言编制,运行程序该系统的主要特点是:

1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户水温的要求,实现对水温的实时监控。

避免了电力力资源的浪费,节省了能源。

2)将单片

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

当前位置:首页 > 工程科技 > 能源化工

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

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