PLC水温自动控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先先来介绍一下DS18B20这块传感器的特性及其功能: DSl8B20的管脚及特点 DS18B20可编程温度传感器3 个管脚。

图4-3 温度传感器DS18B20

(如图:1) GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5 V。本文使用外部电源供电。主要特点有:

1.用户可自设定报警上下限温度值。

2.不需要外部组件,能测量-55~+125℃范围内的温度。

3.-10℃ ~ +85℃范围内的测温准确度为±0.5℃。

4.通过编程可实现9~l2位的数字读数方式,可在至多750 ms内将温度转换成12 位的数字,测温分辨率可达0.0625℃。

5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。主要由4部分组成:64位光刻R0M、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。R0M 中的64位序列号是出厂前被光刻好的,他可以看作是该DSISB20的地址序列码,每个DSI8B20的64位序列号均不相同。高低温报警触发器TH 和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对 TH,TL或配置寄存器写入。

其次配置寄存器中R1,R0决定温度转换的精度位数:R1R0=’00’,9位精度,最大转换时间为93.75 ms;R1R0 = ‘01’,10位精度,最大转换时间为187.5 ms;R1R0 = ‘10’, 11位精度,最大转换时间为375 ms;R1R0 =’11’,12位精度,最大转换时间为750 ms;未编程时默认为12位精度。本系统采用的也是12位的精度。 DS18B20的内存结构 DSI8B2 0温度传感器的内部存储器包括一个高速暂存RAM (便笺式的内部存储器)和一个非易失性的可电擦除的EEPROM,后者存放高温和低温触发器TH,TL和结构寄存器。便笺存储器包含

图5-1最小系统

2. 继电器模块

下图是一个继电器的图,继电器和单片机的P1.3口进行通讯。

如图5-2继电器

RK

10k

QK

K1RE

DK

JK0

JK1JK2

T0

3.显示模块

该显示模块的动态显示数码管,我们用到前面四个数码管,P0口是送字符的,P2口是用来位选数码管的。各个数码管都是单片机的输出,输出断码一样,为了显示不同的数字,采用动态显示。如图5-3。

图5-3 动态显示数码管

4.芯片系统

本系统采用的是AT89C51芯片。下面是它的引脚图。如图5-4

如图5-4 AT89C51芯片

5.DS18B20简介

DS18B20是最新的单线温度传感器,体积小,适用电压宽,经济。下面是DS18B20的管脚配置和结构。如图5-4

DS18B20的管脚配置和结构如图5-5

引脚定义

1. DQ为数字信号输出/输入端

2.GND为电源地

3.VDD为外接电源输入端

6.单片机与DS18B20连接图

六.软件设计说明

本系统采用的是循环查询方式,来显示和控制温度的。1.总模块的流程图

图8-1流程图2.各个模块的流程图

读取温度DS18B20模块的流程

如图8-2S18B20模块的流程七.操作指引

按键功能

1. Enter →P1.5(k2)

2. Up →P1.6(k3)

3. Down →P1.7(k4)

显示温度

1. 未插DS18B20时,数码管显示错误888.8.

2. 插入DS18B20是,数码管显示当前温度XX.X

设定温度

1.按下Enter,数码管温度显示停止,显示的数字变的比以前亮。

2.这时可以按Up和Down来调节当前温度。

3.调节好后,按Enter退出。这时数字变的又暗了,数码管继续显示当前温度继电随着设定的温度,依据情况跳变。

致谢

此次能顺利完成毕业设计,除了我自身的不懈努力以外,还得到了身边许多人的帮助,有同学、有校友、还有老师,他们在我帮助我解决了很多问题,他们帮助让我学到了许多知识,少走了很多弯路。为此,在这里我要对那些予以我帮助和支持每一位老师和同学表示衷心的感谢。此外,还要特别感谢我的指导老师陆中宏老师。在整个毕业设计过程中,老师总是很扼要的指出问题所在,一针见血,帮我解决了很多烦恼的问题。并且他在繁忙的工作之余,他还能抽出宝贵时间主动来指导我的毕业设计,并对我设计中的每一个环节,每一个步骤和方案的设计都做了一一的了解、纠正和补充。老师在我的开题报告和论文上的帮助也是很多的,凭借他的学识、经验和文采帮助我完成了整个毕业设计。再次郑重地向他说声:谢谢您,老师!

附录

单片机DS18B20水温控制系统设计程序源码

TEMPERATURE_L DATA 31H ;DS18B20低8位Buffer

TEMPERATURE_H DATA 30H ;DS18B20高8位Buffer

TEMPERATURE_HC DATA 32H ;计算后的百位和十位的BCD码存放BU FFER

TEMPERATURE_LC DATA 33H ;计算后的个位和小数位的BCD码存放BUFFER

TEMPERATURE_ZH DATA 34H ;计算后十位和个位HEX码的存放BUFFE

R

DIS_BUF_X DATA 35H ;数码管小数位Buffer

DIS_BUF_G DATA 36H ;数码管个位Buffer

DIS_BUF_S DATA 37H ;数码管十位Buffer

DIS_BUF_B DATA 38H ;数码管百位Buffer

KEY_BUF_G DATA 39H ;键盘输入后,的个位值

KEY_BUF_S DATA 49H ;键盘输入后,的十位值

KEY_BUF_B DATA 41H ;键盘输入后,的百位值

K_UP EQU P1.5 ;上调按钮

K_DOWN EQU P1.6 ;下调按钮

K_ENTER EQU P1.7 ;输入数据确认按钮

P_DS18B20 EQU P3.3 ;读取DS18B20的输入端口

P_SWITCH EQU P1.3 ;继电器控制端口,1-风扇,0-电炉

FLAG EQU 20H.0 ;标志位,确定是否存在DS18B20

ENTER_FLAG EQU 20H.1 ;键盘输入的标志位,为0说明键盘正在输入,为1说明键盘输入退出

;程序开始执行

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV SP,#60H ;初始化

MOV KEY_BUF_G,#00H ;由于KEY_BUF是由用户输入的,所以先赋值初始化

MOV KEY_BUF_S,#00H

MOV KEY_BUF_B,#00H

相关文档
最新文档