基于DS18B20的水温控制系统.docx

上传人:b****4 文档编号:4655827 上传时间:2023-05-07 格式:DOCX 页数:19 大小:241.57KB
下载 相关 举报
基于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的水温控制系统

一、设计任务及要求

本设计以AT89C51单片机作为控制核心,智能温度传感器DS18B20作为控制对象。

分别用3位数码管显示预设温度值和实测温度值。

运用汇编语言实现系统各种功能。

当水温低于预设温度值时系统开始加热,此时红色发光二极管点亮表示处于加热状态。

当温度达到预设温度值时自动停止加热。

数码管的显示范围为0~99℃。

二、设计背景简介

温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时他也是一种最基本的环境参数。

人民的生活与环境度息息相关,物理、化学、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对温度进行控制。

比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。

炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境。

可见研究温度的测量具有重要的理论意义和推广价值。

随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。

本设计就是为了满足人们在生活中对温度测量系统方面的需求。

三、电路设计

该水温控制系统大体可分为三大模块,74HC245与7SEG-MPX4-CA-BLUE数码管构成显示模块、AT89C51单片机构成主控模块、DS18B20为主体的温度模块。

单片机通过DS18B20传感器获得当前温度值并且发送给单片机,单片机接收到各个数据时,将数据按照一定的顺序发送给74HC245,74HC245通过移位到数码管,把实测温度值和预设温度值显示到对应数码管。

1.74HC245芯片相关知识

(1)74HC245主要特性及应用领域。

采用CMOS工艺;宽电压工作范围:

3.0V—5.0V;双向三态输出;八线双向收发器封装形式:

SOP20、SOP20-2、TSSOP20、DIP20;适用于显示屏以及其他数字电路的驱动。

(2)74HC245的引脚及功能。

图1为其引脚图,图2是其逻辑框图。

表1为引脚说明,表2为其功能真值表。

图174HC245的引脚图

图274HC245的逻辑框图

 

 

表174HC245的引脚说明

表274HC245功能真值表

2.DS18B20芯片相关知识

(1)DS18B20简介

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

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

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

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

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

(2)DS18B20的引脚功能

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

 

图3DS18B20的引脚

 

表3DS18B20的引脚说明

(3)DS18B20的主要特点:

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

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

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

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

⑤不需要备份电源;

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

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

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

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

(4)DS18B20的ROM及控制指令

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

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

表4DS18B20的64位ROM结构表

机操作ROM的命令有五种如表5所示。

表5DS18B20控制指令

指令

说明

读ROM(33H)

读DS18B20的序列号

匹配ROM(55H)

继续读完64位序列号的命令,用于多个DS18B20时定位

跳过ROM(CCH)

此命令执行后的存储器操作将针对在线的所有DS18B20

搜ROM(F0H)

识别总线上各器件的编码,为操作各器件做好准备

报警搜索(ECH)

仅温度越限的器件对此命令做出响应

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

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

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

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

表6暂存器配置方式

0

R1

R0

1

1

1

1

1

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

表7DS18B20温度值分辨率位配置方式

R1

R0

分辨率

最大转换时间

0

0

9位

93.65ms(Tconv/8)

0

1

10位

186.5ms(Tconv/4)

1

0

11位

365ms(Tconv/2)

1

1

10位

650ms(Tconv)

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

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

表8温度信息的地位、高位字节内容形式

低位字节:

8

4

2

1

1/2

1/4

1/8

1/16

高位字节:

S

S

S

S

S

64

32

16

MSBLSB

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

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

DS18B20的存储控制命令如表10所示。

表10DS18B20存储控制命令

指令

说明

温度转换(44H)

启动在线DS18B20做温度A/D转换

读数据(BEH)

从高速暂存器读9位温度值和CRC值

写数据(4EH)

将数据写入高速暂存器的第3和第4字节中

复制(48H)

将高速暂存器的第3和第4字节复制到EERAM

读EERAM(88H)

将EERAM内容写入高速暂存器第3和第4字节

读电源供电方式(B4H)

了解DS18B20的供电方式

四、系统硬件设计

进入Proteus系统:

①拾取元件,元件清单如下:

元件名称

元件数量

AT89C51

1

CAP

2

CAP-ELEC

1

CRYSTAL

1

RES

13

7SEG-MPX4-CA-BLUE

2

DS18B20

1

BUTTON

2

74HC245

2

OPTOCOUPLERS-NAND

1

LED-RED

1

NOT

3

②画出硬件电路原理图,如图4所示:

图4硬件电路原理图

五、系统软件设计

进入KeilC51软件的操作环境,编辑源程序并对源文件进行编译,源程序如下:

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

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

六、系统仿真

加载目标代码文件,双击AT89C51原件,在弹出窗口中选择ProgramFile加入由Keil51产生的“温控器.hex”文件。

运行电路,进行调试。

在ProteusISIS界面中,分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度值时,红色发光二极管点亮表示进入热状态,如图5所示;

调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。

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

图5加热状态电路图

图6加热达到预定温度时停止加热图

 

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

当前位置:首页 > 高中教育 > 理化生

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

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