基于单片机的温度报警器的设计理工类毕业设计Word格式.docx

上传人:b****5 文档编号:17983592 上传时间:2022-12-12 格式:DOCX 页数:40 大小:551.01KB
下载 相关 举报
基于单片机的温度报警器的设计理工类毕业设计Word格式.docx_第1页
第1页 / 共40页
基于单片机的温度报警器的设计理工类毕业设计Word格式.docx_第2页
第2页 / 共40页
基于单片机的温度报警器的设计理工类毕业设计Word格式.docx_第3页
第3页 / 共40页
基于单片机的温度报警器的设计理工类毕业设计Word格式.docx_第4页
第4页 / 共40页
基于单片机的温度报警器的设计理工类毕业设计Word格式.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于单片机的温度报警器的设计理工类毕业设计Word格式.docx

《基于单片机的温度报警器的设计理工类毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度报警器的设计理工类毕业设计Word格式.docx(40页珍藏版)》请在冰豆网上搜索。

基于单片机的温度报警器的设计理工类毕业设计Word格式.docx

该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。

此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。

它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;

(2)模拟集成温度控制器。

模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。

某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。

但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;

(3)智能温度传感器(亦称数字温度传感器)。

智能温度传感器是在20世纪90年代中期问世的,其内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。

有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);

并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。

现代信息技术的三大基础是信息采集[2](即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。

传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。

数字温度传感器可以直接将被检测的温度信息以数字化形式输出,与传统的模拟式温度传感器相比,具有测量精度高、功耗低、稳定性好、外围接口电路简单特点。

而单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理。

智能温度传感器内部都包含温度传感器、A/D转化器、信号处理器、存储器(或寄存器)和接口电路。

有的产品还带多路选择器、中央处理器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等的方向发展。

数字化温度传感器可以直接将温度量以数字脉冲信号形式输出,具有测量精度高、抗干扰能力强、传输距离远、外围接口电路简单等诸多优点。

同时数字温度传感器还可直接与微处理器进行接口,大大方便了传感器输出信号的处理.数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。

1.2研究内容和意义

本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。

当被测量值超出预设范围则发出警报,且精度高,适用于大多数工业生产以及教育教学领域。

温度是一种最基本的环境参数,它是与人类的生活、工作关系最密切的物理量,也是各门学科与工程研究设计中经常遇到和必须精确测量的物理量。

从工业炉温、环境气温到人体温度;

从空间、海洋到家用电器,各个技术领域都离不开测温和控温。

因此,研究温度的测量和控制方法具有重要的意义。

2芯片介绍

2.1DS18B20概述

DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现9~12位数字值的读数方式[3]。

2.1.1DS18B20封装形式及引脚功能

图2.1DS18B20封装形式和引脚功能

如图2.1所示,DS18B20的外形如一只三极管,引脚名称及作用如下:

GND:

接地端。

DQ:

数据输入/输出脚,与TTL电平兼容。

VDD:

可接电源,也可接地。

因为每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。

采用数据总线供电方式时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;

采用外部供电方式则VDD接+5V,多用一根导线,但测量速度较快。

2.1.2DS18B20内部结构

图2.2中出示了DS18B20的主要内部部件,下面对DS18B20内部部分进行简单的描述[4]:

(1)64位ROM。

64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表2.1所示:

表2.164位ROM标识

8位循环冗余检验

48位序列号

8位分类编号(10H)

MSBLSB

第1个8位表示产品分类编号,DS18B20的分类号为10H;

接着为48位序列号。

它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;

最后8位为前56位的CRC循环冗余校验码,由于每个芯片的64位ROM代码不同,因此在单总线上能够并接多个DS18B20进行多点温度实习检验。

(2)温度传感器。

温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55~125℃范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率为0.0625℃。

芯片出厂时默认为12位的转换精度。

当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。

如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;

如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。

(3)高速缓存器。

DS18B20内部的高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除的EEPROM。

非易失性可点擦除EEPROM用来存放高温触发器TH、低温触发器TL和配置寄存器中的信息。

(4)配置寄存器。

配置寄存器的内容用于确定温度值的数字转换率。

DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.2所示:

表2.2匹配寄存器

TM

R0

R1

1

TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动;

R1和R0用来设置分辨率;

其余5位均固定为1。

DS18B20分辨率的设置如表2.3所示:

表2.3DS18B20分辨率的设置

分辨率

最大转换时间/ms

9位

93.75

10位

187.5

11位

375

12位

750

DS18B20依靠一个单线端口通讯。

在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。

因此,控制器必须首先提供下面5个ROM操作命令之一:

1)读ROM;

2)匹配ROM;

3)搜索ROM;

4)跳过ROM;

5)报警搜索。

这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。

成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。

一条控制操作命令指示DS18B20完成一次温度测量。

测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。

温度报警触发器TH和TL各由一个EEPROM字节构成。

如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。

可以用一条存储器操作命令对TH和TL进行写入,对这些寄存器的读出需要通过暂存器。

所有数据都是以最低有效位在前的方式进行读写。

2.1.3DS18B20供电方式

DS18B20可以采用外部电源供电和寄生电源供电两种模式。

外部电源供电模式是将DS18B20的GND直接接地,DQ与但单总线相连作为信号线,VDD与外部电源正极相连。

如图2.3所示:

图中DS18B20的DQ端口通过接入一个4.7K的上拉电阻到VCC,从而实现外部电源供电方式。

寄生电源供电模式如图2.4所示:

从图中可知,DS18B20的GND和VDD均直接接地,DQ与单总线相连,单片机其中一个I/O口与DS18B20的DQ端相连。

VCC

2.1.4DS18B20的测温原理

DS18B20的测温原理如图2.5所示,其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。

图2.5DS18B20的测温原理

DS1820是这样测温[5]的:

用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。

计数器被预置到对应于-55℃的一个值。

如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。

同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。

然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。

斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。

这是通过改变计数器对温度每增加一度所需计数的的值来实现的。

因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。

DS18B20内部对此计算的结果可提供0.5℃的分辨率。

温度以16bit带符号位扩展的二进制补码形式读出,表2.4给出了温度值和输出数据的关系。

数据通过单线接口以串行方式传输。

DS18B20测温范围-55℃~+125℃,以0.5℃递增。

表2.4温度数据关系

温度℃

数据输出(二进制)

数据输出(十六进制)

+125

0000000011111010

00FA

+25

0000000000110010

0032

+0.5

0000000000000001

0001

0000000000000000

0000

-0.5

1111111111111111

FFFF

-25

1111111111001110

FFCE

-55

1111111110010010

FF92

S18B20遵循单总线协议,每次测温时都必须有4个过程[6]:

•初始化;

•传送ROM操作命令;

•传送ROM操作命令;

•数据交换;

2.1.5DS18B20的ROM命令

readROM(读ROM).命令代码为33H,允许主设备读出DS18B20的64位二进制ROM代码。

该命令只适用于总线上存在单个DS18B20.

MatchROM(匹配ROM)。

命令代码为55H,若总线上有多个从设备时,适用该命令可选中某一指定的DS18B20,即只有和64位二进制ROM代码完全匹配的DS18B20才能响应其操作。

SkipROM(跳过ROM)。

命令代码为CCH,在启动所有DS18B20转换之前或系统只有一个DS18B20时,该命令将允许主设备不提供64位二进制ROM代码就适用存储器操作命令。

SearchROM(搜索ROM)。

命令代码为F0H,当系统初次启动时,主设备可能不知纵向上有多少个从设备或者它们的ROM代码,适用该命令可确定系统中的从设备个数及其RON代码。

AlarmROM(报警搜索ROM)。

命令代码为ECH,该命令用于鉴别和定位系统中超出程序设定的报警温度值。

Writescratchpad(写暂存器)。

命令代码为4EH,允许主设备向DS18B20的暂存器写入两个字节的数据,其中第一个字节写入TH中,第二个字节写入TL中。

可以在任何时刻发出复位命令终止数据的写入。

Readscratchpad(读暂存器)。

命令代码为BEH,允许主设备读取暂存器中的内容。

从第一个字节开始直到读完第九个字节CRC读完。

也可以在任何时刻发出复位命令中止数据的读取操作。

Copyscratchpad(复制暂存器)。

命令代码为48H,将温度报警触发器TH和TL中的字节复制到非易失性EEPROM。

若主机在该命令之后又发出读操作,而DS18B20又忙于将暂存器中的内容复制到EEPROM时,DS18B20就会输出一个“0”,若复制结束,则DS18B20输出一个“1”。

ConvertT(温度转换)。

命令代码为44H,启动一次温度转换,若主机在该命令之后又发出其它操作,而DS18B20又忙于温度转换,DS18B20就会输出一个“0”,若转换结束,则DS18B20输出一个“1”。

RecallE2(拷回暂存器)。

命令代码为B8H。

将温度报警触发器TH和TL中的字节从EEPROM中拷回到暂存器中。

该操作是在DS18B20上电时自动执行,若执行该命令后又发出读操作,DS18B20会输出温度转换忙标识:

0为忙,1完成。

Readpowersupply(读电源使用模式)。

命令代码为B4H。

主设备将该命令发给DS18B20后发出读操作,DS18B20会返回它的电源使用模式:

0为寄生电源,1为外部电源。

2.2AT89C51概述

2.2.1单片机AT89C51介绍

AT89C51[7]是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

2.2.2功能特性概述

图2.6AT89C51引脚图

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

 

图2.7AT89C51方框图

引脚功能说明

Vcc:

电源电压

GND:

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

FIash编程和程序校验期间,P1接收低8位地址。

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:

表2.5P3口第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外中断0)

P3.3

INT1(外中断1)

P3.4

T0(定时/计数器0外部输入)

P3.5

T1(定时/计数器1外部输入)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XT

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

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1