基于DS18B20的水温控制系统 课程设计.docx

上传人:b****4 文档编号:4616260 上传时间:2023-05-07 格式:DOCX 页数:19 大小:636.96KB
下载 相关 举报
基于DS18B20的水温控制系统 课程设计.docx_第1页
第1页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第2页
第2页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第3页
第3页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第4页
第4页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第5页
第5页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第6页
第6页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第7页
第7页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第8页
第8页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第9页
第9页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第10页
第10页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第11页
第11页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第12页
第12页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第13页
第13页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第14页
第14页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第15页
第15页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第16页
第16页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第17页
第17页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第18页
第18页 / 共19页
基于DS18B20的水温控制系统 课程设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于DS18B20的水温控制系统 课程设计.docx

《基于DS18B20的水温控制系统 课程设计.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的水温控制系统 课程设计.docx(19页珍藏版)》请在冰点文库上搜索。

基于DS18B20的水温控制系统 课程设计.docx

基于DS18B20的水温控制系统课程设计

成绩:

电气信息学院

课程大作业说明书

课程设计名称:

实用型工程软件的应用

题目:

基于DS18B20

的水温控制系统

学生姓名:

专业:

测控技术与仪器

班级:

2010级

学号:

教师:

日期:

2013年6月3日

一、设计任务及要求

1.设计题目

基于DS18B20的水温控制系统。

2.设计要求与目的

·利用单片机AT89C51控制DS18B20温度传感器对谁问的控制;

·通过水温控制系统的设计要掌握好对Proteus仿真设计的熟练运用;

·通过水温控制系统的设计要熟练掌握单片机的各个功能,并且能对单片机有一

总体的的把握,再设计的过程中能够凭借对单片机各功能的了解,达到理想的设计效果;

·本例使用了温度传感器DS18B20和74HC245,通过对单片机的学习能够对它们触类旁通。

3.设计任务

·设计系统硬件

·设计系统软件

·编写设计说明书

二、设计背景简介

在生活中,无论是冬天还是夏天我们都离不开热水。

把水烧开很容易,但是要把水温控制在一定的温度而且进行自动控制就不是那么随便。

所以为了更高效和方便人们的需求。

本设计就专门利用单片机和DS18B20温度传感器来实现了一个水温自动控制系统,希望通过本设计能够对未来的趋势有所把握,从而适应社会需要。

三、电路设计

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

温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,再由单片机将信号通过数码管显示出来。

当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。

预设温度值和实测温度值分别由两个三位数码管显示,范围为0~99℃。

1.74HC245芯片相关知识

(1)原理说明

总线收发器(bustransceiver),典型的CMOS型三态缓冲门电路。

由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。

另外,也可以使用74HC244等其他缓冲门电路。

74HC244是单向,74HC245是双向。

(2)引脚定义

74HC245的引脚功能如图3-1所示。

图3-174HC245的引脚图

第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。

第2~9脚“A”信号输入输出端,A0=B0,A7=B7,A0与B0是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。

如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。

第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。

第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。

第10脚GND,电源地。

第20脚VCC,电源正极。

表3-1TRUTHTABLE真值表

ControlInputs控制输入

Operation运行

G

DIR

L

L

B数据到A总线

L

H

A数据到B总线

H

X

隔开

H=高电平L=低电平×=不定

2.DS18B20芯片相关知识

(1)DS18B20简介

DS18B20是由美国DALLAS公司生产的单线数字温度传感器芯片。

与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化为串行数字信号,以供单片机处理,它还具有微型化、低功率、高性能、抗干扰能力强等优点。

通过编程,DS18B20可以实现9~12位的温度读数。

信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。

读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。

(2)DS18B20的引脚功能

DS18B20的引脚(图3-2),其功能如表3-2所示。

图3-2DS18B20的引脚

表3-2DS18B20的引脚说明

(3)DS18B20的主要特点

·采用单线技术,与单片机通信只需一个引脚;

·通过识别芯片各自唯一的产品序列号从而实现单线多挂接,简化了分布式温度检测的

应用;

·实际应用中不需要外部任何器件即可实现测温;

·可通过数据线供电,电压的范围在3~5.5V;

·不需要备份电源;

·测量范围为-55~+125℃,在-10~+85℃范围内误差为0.5℃;

·数字温度计的分辨率用户可以在9位到12位之间选择,可配置实现9~12位的温度读数;

·将12位的温度值转换为数字量所需时间不超过750ms;

·用户定义的,非易失性的温度告警设置,用用户可以自行设定告警的上下限温度。

(4)DS18B20的ROM及控制指令

DS18B20的64位ROM的结构如表3-3所示。

开始8位是DS18B20的产品类型编号10H,接着是每一个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,也是多个DS18B20可以用一根线进行通信的原因。

表3-3DS18B20的64位ROM结构表

主机操作ROM的命令有五种如表3-4所示。

表3-4DS18B20控制指令

DS18B20的高速暂存器由便笺式RAM和非易失性电擦写EERAM组成,后者用于存储TH、TL值。

数据先写入便笺式RAM,经校验后再传给EERAM。

便笺式RAM占9个字节,包括温度信息(0、1字节)、TH和TL值(2、3字节)、配置寄存器数据(4字节)、CRC(8字节)等,5、6、7字节不用。

暂存器的4字节是配置寄存器,可以通过相应的写命令进行配置,其内容如表3-5所示。

表3-5暂存器的配置方式

MSBLSB

其中,R0与R1是温度值分辨率位,配置方式如表3-6所示。

表3-6DS18B20温度值分辨率位配置方式

DS18B20的核心功能部件是它的数字温度传感器,如上所述,它的分辨率可配置为9位、10位、11位或者12位,出厂默认设置是12位分辨率,它们对应的温度分辨率分别是0.5℃、0.25℃、0.125℃、0.0625℃。

温度信息的低位、高位字节内容中还包括了符号位S(是正温度还是负温度)和二进制小数部分,具体形式如表3-7所示。

表3-7温度信息的低位、高位字节内容形式

这是12位分辨率的情况,如果配置为低的分辨率,则其中无意义位为0;实测温度和数字输出的对应关系如表3-8所示。

表3-8DS18B20实测温度和数字输出的对应关系

DS18B20的存储控制命令如表3-9所示。

表3-9DS18B20存储控制命令

四、系统硬件设计

1.DS18B20温度测量电路

根据DS18B20的引脚功能说明,我们可以很快地把VCC接一个5V的电源,而GND接地。

由于DS18B20采用了单总线技术,我们只要把DQ与单片机的一个I/O口相连接就可以了,如图3-3所示。

图3-3DS18B20温度测量电路

2.显示电路

结果显示是由两个三位数码管来显示0~99℃范围的温度值,一个是实测水温值;一个是预设水温值,它们都由74HC245来驱动利用单片机的串口发送或者模拟串口发送把数据发送给74HC164来驱动数码管显示数据。

五、系统软件设计

TMPLEQU29H

TMPHEQU28H

FLAG1EQU38H

DATAINBITP3.7

ORG00H

LJMPMAIN1

ORG03H

LJMPZINT0

ORG13H

LJMPZINT1

ORG30H

MAIN1:

SETBIT0

SETBEA

SETBEX0

SETBIT1

SETBEX1

SETBP3.6

SETBP3.2

MOV74H,#0

MOV75H,#0

MOV76H,#9

MOV77H,#0

MAIN:

LCALLGET_TEMPER

LCALLCVTTMP

LCALLDISP1

AJMPMAIN

INIT_1820:

SETBDATAIN

NOP

CLRDATAIN

MOVR1,#3

TSR1:

MOVR0,#107

DJNZR0,$

DJNZR1,TSR1

SETBDATAIN

NOP

NOP

NOP

MOVR0,#25H

TSR2:

JNBDATAIN,TSR3

DJNZR0,TSR2

CLRFLAG1

SJMPTSR7

TSR3:

SETBFLAG1

CLRP1.7

MOVR0,#117

TSR6:

DJNZR0,$

TSR7:

SETBDATAIN

RET

GET_TEMPER:

SETBDATAIN

LCALLINIT_1820

JBFLAG1,TSS2

NOP

RET

TSS2:

MOVA,#0CCH

LCALLWRITE_1820

MOVA,#44H

LCALLWRITE_1820

ACALLDISP1

LCALLINIT_1820

MOVA,#0CCH

LCALLWRITE_1820

MOVA,#0BEH

LCALLWRITE_1820

LCALLREAD_1820

RET

WRITE_1820:

MOVR2,#8

CLRC

WR1:

CLRDATAIN

MOVR3,#6

DJNZR3,$

RRCA

MOVDATAIN,C

MOVR3,#23

DJNZR3,$

SETBDATAIN

NOP

DJNZR2,WR1

SETBDATAIN

RET

READ_1820:

MOVR4,#2

MOVR1,#29H

RE00:

MOVR2,#8

RE01:

CLRC

SETBDATAIN

NOP

NOP

CLRDATAIN

NOP

NOP

NOP

SETBDATAIN

MOVR3,#9

RE10:

DJNZR3,RE10

MOVC,DATAIN

MOVR3,#23

RE20:

DJNZR3,RE20

RRCA

DJNZR2,RE01

MOV@R1,A

DECR1

DJNZR4,RE00

RET

CVTTMP:

MOVA,TMPH

ANLA,#80H

JZTMPC1

CLRC

MOVA,TMPL

CPLA

ADDA,#1

MOVTMPL,A

MOVA,TMPH

CPLA

ADDCA,#0

MOVTMPH,A

MOV73H,#0BH

SJMPTMPC11

TMPC1:

MOV73H,#0AH

TMPC11:

MOVA,TMPL

ANLA,#0FH

MOVDPTR,#TMPTAB

MOVCA,@A+DPTR

MOV70H,A

MOVA,TMPL

ANLA,#0F0H

SWAPA

MOVTMPL,A

MOVA,TMPH

ANLA,#0FH

SWAPA

ORLA,TMPL

H2BCD:

MOVB,#100

DIVAB

JZB2BCD1

MOV73H,A

B2BCD1:

MOVA,#10

XCHA,B

DIVAB

MOV72H,A

MOV71H,B

TMPC12:

NOP

DISBCD:

MOVA,73H

ANLA,#0FH

CJNEA,#1,DISBCD0

SJMPDISBCD1

DISBCD0:

MOVA,72H

ANLA,#0FH

JNZDISBCD1

MOVA,73H

MOV72H,A

MOV73H,#0AH

DISBCD1:

RET

TMPTAB:

DB0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9

DISP1:

MOVR1,#70H

MOVR0,#74H

MOVR5,#0FEH

PLAY:

MOVP1,#0FFH

MOVA,R5

MOVP2,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP1,A

MOVA,@R0

MOVCA,@A+DPTR

MOVP0,A

MOVA,R5

JBACC.1,LOOP1

CLRP1.7

CLRP0.7

LOOP1:

LCALLDL1MS

INCR1

INCR0

MOVA,R5

JNBACC.3,ENDOUT

RLA

MOVR5,A

MOVA,73H

CJNEA,#1,DD2

SJMPLEDH

DD2:

MOVA,72H

CJNEA,#0AH,DD3

MOV72H,#0

DD3:

MOVA,76H

CJNEA,72H,DDH

SJMPDDL

DDH:

JNCPLAY1

SJMPLEDH

DDL:

MOVA,75H

CJNEA,71H,DDL1

SJMPLEDH

DDL1:

JNCPLAY1

LEDH:

CLRP3.6

SJMPPLAY

PLAY1:

SETBP3.6

SJMPPLAY

ENDOUT:

MOVP1,#0FFH

MOVP2,#0FFH

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H,0FFH,0BFH

DL1MS:

MOVR6,#50

DL1:

MOVR7,#100

DJNZR7,$

DJNZR6,DL1

RET

ZINT0:

PUSHACC

INC75H

MOVA,75H

CJNEA,#10,ZINT01

MOV75H,#0

ZINT01:

POPACC

RETI

ZINT1:

PUSHACC

INC76H

MOVA,76H

CJNEA,#10,ZINT11

MOV76H,#0

ZINT11:

POPACC

RETI

ZZZ1:

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

RETI

END

六、系统仿真

参照5.3.3节建立程序文件,加载目标代码文件,进入调试环境,执行程序,在ProteusISIS界面中,分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度值时,红色发光二极管点亮表示进入热状态(如图6-1所示);调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。

可以看到,当实测温度达到预设温度后,红色发光二极管便自动熄灭,表示停止加热。

如图6-2所示。

图6-1加热状态时的仿真图

图6-2加热到预期温度时的仿真图

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

当前位置:首页 > 经管营销 > 经济市场

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

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