温度检测系统的设计.docx
- 文档编号:10287430
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:58
- 大小:333.84KB
温度检测系统的设计.docx
《温度检测系统的设计.docx》由会员分享,可在线阅读,更多相关《温度检测系统的设计.docx(58页珍藏版)》请在冰点文库上搜索。
温度检测系统的设计
专业课程实践报告
温度检测系统的设计
姓名:
专业:
电子信息工程
班级:
11电信
指导老师:
成绩:
日期:
2013年10月16日
温度检测系统的设计
(安阳师范学院物电学院,河南安阳455000)
摘要:
本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
该控制系统的硬件部分,包括:
温度检测电路、温度控制电路、备用电源电路、时钟电路、报警电路。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
软件设计部分,在这里采用模块化结构,主要模块有:
12864液晶显示程序、DS18B20温度信号处理程序、DS1302时钟程序超温报警程序。
关键词:
AT89S51单片机DS18B20温度芯片温度控制串口通讯12864液晶显示DS1302芯片超温报警
一、总体设计
利用单片机接收温度传感器传过来的温度值并经过数值处理以动态方式显示于12864液晶显示器上,时间和日期通过DS1302芯片也显示在液晶显示器上,并且可以通过按键对时间、日期进行调整。
当温度值高于设定值30摄氏度时启动报警电路,报警电路主要由蜂鸣器实现。
本次设计用了四块温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89C51获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。
当采集的温度经处理后超过设定温度的上限时,蜂鸣器会发出报警声。
1、系统软件流程图
NO
YES
显示模块流程图
2、系统总的硬件原理图
二、使用主要电子元件
1.单片机AT89C51
2.温度传感器DS18B20
3.显示器12864
4.排阻
5、时钟芯片DS1302
6.电容若干
7.电阻若干
8.按钮开关3个
9.导线若干
10.12MHZ、32.768KHZ晶振各1个
三、硬件模块设计
温度传感器18B20
1、概述
温度传感器采用的是由美国Dallas半导体公司生产的数字化温度传感器DS1820。
它是是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
2、特点
(1)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电;
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
3、结构组成
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如右图所示:
DS18B20引脚定义:
(1)GND为电源地;
(2)DQ为数字信号输入/输出端;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
4、工作原理
DS18B20测温原理如图20所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
12864液晶显示
1、概述
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.可以显示8×4行16×16点阵的汉字。
显示颜色:
黄绿。
也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
2、基本特性
(1)低电源电压(VDD:
+3.0--+5.5V)
(2)显示分辨率:
128×64点
(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
(4)内置128个16×8点阵字符
(5)2MHZ时钟频率
(6)显示方式:
STN、半透、正显
(7)驱动方式:
1/32DUTY,1/5BIAS
(8)视角方向:
6点
(9)背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
(10)通讯方式:
串行、并口可选
(11)内置DC-DC转换电路,无需外加负压
(12)无需片选信号,简化软件设计
(13)逻辑工作电压(VDD):
4.5~5.5V
(14)电源地(GND):
0V
(15)工作温度(Ta):
0~60℃(常温)/-20~75℃(宽温)
3、模块引脚说明
128X64引脚说明
引脚号
引脚名称
方向
功能说明
1
VSS
-
模块的电源地
2
VDD
-
模块的电源正端
3
V0
-
LCD驱动电压输入端
4
RS(CS)
H/L
并行的指令/数据选择信号;串行的片选信号
5
R/W(SID)
H/L
并行的读写选择信号;串行的数据口
6
E(CLK)
H/L
并行的使能信号;串行的同步时钟
7
DB0
H/L
数据0
8
DB1
H/L
数据1
9
DB2
H/L
数据2
10
DB3
H/L
数据3
11
DB4
H/L
数据4
12
DB5
H/L
数据5
13
DB6
H/L
数据6
14
DB7
H/L
数据7
15
PSB
H/L
并/串行接口选择:
H-并行;L-串行
16
NC
空脚
17
/RET
H/L
复位低电平有效
18
NC
空脚
19
LED_A
-
背光源正极(LED+5V)
20
LED_K
-
背光源负极(LED-OV)
4、用户指令集
1、指令表1:
(RE=0:
基本指令集)
指令
指令码
说明
执行时间(540KHZ)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
清除显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”
4.6ms
地址归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容
4.6ms
进入点
设定
0
0
0
0
0
0
0
1
I/D
S
指定在资料的读取与写入时,设定游标移动方向及指定显示的移位
72us
显示状态
开/关
0
0
0
0
0
0
1
D
C
B
D=1:
整体显示ON
C=1:
游标ON
B=1:
游标位置ON
72us
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容
72us
功能设定
0
0
0
0
1
DL
X
0
RE
X
X
DL=1(必须设为1)
RE=1:
扩充指令集动作
RE=0:
基本指令集动作
72us
设定CGRAM地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址到地址计数器(AC)
72us
设定DDRAM
地址
0
0
1
AC6
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM地址到地址计数器(AC)
72us
读取忙碌标志(BF)和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
0us
写资料到RAM
1
0
D7
D6
D5
D4
D3
D2
D1
D0
写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)
72us
读出RAM的值
1
1
D7
D6
D5
D4
D3
D2
D1
D0
从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)
72us
指令表—2:
(RE=1:
扩充指令集)
指令
指令码
说明
执行时间(540KHZ)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
待命模式
0
0
0
0
0
0
0
0
0
1
将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”
72us
卷动地址或IRAM地址选择
0
0
0
0
0
0
0
0
1
SR
SR=1:
允许输入垂直卷动地址
SR=0:
允许输入IRAM地址
72us
反白选择
0
0
0
0
0
0
0
1
R1
R0
选择4行中的任一行作反白显示,并可决定反白与否
72us
睡眠模式
0
0
0
0
0
0
1
SL
X
X
SL=1:
脱离睡眠模式
SL=0:
进入睡眠模式
72us
扩充功能设定
0
0
0
0
1
1
X
1
RE
G
0
RE=1:
扩充指令集动作
RE=0:
基本指令集动作
G=1:
绘图显示ON
G=0:
绘图显示OFF
72us
设定IRAM地址或卷动地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
SR=1:
AC5—AC0为垂直卷动地址
SR=0:
AC3—AC0为ICONIRAM地址
72us
设定绘图RAM地址
0
0
1
AC6
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址到地址计数器(AC)
72us
DS1302时钟芯片
1、概述
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。
实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:
复位(RST)、I/O数据线、串行时钟(SCLK)。
时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。
DS1302引脚排列:
如下图
引脚说明:
1)Vcc1:
后备电源,VCC2:
主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
2)X1、X2:
振荡源,外接32.768kHz晶振。
3)RST:
复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
4)I/O为串行数据输入输出端(双向)。
5)SCLK为时钟输入端。
2、DS1302的内部结构
如图所示,主要组成部分为:
移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。
虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。
图4DS1302的内部结构图
3、DS1302的工作原理
DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。
数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。
时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。
程序流程图
图10-47软件流程图
电路原理图:
电路原理图如图8,DS1302与单片机的连接也仅需要3条线:
CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。
4、DS1302的寄存器和控制命令
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。
日历、时间寄存器及控制字如表1所示:
寄存器名称
7
6
5
4
3
2
1
0
1
RAM/CK
A4
A3
A2
A1
A0
RD/W
秒寄存器
1
0
0
0
0
0
0
分寄存器
1
0
0
0
0
0
1
小时寄存器
1
0
0
0
0
1
0
日寄存器
1
0
0
0
0
1
1
月寄存器
1
0
0
0
1
0
0
星期寄存器
1
0
0
0
1
0
1
年寄存器
1
0
0
0
1
1
0
写保护寄存器
1
0
0
0
1
1
1
慢充电寄存器
1
0
0
1
0
0
0
时钟突发寄存器
1
0
1
1
1
1
1
DS1302内部寄存器列表:
寄存器名称
命令字
取值范围
各位内容
写
读
7
6
5
4
3
2
1
0
秒寄存器
80H
81H
00-59
CH
10SEC
SEC
分寄存器
82H
83H
00-59
0
10MIN
MIN
小时寄存器
84H
85H
01-12或00-23
12/24
0
A
HR
HR
日期寄存器
86H
87H
01-28,29,30,31
0
0
10DATE
DATE
月份寄存器
88H
89H
01-12
0
0
0
10M
MONTH
周寄存器
8AH
8BH
01-07
0
0
0
0
0
DAY
年份寄存器
8CH
8DH
00-99
10YEAR
YEAR
DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
四、电路实现功能
1、报警电路
报警电路则采用蜂鸣器电路负责报警。
如右图所示,当外界温度高于设定值30摄氏度时或低于10度是,FM置于高电平,蜂鸣器工作产生报警声音。
2、校时功能
通过外部中断0、1可分别对年月日时分秒星期分别校时,外部中断0是用来切换校时项,外部中断1实现在原时间的基础上加1。
3、显示各点温度
主屏显示的是时间和平均温度,当第七次按下外部中断0按键时会显示各点温度值。
参见附录1
四、心得体会
通过本次实验,我们学习了单片机和温度传感器的工作原理、时钟芯片DS1302和液晶显示芯片12864的工作原理;本电路对电路时序要求较为严格,因此当用手或其他导电物体触碰到电路时会出现乱码现象,此时只要对电路复位即可,不会丢失当前数据。
在此次设计中我们学会了电路组合设计的方法,掌握了单片机的中断系统与时序程序的编写方法及程序调试方法能够利用单片机完成温度显示报警系统的设计,在以后的学习与探索中我们会更加努力,超越自我!
参考文献
何力民编.单片机高级教程.北京:
北京航空大学出版社,2000
曹巧媛主编.单片机原理及应用(第二版).北京:
电子工业出版社,2002
全国大学生电子设计竞赛北京:
北京理工大学出版社,2003
附录1、实物图
附录2、PCB图
附录3、源程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitd=P3^7;
sbitCLK_18B20=P2^4;//18B20
sbitRS=P2^0;//12864
sbitRW=P2^1;
sbitE=P2^2;
sbitclk=P1^0;//1302
sbitData=P1^1;
sbitrest=P1^2;
sbitfmq=P2^7;
floattem;//平均温度值
floattemsin;//单个温度值
uchara;//中断0次数记录
ucharF;//选择数组dd1或dd2标志位
ucharb=0;//判断主函数是否为前5次进入循环,若为前5次蜂鸣器禁止响
ucharcodedd1[20]={"年月日星期温度地"};
ucharcodedd3[14]={"查看各点温度"};
ucharcodedd2[14]={0xd2,0xbb,0xb6,0xfe,0xc8,0xfd,0xcb,0xc4,0xce,0xe5,0xc1,0xf9,0xc8,0xd5};
ucharview[7];//暂存从1302读出的时间数据数组
ucharasc[14];//读出view中6个数据转换为12个ASC码数组
ucharData_tem[5];//暂存温度值
ucharcodestr1[4][8]={{0x28,0x5b,0x09,0xd1,0x04,0x00,0x00,0x2b},
{0x28,0x00,0xb1,0xd0,0x04,0x00,0x00,0x03},
{0x28,0x93,0x30,0xd0,0x04,0x00,0x00,0xed},
{0x28,0x05,0xa5,0xd0,0x04,0x00,0x00,0x8b}};//储存4个温度传感器64位rom代码码组
uintcodeview3[1024]={
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
0x20,0x48,0x01,0x04,0x00,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
0x18,0x8F,0x02,0x04,0x00,0xFF,0xC0,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xEF,0xE0,
0x08,0x89,0x04,0x7E,0x00,0x84,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x30,0x20,
0x7D,0x09,0x08,0x08,0x00,0x84,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x21,0x20,
0x0D,0x29,0x12,0xFF,0x00,0xBE,0x40,0x00,
0x00,0x01,0x00,0x00,0x00,0x02,0x41,0x00,
0x09,0x2B,0x02,0x91,0x01,0x08,0x40,0x00,
0x10,0x06,0x00,0x00,0x00,0x01,0x81,0x00,
0x31,0x68,0x02,0x7E,0x01,0x08,0x40,0x00,
0x08,0x0E,0x00,0x00,0x00,0x01,0x80,0x80,
0x41,0xA8,0x02,0x10,0x01,0x7F,0x40,0x00,
0x04,0x1C,0x00,0x00,0x00,0x02,0xC1,0x40,
0x38,0x28,0x02,0xE0,0x01,0x08,0x40,0x00,
0x06,0x18,0x00,0x00,0x00,0x04,0x22,0x40,
0x08,0x28,0x02,0x38,0x01,0x10,0x40,0x00,
0x03,0x3E,0x00,0x00,0x00,0x08,0x22,0x40,
0x3E,0x01,0x82,0x46,0x02,0x11,0x40,0x00,
0x81,0x7C,0x00,0x00,0x00,0x08,0x14,0x30,
0x61,0xFE,0x02,0x81,0xE2,0x20,0xC0,0x00,
0xC1,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x50,0xFC,0x0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 检测 系统 设计