-
下载可编辑
题
专
学
p>
姓
指
学
.
专业<
/p>
.
整理
.
20
12
届毕业设计
(
论文
)
目
温度智能控制系统设计
业
班
级
2008
自动化
05
号
2
p>
0
0
8
5
0
0
2
6
0
名
苗
青
导
教
师
p>
述
斌
教
授
院
名
称
电
气
p>
信
息
学
院
2011
年
5
月
27
日
下载可编辑
学
指
p>
.
专业
.
整理
p>
.
温度智能控制系统设计
Intelligent temperature
control system design
生
姓
名
:
苗
青
导
教
师
:
述
斌<
/p>
教
授
下载可编辑
摘
要
随着电子产品向智能化和微型化的不断发展
,
< br>单片机已成为电子产品研制和
开发中首选的控制器。为了更好地推广单片机在实际
生活和生产中的应用
,
本文
介绍一种基
于单片机
AT89C51
设计的温度控制系统,
以实现系统能自主调节温度
的功能。
该温度系统采用温度传感器
DS1820
来获得当前温
度,
并以数字信号的方式传
送给单片机。采集的温度与从
4X2
矩阵键盘输入的温度值进行比较,并通过液晶
< br>显示器
LCD
显示出来。如果采集温度低于设置温度,系
统将通过继电器模块自动
控制升温;如果采集温度高于设置温度,系统将通过继电器模块
自动控制降温。
文中介绍了该控制系统的硬件部分,包括:温
度采集电路、温度设置电路、
温度显示电路、
继电器电路等。<
/p>
文中还着重介绍了软件设计部分。
里采用模块化
< br>结构,主要模块有:温度采集模块、键盘扫描及按键处理模块、温度显示模块、
温
度比较模块、继电器控制模块。
经实际制作表明该温度控制系
统具有体积小、操作灵活、可靠性高、实用、
成本低等特点
,<
/p>
具有一定的实际意义。
关键词
:
单片机
AT89C51
;温度控制;温度传感器
DS1820
;液晶显示器
LCD
.
专业
.<
/p>
整理
.
下载可编辑
Abstract
With
the
electronic
products
developing
to
intelligent
and
miniaturization,
single
chip
has
become
the
first
chosen
controller
which
is
used
to
develop
and
explore
the
electronic
product.
In
order
to
promote
single chip
applicating in real life and production, the paper
will
introduce
a
temperature
control
system
which
is
based
on
a
kind
of
single
chip
AT89C51,
and
it
can
achieve
the
function
that
the
system
can
regulate
the temperature
independently.
The temperature system
adopts the temperature sensor DS1820 to get
the
current
temperature,
and
transfer
it
to
the
microcontroller
with
the
way
of
digital
signal.
The
acquised
temperature
will
be
compared
with
the
temperature
which
is
put
in
by
4X2
matrix
keyboard,
and
will
be
displayed
by
liquid
crystal
display.
If
collected
temperature
below
the
set
temperature,
the
system
will
automatically
control
to
heat
up
by
the
relay
modules.
If
collected temperature higher than the set
temperature, the
system will
automatically control to reduce by the relay
modules.
The
paper
introduces
the
hardware
which
is
part
of
the
control
system,
including:
temperature acquisition
circuit,
temperature setting
of the
circuit,
temperature
display
circuit,
relay
circuit
and
so
on.
The
paper
has also mainly
introduced the design of software. Here use
modular
construction,
the
main
module:
temperature acquisition module,
keyboard
scan and key processing
module, temperature display module, temperature
comparison module, relay control
module.
According to make it actually,
I find it has these characteristics:
small volume, flexible operation, high
reliability, practical, low cost
and so
on. It has practical significance.
Keywords
:
Single
Chip
AT89C51
;
Temperature
Control
;
T
emperature
Sensor DS1820
;
Liquid Crystal
Display
;
.
专业
.<
/p>
整理
.
下载可编辑
第一章
绪论
1.1
选题背景与意义
在生产过程中,
温度的控制是十分常见的。
国已相
继出现各种以微机为核心
的温度控制系统。这种系统控制精度高、重复性好、自动化程度
高。
在日常生活中,人们为了拥
有一个更舒适的生活环境,往往需要室拥有一个
合适的温度,而单片机的准确性高、价格
低、功耗低等一系列优点,可结合升温
和降温设备,有效的应用到实际生活中。
单片机温度控制系统是单片机控制的一项简单应用。
< br>近几年来单片机因其独
特的,方便,快捷的优势被广泛的应用于各个领域之中。<
/p>
1.2
选题简介
课题名称:温度智能控制系统设计
主
要任务:
将温度控制在设定的温度值,
设定围为
0-99
度,
针对在生产和日
常生活中温度智能化控制系统的实现。
开发环境:
本环境温度控制系统的软件部分是通过
KEIL
进
行编译,
Proteus
7 Professional<
/p>
进行仿真测试,开发板作为实际测试。技术指标:
(
1
)以
AT89C52<
/p>
系列单片机为核心部件
(
2
)以数字电路和模拟电路为硬件基础
(
3
)以
C
语言为软件实现语言
功能概述:在该环境温度控制
系统中,单片机作为核心部件进行检测控制,
增强了设计的通用性,适时性。在该环境温
度控制系统中温度检测采用
DS18B20
温度传感器,
它不仅具有较高的精度,
而且适用电压宽。
同
时采用了
4X2
矩阵扫
描键盘输入,<
/p>
显示设备等外围扩展芯片。
温度控制分为升温和降温控制,
升温控
制和降温控制分别采用继电器来控制外部的升温和降温设备。<
/p>
软件部分采用流程
图来表示。
p>
.
专业
.
整理
p>
.
下载可编辑
第二章
系统总体设计方案
本设计是一个数字
温度测量及控制系统,
能测柜的温度,
并能在超限的情况
下进行控制、调整,并报警。保证环境保持在限定的温度中。
2.1
系统工作原理
温度控制系统采用单片机作为微处理单元进行控制。
采用温度传感器将温度
采集到单片机,
采用键盘按键把设定温度的值存入单片机的数据
存储器。
通过显
示器将
2
者温度显示出来,
然后再将两者温度进行比较。
如果
采集温度比设定温
度要低,
则加热指示灯亮起,
继电器电路中的直流电机开始转动加热;
如果采集
温度
比设定温度要高,
则降温指示灯亮起,
继电器电路中的风冷器开
始运转降温。
系统原理图如图
2-1
所
示:
单片机
AT89C51
温度采集模块
显示模块
复位电路
键盘模块
继电器控制模块
图
2-1
系统总体设计框图
根据系统的设计要
求,
选择
DS18B20
温度传感器作
为采集模块,
选择单片机
AT89C51
为测控系统的核心来完成数据采集、处理、显示、等功能,选择
LCD
液
晶显示器作为显示模块。
2.2
单片机简介
随着大规模集成电路的出现及其发展,将计算机的
CPU
、
RAM
、
ROM
、定
时
/
计数器和多种
I/O
接口集成在一片芯片上,形成芯片级的
计算机,因此单片
机早期的含义称为单片微型计算机,直译为单片机
[1]
。
.
专业
.
整理
.
下载可编辑
2.2.1
单片机的特点
1
< br>.
具有优异的性能价格比
2
.集成度高、体积小、可靠性高
、控制功能强
3
.低电压、低功耗
2.2.2
单片机的选择
微处理器是本系统的核心,
其性能的好坏直接影响系统的稳定,
鉴于本系统
为实时控制系统,
系统运行时需要
进行大量的运算,
所以单片机采用
INTEL
< br>公司
的高效微控制器
AT89C51
[2]
。
AT89C51
是一种带
4K
字节闪烁可编程可擦除只读存储
器(
FPEROM
—
Falsh
Programmable and Erasable Read Only Mem
ory
)的低电压,高性能
CMOS8
位微
处理器,
俗称单片机。
该器件采用
ATMEL
高密度非易失存储器制造技术,
与工业
标准的
MCS-5
指令集和
输出管脚相兼容。
由于将多功能
8
位<
/p>
CPU
和闪烁存储器组
合在单个芯片中,
ATMEL
的
AT89C51
是一种高效微控制器,为很多嵌入式控制系
统提供了一种灵活性高且价廉
的方案。
AT89C51
外形及引脚如图
2-1-2
所示
图
2-2-2
AT89C51
外形及引脚
1
.主要特性:
·与
MCS-51
兼容
·4K
字节可编程闪烁存储器
p>
.
专业
.
整理
p>
.
下载可编辑
·寿命:
1000
写
/
擦循环
·数据保留时间:
1
0
年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8
位部
RAM
·32
可编程
I/O
线<
/p>
·两个
16
位
定时器
/
计数器
·5
个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片振荡器和时钟电路
2
.管教说明
·VCC:供电电压。
·GND:接地。
·P0
口:
P0
口为一个
8
p>
位漏级开路双向
I/O
口,每脚可吸收
p>
8TTL
门电流。
当
P1
口的管脚第一次写
1
时,被定义
为高阻输入。
P0
能够用于外部程序数据存
储器,
它可以被定义为数据
/
地址
的第八位。
在
FIASH
编程时,
p>
P0
口作为原码输
入口,当
FIASH
进行校验时,
P0
输出原码,此时
P0
外部必须被拉高。
·P1
口:
P1
< br>口是一个部提供上拉电阻的
8
位双向
I/O
口,
P1
口缓冲器能接
p>
收输出
4TTL
门电流。
< br>P1
口管脚写入
1
后,
被部上拉为高,可用作输入,
P1
口被
外部下拉为低电平时,
将输出电流,
这是由于部
上拉的缘故。
在
FLASH
编程和校<
/p>
验时,
P1
口作为第八位地址接收。
p>
·
P2
口:
p>
P2
口为一个部上拉电阻的
8
位双向
I/O
口,
P2
p>
口缓冲器可接收,输
出
4
< br>个
TTL
门电流,
当
P2
口被写“1”时,
其管脚被部上拉电阻拉高,
且作为输
入。并因此作为输入时,
P2
口的管脚被外部拉低,将输出电流。这是由于
.
专业
.<
/p>
整理
.
下载可编辑
部上拉的缘故。
P2
口当用于外部程序存储器或
16
位地址外部数据存储器进
行存取时,
P2
口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,
当对外
部八位地址数据存储器进行读写时,
P2
口输出其特殊功能寄存
器的容。
P
2
口在
FLASH
编程和校验时接收高八位地址信号和控制信号。
·P3
口:
P3
口管脚是
8
个带部上拉电阻的双向
I
/O
口,可接收输出
4
个
TT
L
门电流。当
P3
p>
口写入“1”后,它们被部上拉为高电平,并用作输入。作为输
入,
由于外部下拉为低电平,
P3
口将输出电流(
< br>ILL
)这是由于上拉的缘故。
P3
口也可作为
AT89C51
的一些特殊功能口
[3]
。如表
2-1-3
所
示:
引脚
P3.0 RXD
P3.1 TXD
P3.2 /INT0
P3.3 /INT1
P3.4 T0
P3.5 T1
P3.6 /WR
P3.7 /RD
作用
串行输入口
串行输出口
外部中断
0
外部中断
1
记时器
< br>0
外部输入
记时器
1
外部输入
外部数据存储器写选通
外部数据存储器读选通
表
2-1-3
P3
口引脚功能表
·RST:复位输
入。当振荡器复位器件时,要保持
RST
脚两个机器周期的高<
/p>
电平时间。
ALE/PROG
:
当访问外部存储器时,
地址锁存允许的输出电平用于锁存
地址的地位字节。在
FLASH
编程期间,此引脚用于
输入编程脉冲。在平时,
ALE
端以不变的频率周期输出正脉冲
信号,
此频率为振荡器频率的
1/6
。
因此它可用
作对外部输出的脉冲或用于定时目的。
然而要注意的
是:
每当用作外部数据存储
器时,将跳过一个
< br>ALE
脉冲。如想禁止
ALE
的
输出可在
SFR8EH
地址上置
0
p>
。此
时,
ALE
只
有在执行
MOVX
,
MOVC
指令是
ALE
才起作用。另外,该引脚被略微拉
高。如果微处理器在外部执行状态
ALE
禁止,置位无效。
·
/PSEN<
/p>
:外部程序存储器的选通信号。在由外部程序存储器取指期间,每
个机器周期两次
/PSEN
有效。但在访问外部数据存储器时,
这两次有效的
/PSEN
信号将不出现。
·
/EA/VPP
:当
/EA
保持低电平时,则在此期间外部程序存储器(
0000H-FFF
FH
),不管是否有部程序存储器。注意
加密方式
1
时,
/EA
将部锁定为
RESET
;
当<
/p>
/EA
端保持高电平时,此间为部程序存储器。在
FLASH
编程期间,此引脚也用
于施加
12V
编程电源(
VPP
)
。
.
专业
.
整理
.
下载可编辑
·
XTAL1
:反向振荡放大器的输入及部时钟工作电路的输入。
·
XTAL2
:来自反向振荡器的
输出。
3
.振荡特性
·
/EA/VPP
:
当
/EA
保
持
低
电
平
时
,
< br>则
在
此
期
间
外
部
程
序
存
储
器
(
p>
0000H-FFFFH
)
,不管是否有部
程序存储器。注意加密方式
1
时,
/E
A
将部锁定
为
RESET
;当
/EA
端保持高电平时,此间部程序存储器。在
FLASH
编程期间,此
引脚也用于施
加
12V
编程电源(
VPP
)
·
XTAL1
:反向振荡放大器的输入及部时钟工作电路的输入。
·
XTAL2
:来自反向振荡器的输出。
4
.芯片擦除
整个
PEROM
阵列和三个锁定位的电擦除可通过正确的控制
信号组合,
并保持
ALE
管脚处于低电
平
10ms
来完成。
在芯片擦操作中
,
代码阵列全被写“1”且在
任何非空存储字节被重复编程以前
,该操作必须被执行。此外,
AT89C51
设有稳
态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,
CPU
停止工作。但
RAM
,定时器,计数器,串口和中断系统仍在
工作。在掉电
模式下,保存
RAM
的容并且冻结振荡器,禁止所用其他芯片功
能,
直到下一个硬件复位为止。
5
.串口通讯
SBUF
数据缓冲寄存器这是一个可以直接寻址的串行口专用
寄存器。有朋友
这样问起过“为何在串行口收发中,都只是使用到同一个寄存器
SBUF
?而不是
收发各用一个寄存器。”实际
上
SBUF
包含了两个独立的寄存器,一个是发送寄
存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-
99H<
/p>
。
CPU
在读
SBUF
时会指到接收寄存器,
在写时会指到发送寄存器,而且接收寄存器是双缓
冲寄存器,
这
样可以避免接收中断没有及时的被响应,
数据没有被取走,
下一
帧
数据已到来,
而造成的数据重叠问题。
发送器则不需要用到双缓冲,
一般情况下
我们在写发送程序时
也不必用到发送中断去外理发送数据。操作
SBUF
寄存器的<
/p>
.
专业
.
p>
整理
.
下载可编辑
方法则很简单,只要把这个
99H
地
址用关键字
sfr
定义为一个变量就可以
对其进行读写操作了,如
sfr SBUF = 0x99;
当然你也可以用其它的名称。通常
在标准的
reg51.h
或
at89x51.h
等头文件中已对其做了定义,只要用
#include
引用就可以了。
SCON
串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都
会引
用到接口控制寄存器。
SCON
就是
51
芯片的串行口控制寄存器。
它的寻址
地址是
98H
,是一个可以位
寻址的寄存器,作用就是监视和控制
51
芯片串行口
的工作状态。
51
芯片的串口可以工作在几个不同的工作模式下,其工作模式的
设置就是
使用
SCON
寄存器。
它的各个位的
具体定义为:
SM0
SM1
SM2
REN
TB8
RB8
TI RI
。
·
SM2
在模式
2
、模式
3
中为多处理机通信使能位。在模式
0
中要求该位
为
0
。
·
REM
为允许接收位,
REM
置
1
时串口允许接收,
置
0
时禁止接收。
REM
是
由软件置位或清零。如果在一个电路中接收和发送引脚
P3.0,P3.1
都和上位机
相连,
在软件上有串口中断
处理程序,
当要求在处理某个子程序时不允许串口被
上位机来的
控制字符产生中断,那么可以在这个子程序的开始处加入
REM=0
< br>来
禁止接收,在子程序结束处加入
REM=1
再次打开串口接收。大家也可以用上面
的实际源码加入
< br>REM=0
来进行实验。
·
RB8
接收数据位
8
,在模式
2
和
3
是已接收数据的第
9
位。该位可能是
奇偶位,
地址
/
数据标识位。
在模式
0
中,
RB8
为保留位没有被使用。
在模式
1
p>
中,
当
SM2=0
,
RB8
是已接收数据的停止位。
·
TI
发送中断标识位。在模式
p>
0
,发送完第
8
位数据时,由硬件置位。其
它模式中则是在发送停止位之初,由硬件置位。
TI
置位后,申请中断,
CPU
响
应中断后,发送下一帧数据。在任何模式下,
TI
都必须由软件来清除,也就是
说在数据写入到
< br>SBUF
后,
硬件发送数据,
中断响应
(如中断打开)
,
这时
TI=1
,
表明发送已完成,
TI
不会由硬件清除,所以这时必须用软件对其清零。
·
RI
接收中断标识位。在模式
p>
0
,接收第
8
位
结束时,由硬件置位。其它
模式中则是在接收停止位的半中间,
由硬件置位。
RI=1
,
申请中断,<
/p>
要求
CPU
取
走数据。
但在模式
1
中,
SM2=1
时,
当未收到有效的停止位,
则不会对
RI
置位。
.
专业
.
整理
.
下载可编辑
同样
RI
也必须要靠软件清除。常用的串口模式
1
是传输
10
个位的,
1
位
起始位为
0,8
位数据位,
低位在先,
1
位停止位为
1
。
它的波特
率是可变的,其
速率是取决于定时器
1
或定时器
2
的定时值
(溢出速率)
。
AT89C51
和
AT89C2051
等
51
系列芯片只有两个定时器,
定时器
0
和定时器
1
,
而定时器
2
是
89C52
系
列芯片才有的。
6
.中断系统
8051
单片机的中断系统简单实用,其基本特点是:有
5<
/p>
个固定的可屏蔽中
断源,
3
个在片,
2
个在片外,它们在程序存储器中各有固定
的中断入口地址,
由此进入中断服务程序;
5
< br>个中断源有两级中断优先级,可形成中断嵌套;
2
个
p>
特殊功能寄存器用于中断控制和条件设置的编程。
5
个中断源的符号、名称及产
生的条件如下
:
·
INT0
:外部中断
0
,由
P3
.
2
端口线引入,低电平或下跳沿引起。
·
INT1
:外部中断
1
,由
P3
.
3
端口线引入,低电平或下跳沿引起。
·
T0
:定时器/计数器
0
中断,由
T0
计满回零引起。
p>
·
T1
:定时器/计数器
< br>l
中断,由
T1
计满回零引起。
·
TI
/<
/p>
RI
:串行
I
/
O
中断,串行端口完成一帧字符发送/接收后引起。
.
专业
.<
/p>
整理
.
下载可编辑
第三章
硬件模块
3.1
温度采集模块
温度采集模块硬件图如
图
3-1
所示
图
3-1
温度采集模块
3.1.1
DS18B20
简介
传统的温度检
测大多以热敏电阻为传感器,采用热敏电阻,可满足
40
℃至<
/p>
90
℃测量围,但热敏电阻可靠性差,测量温度准确率低,对小于
1
℃的温度信号
不适合,还得经过专门
接口电路转换成数字信号才能由微处理器进行处理
[5]
。
p>
DS18B20
数字式温度传感器,与传
统的热敏电阻有所不同的是,使用集成芯
片,采用单总线技术,其能够有效的减小外界的
干扰,提高测量的精度。同时,
它可以直接将被测温度转化成串行数字信号供微机处理,
接口简单,
使数据传
输和处理简单化
。
部分功能电路的集成,
使总体硬件设计更简洁,
能有效地降低
成本,
搭建电路和焊接电路时更快,<
/p>
调试也更方便简单化,
这就缩短开发的周期。
3.1.2
DS18B20
的特点
·采用单总线
的接口方式与微处理器连接时仅需要一条口线即可实现微处
理器与
DS18B20
的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣
环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络。
·测量温度围宽,测量精度高。
DS18B20
的测量围为
-55
℃
~+125
℃
;在
< br>-10~+85
℃
围,精度为
±
0.5
℃
。
·在使用中不需要任何外围元器件即可实现测温。
·多点组网功能。多个
DS18B20
可以并联在
惟一的三线上,实现多点测温。
.
专
业
.
整理
.
下载可编辑
·供电方式灵活。
DS18B20
可以通过部寄生电路从数据线上获取电源。
因此,
当数据线上的时序满足一定的要求时,
可以
不接外电源,
从而使系统结构更趋简
单,可靠性更高。
·测量参数可配置。
DS18B20
的测量分辨率可通过程序设定
9~12
位。<
/p>
·负压特性。
电源极性接反时,
温度计不会因发热而烧毁,
但不能正常工作。
·掉电保护功能。
DS18B20
部
含有
EEPROM
,
在系统掉电以后,
它仍可保存分
辨率及报警温度的设定值
[9]
。
3.1.3
DS18B20
的引脚介绍
DS18
B20
实物图与管脚图如图
3-1-3
所示,
DQ
为数字信号输入
/
输出端;
GND
为电源地;
VDD
为外接供电电源输入端,
电源供电
< br>3.0~5.5V
(寄生电源接线方式
时接地)。
图
3-1-3
DS1820
实物图和管脚图
3.1.4
DS18B20
部结构和原理
DS18B20
的部结构如图
3-1
-4
所示,
主要由四部分组成:
64
位光刻
ROM
、
温
度传感器、
非挥发的温度报警触发器
TH
和
TL
、
< br>配置寄存器。
光刻
ROM
中的
64
位
序列号是出厂前被光刻好的,它可以看作是该
DS18B20
的地址序列码。
64
位光
刻
ROM
的排列是:开始
8
位(地址:
28H
)是产品类型标号,接着的
48
位是
该
DS18B20
自身的序列号,
并且每个
DS18B20
的序列号都不相同,
因此它可以
看作是该
DS18B20
的地址序列码;最后
8
位则是前面
56
位的循环冗余校验码
(
CRC=X8+X5+X4+1
)
。
由于每一个
DS18B20
的
ROM
数据都各不相同,
因此微控
制器就可以
通过单总线对多个
DS18B20
进行寻址,从而实现一根
总线上挂接多
个
DS18B20
的
目的
[10]
。
.
专业
.
整理
.
下载可编辑
I/O
VD1
内部
VDD
C
VD2
64
位
ROM
和
单总线接口
存储器与控制逻辑
高
速
缓
存
温度传感器
高温触发器
低温触发器
配置存储器
GND
电源检测
VDD
< br>8
位
CRC
发生器
图
3-1-4
DS18B20
部结构图
64
位
ROM
的位结构
如表
3-1-5
所示。开始
8
位是产品类型的编号;接着是
每个器件的唯一的序号,
< br>共有
48
位;
最后
8
位是前面
56
位的
CRC
检验码,
这也
是多个
DS18B20
可以采用单线进行通信的原因。非易失性
温度报警触发器
TH
和
TL
,可通过软件写入用户报警上下限数据。
MSB
LSB
MSB
LSB
MSB
LSB
图
3-1-5 64
位
ROM
的位结构图
8
位检验
CRC
48
位序列号
8
位工厂代码
(
10H
)
DS18B20
温度传
感器的部存储器还包括一个高速暂存
RAM
和一个非易失性的<
/p>
可电擦除的
E2PROM
。
高速暂存
RAM
的结构为
9
字节的存储器,
结构如图
3-1-7
所示。
前
2<
/p>
字节包
含测得的温度信息。
第
3
和第
4
字节是
TH
和
TL
的拷贝,<
/p>
是易失的,
每次上电复
位时被刷新。第<
/p>
5
字节为配置寄存器,其容用于确定温度值的数字转换分辨率,<
/p>
DS18B20
工作时按此寄存器中的分辨率将温度转换为相应精
度的数值。
该字节各
位的定义如图
3-
1-6
所示,其中,低
5
位一直为
p>
1
;
TM
是测试模
式位,用于设置
DS18B20
在工作模式还是在测试模式,在
DS18B20
出厂时,该位被设置为
0
,用
户不要去改动;
R1
和
R0
决定温度转换的
精度位数,即用来设置分辨率。
R1
R0
分辨率
/
位
温度最大
转换时间
/ms
.
< br>专业
.
整理
.
下载可编辑
0
0
1
1
0
1
0
1
9
10
11
12
93.75
187.5
375
750
图
3-1-6
DS18B20
分辨率的定义和规定
TM
R1
图
3-1-7
DS18B20
配置寄存器
R0
1
1
1
1
1
1
由表可见,
DS18B20
温度转换的
时间比较长,而且设置的分辨率越高,所需
温度数据转换时间就越长。
< br>因此,
在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存
RAM
的第
< br>6
、
7
、
8
字节保留未用,表现为全逻辑
1
。
第
9
字节是前
面
8
字节的
CRC
码,可用来检验数据
,从而保证通信数据的正确性。
当
DS18B20
接收到温度转换命令后,
开始启动转换。
转换完成后的温度值就
以
16
位带符号扩展的二进制补码形式存储在高速暂存
RAM
的第
1
、
2
字节中。
单片机可以通过单线接
口读出该数据
[11]
。读数据时,低位在先,高位在后,
p>
数据格式以
0.0625
°
C/LSB
形式表示。温度值格式如图
3-1-8
p>
所示:
23
S
22
S
21
S
20
2-1
2-2
2-3
2-4
S
S
26
25
24
图
3-1-8
配置寄存器
DS18B20
测温原理如图
3-1-9
所示。
图中低温度系数晶振的振荡频率受温度
影响很小,用于产生固定频率的脉冲信号
送给计数器
1
。高温度系数晶振随温度
变化其振荡率明显改变,
所产生的信号作为计数器
2
的脉冲输入。
计数器
1
和
温
度寄存器被预置在-
55
℃所对应的
一个基数值。
计数器
1
对低温度系数晶
振产生
的脉冲信号进行减法计数,
当计数器
1
的预置值减到
0
时,
温度寄存器的值将加
1
,
计数器
1
的预置将重新被装入,
计数
器
1
重新开始对低温度系数晶振产生的
.
专业
.
整理
.
下载可编辑
脉冲信号进行计数,
如此循环直到计数器
2
计数到
0
时,
停止温度寄存器值的累
< br>加,
此时温度寄存器中的数值即为所测温度。
图
2
中的斜率累加器用于补偿和修
正测温过程中的
非线性,其输出用于修正计数器
1
的预置值。
< br>
预置
斜率累加器
比较计数器
低温度系数振荡器
减法计数器
预置
增加
减到
0
温度寄存器
停止
高温度系数振荡器
减法计数器
2
图
3-1-9
DS18B20
测温原理图
减到
0
3.1.5
DS18B20
使用中注意事项
DS18B20
虽然具有测温系统简单、
测温精度高、
连接方便、
占用口线少等优
< br>点,但在实际应用中也应注意以下几方面的问题:
(<
/p>
1
)
每一次读写之前都要对
DS18B20
进行复位,
复位成功后发送一条
ROM
指令,
最后发送
RAM
指令,
这样才能对
DS18B20
进行预定的操作。
复位要求主
CPU
将数据线下拉
500
us
,然后释放,
DS18B20
收到信号后等待
16 ~60 us
左
右,后发出
60~240 us
的存在低脉冲,主
CPU
收到此信
号表示复位成功。(所
有的读写时序至少需要
60us
,且每个独立的时序之间至少需要
1us
< br>的恢复时
间。
在写时序时,
主机
将在下拉低总线
15us
之释放总线,
并向单总线器件写
1
;
若主机拉低总线后能保持至少
60us
的低电平,
则向单总线器件写
0
p>
。
单总线仅
在主机发出读写时序时才向主机
传送数据,
所以,
当主机向单总线器件发出读数
据指令后,必须马上产生读时序,以便单总线器件能传输数据。)
(
2
)在写数据时,写
0
时单总线至少被拉低
60us
,
写
1
时,
15us
就得
释放总线。
(
3
)转化后得到的
12
位数据,存储在
18B20
的两个
8
比特的
RAM
中,二
进制中的前面
5
位是符号位,
如果测得的温度大于
0
,
这
5
位为
0
,
只要将
.
专业
.
整理
.
下载可编辑
测到的数值乘于
0.0625
即可得到实际温度;如果温度小于
0
,这
5
位为
1
,测
到的数值需要取反加
1
再乘于
0.0625
即可得到实际温度。
(
4
)较小的硬件开销需要相对复杂的软件进行补偿,由于
DS1820
与微处
理器间采用串行数据传送,
因此,
在对
DS1820
进行读写编程时,
必须严格的保
证读写时序,
否则将无法读取测温结果。
在使用
PL/M
、
C
等高级语言进行系统
程序设计时,对
DS1820
操作部分最好采用汇编语言实现。
(
5
)
在
DS1820
的有关资料中均未提及单总线上所挂
DS1820
数量问题,
容
易使人误认为可以挂任意多个
DS1820
,
在实际应用中并非如此。
当单总线上所
挂
DS1820
超过
8
个时,
就需要解决微处理器的总线驱动问题,
这一点在进行多
点测温
系统设计时要加以注意。
(
6
)
连接
DS1820
的总线电缆是有长度限制的。
试验中,
当采用普通信号电
p>
缆传输长度超过
50m
时,读取的测温
数据将发生错误。当将总线电缆改为双绞
线带屏蔽电缆时,
正常
通讯距离可达
150m
,
当采用每
米绞合次数更多的双绞线
带屏蔽电缆时,
正常通讯距离进一步加
长。
这种情况主要是由总线分布电容使信
号波形产生畸变造成的
。
因此,
在用
DS1820
进行长距离测温系统设计时要充分
考虑总线分布电容和阻抗匹配问题。
测温电缆线建议采用屏蔽
4
芯双绞线,其
< br>中一对线接地线与信号线,另一组接
VCC
和地线,屏蔽层在源端单点接地。
(
7
)在
DS1820
测温程序设计中,向
DS1820
发出温度转换命令后,程序
总要等待
DS182
0
的返回信号,一旦某个
DS1820
接触不好断线,当程序读该
DS1820
时,将没有返回信号,程序进入死循环。这一点在进行
DS1820
硬件连
接和软件设计时也要给予重视
[12]
。
3.2
显示模块
显示模块采用
LCD
液晶显示器来完成显示功能。
液晶显示器,或称
LCD
(
Liquid Crystal Display
),为平面超薄的显示设
备,
它由一定数量的彩色或黑白像素组成,
放置于光
源或者反射面前方。
液晶显
示器功耗很低,
因此倍受工程师青睐。
它的主要原理是以电流刺激液晶分子产生
点、线、面配合背部灯管组成画面。
LCD
与
LED
比有以下优点::
1
、造价比
LED
低廉;
2
、制造工艺比
LED
简单;
.
p>
专业
.
整理
.
下载可编辑
3
、技术臻于成熟;
4
、维修或更换发光件非常简单,价格相对较低;
5
、省电,不产生高温;
6
、低辐射,益健康,画面柔和,不伤眼。
p>
显示模块硬件电路图如图
3-2
所示
[8]
图
3-2
显示模块
3.3
键盘模块
本论文采用
4X4
的矩阵按键,实现对温度的设定。如图
3-4<
/p>
所示
图
3-3
键盘模块
图中,按键
1
控制温度数值的加法,按一下加
1
< br>;按键
2
控制温度数值的减
.<
/p>
专业
.
整理
.
下载可编辑
法,按一下减
1
;按键
5
控制
LCD
显示的光标移动,按一下向左移一位;按键
6
也控制
LCD
显示的光标移动,按
一下向右移一位。由此来实现对温度的设定。
3.4
继电器模块
如图
3-4
所示,继电器模块有
2
个开
关,
2
个发光二级管组成。当采集温度
低于设置温度时,二极管
D3
管发光,提示温度过低,开关
p>
RL1
闭合,电直流电
机开始转动加热;当
采集温度高于设置温度时,二极管
D4
管发光,提示温度过
p>
高,开关
RL2
闭合,风冷器开始转动降温
[6]
。
图
3-4
继电器模块
.
专业<
/p>
.
整理
.
下载可编辑
第四章
软件设计
本系统软件主要由主流程、
功能子程序组成。采用主程序调用功能子程序,
子程序尽可能少的调用其它子程序,以保
证系统的稳定运行。
4.1
主程序
主程序由初始化,温度采集,
温度显示,温度设定和继电器子程序组成,为
系统软件的主干部分,其流程图如图
4-1
所示
[7]
开
始
系统初始化
发送温度采集指
令
读出温度值
设置温度值
显示采集温度和
设置温度
直流电机转动升温
Y
采集温度
小于
设置温度
N
风冷器转动降温
图
4-1
主程序流程图
.
专业
.
整理
.
下载可编辑
4.2
温度采集子程序
温度采集子程序主要
负责驱动外部的温度传感器
DS18B20
进行工作,
通过串
口通信方式向
DS18B20
写入
ROM
命令,
并读取
当前温度值,
将读取的数据存放在
26H-2EH
存储单元,其中
26H
单元存放温度值的低位,
p>
27H
单元存放温度值的高
位,程序流程图
如图
4-2
所示。
开
始
DS1820
复位
< br>向
DS1820
写入
相应的
p>
ROM
命
读出温度值并进
< br>行校验
结
束
图
4-2
温度采集子程序流程图
4.3
温度显示子程序
在温度控制系统中采用了
LCD
液晶显示器的左<
/p>
4
位来显示采集温度,右
4
位显示键盘设定温度,这样便于两者进行比较。流程图如图
4-3
所示
LCD
初始化
温度采集
温度设置
采集数据送入
LCD
P0
口在
0X03
位显示
设置数据送入
LCD
P0
口在
0X4A
位显示
数据锁存
数据锁存
图
4-3
温度显示子程序流程图
.
专业
.
整理
.
下载可编辑
4.4
键盘子程序
这里主要判断键盘是否按
下以及去抖。流程图如图
4-4
所示
开
始
N
按键
1
是否
按下
Y
按键标示符为
1
延时
10ms
N
< br>按键
1
是否
按下
Y
按键
1
按下标识
符为
0
,按键有
p>
效
结
束
图
4-4
键盘子程序流程图
4.5
温度比较子程序
温度比较子程序的任务是将采集温度和设置温度两者进行比较。
如果采集温
度比设定温度要低,则加热指示灯
D3
亮起,继电器电路中的直流电机开始转动
加热;如果采集温度比设定温度要高,则指示灯
D4
亮起,继电器电路中的风冷
器开始
运转降温。温度比较子程序流程图如图
4-5
所示
.
< br>专业
.
整理
.
下载可编辑
开
始
当前温度
判断温度是否过高
(设置温度减当前
温
度)
Y
N
指示灯
D3
亮起
风冷器转动
Y
判断温度是否过低
(当前温度减设置
温度)
指示灯
D4
亮起
直流电机转动
开
始
图
4-5
温度比较子程序流程图
4.6
继电器子程序
当采集温度低于设置温度时,二极管
D3
管发光,提
示温度过低,开关
RL1
闭合,电直流电机开始转动加热;当采
集温度高于设置温度时,二极管
D4
管发
光,提示温度过高,开关
RL2
闭合,风冷器开始转动降温。
继电器流程图比较简
单,这里就不给出。
.
p>
专业
.
整理
.
下载可编辑
第五章
仿真结果与结论分析
5.1
仿真结果
通过结合硬件电路以及程序,在开发板上实现了仿真,仿真结果与理论较
一致。仿真结
果如图
5-1
和图
5-2
所示。在图
5-1
中,
LC
D
液晶显示器左上角显
示的是
DS18
20
采集的室温度,在右下角显示的是由图右下方
4X2
的黑色按键设
置的温度。
K5
表示温度加
1
,
K6
表示温度减
1
,
K7<
/p>
表示光标左移,
K8
表示光标
右移。采集温度显示的是
28
℃,而设置的是
p>
20
℃,小于采集温度。这时指示灯
D1<
/p>
亮起,
电机开始工作加热。
在图
5-2
中,
LCD
液晶
显示器左上角显示的是
DS1820
采集的室温度,在右下角依
然显示的是由图右下方
4X2
的黑色按键设置的温度。
采集温度显示的是
28
℃,
而设置温度是
40
℃。
这时指示灯
D4
亮起,
电机开始工
作降温。
图
5-1
温度过低
.
专业
.<
/p>
整理
.
-
-
-
-
-
-
-
-
-
上一篇:大学英语精读第三版第二册精读泛读翻译
下一篇:暖通空调专业术语中英文对照