温度检测与报警的设计.docx

上传人:b****8 文档编号:10828231 上传时间:2023-02-23 格式:DOCX 页数:32 大小:506.39KB
下载 相关 举报
温度检测与报警的设计.docx_第1页
第1页 / 共32页
温度检测与报警的设计.docx_第2页
第2页 / 共32页
温度检测与报警的设计.docx_第3页
第3页 / 共32页
温度检测与报警的设计.docx_第4页
第4页 / 共32页
温度检测与报警的设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

温度检测与报警的设计.docx

《温度检测与报警的设计.docx》由会员分享,可在线阅读,更多相关《温度检测与报警的设计.docx(32页珍藏版)》请在冰豆网上搜索。

温度检测与报警的设计.docx

温度检测与报警的设计

编号

 

本科生毕业设计

 

温度检测报警系统设计

Temperaturedetectionalarmsystem

 

学生姓名

李雨曈

专业

电子信息工程

学号

0731208

指导教师

代燕

分院

电子工程分院

2011年6月

 

摘要

随着电子技术发展,特别是随着大规模的集成电路的产生,给人们的是生活带来了根本性质变化。

微型计算机的出现使现代的科学研究得到质的飞跃,而单片机技术的出现则是给现代工业控制以及日常生活带来了极大的方便,正是电子技术的发展推动了工业生产及人们的日常生活水平。

DS18B20是美国DALLAS公司的“单总线”数字温度传感器,它具有结构简单、体积小、功耗低、无须外接元件、用户可自行设定预警上下限温度等特点。

本设计结合单片机最小系统版,通过DS18B20温度传感器,将其获得的温度值在LCD液晶显示屏上显示,并可通过按键预设温度值,当达到预设温度值时,蜂鸣器报警,并且电机会带动电风扇转动进行散热。

关键词:

数字温度传感器单片机最小系统LCD显示器

 

Abstract

Alongwiththeelectronictechnologydevelopment,speciallyalongwiththelarge-scaleintegratedcircuitproduction,wasthelifehasbroughtthebasicnaturechangeforthepeople.Waspreciselytheelectronictechnologydevelopmentimpelledtheindustrialproductionandpeople'sdailylifelevel.

DALLASDS18B20U.S.company's"single-bus"digitaltemperaturesensor,ithasasimplestructure,smallsize,lowpowerconsumption,noexternalcomponents,theusercansettheminimumandmaximumwarningtemperatureandsoon.Thesinglechipdesignwithminimumsystemversion,byDS18B20temperaturesensor,toobtainthetemperaturevaluedisplayedontheLCDscreenintheLCD,andthroughkeypresettemperaturevalue,whenitreachesthepresettemperaturevalue,thebuzzeralarm,andTurnthemotordrivenfanforcooling.

Keywords:

DigitaltemperaturesensorMinimumsystemmicrocontrollerLCDMonitorAlarmSystemCoolingSystem

 

 

第一章概述

1.1引言:

电子技术的飞速发展,给人类的生活带来了根本的的变革,特别是随着大规模集成电路的产生而出现了微型计算机,更是将人类社会带入了一个新的时代。

利用微机的强大功能。

人们可以完成各种各样的控制。

然而,微机造价高,对于大多数的工业控制来说,也并不需要微机那样强大的功能,于是单片机就运用而生了。

单片机其实就是一个简化的微机,将微机的CPU,存储器,I/O接口。

定时器/计数器等集成在一片芯片上就是单片机了,它主要用来完成各种控制功能。

相对微机来说,单片机价格低,非常适合于应用在简单的控制场合以降低成本。

另外,单片机是按照工业控制要求设计的,其可靠性很高,可在工业现场复杂的环境下运行。

单片机依靠其高的可靠性和极高的性价比,在工业控制,数据采集,智能化仪表,家用电器等方面得到极为广泛的应用。

现代工业设计,工程建设及日常生活中温度控制都起着重要的作用,早期的温度控制主要用于工厂时间生产中,能起到实时采集温度数据,提高生产效率,产品质量之用。

随着人们生活质量的提高,现代社会中的温度控制不仅应用在工厂生产方面也应用于酒店,厂房以及家庭生活中,在有些应用中,如高精度的生产厂房,对温度的要求极其严格,温度的变化极有可能对生产的产品造成极大的影响。

因此,这就需要一种能够及时检测温度变化以及温度变化的设备,提供温度数据值,使人们对温度的变化做及时的调整,多点温度控制可根据人们不同的应用环境自行设置该环境的温度值,及时反映生产,生活中温度变化使人们能及时看到温度变化的第一手资料,提示人们温度变化情况,协助人们能及时的调整,起到温度报警作用,使温度控制更好的服务于社会生产,生活。

温度控制采用具有扩展性速度快特点的51单片机进行设计,通过DS18B20温度传感器,将其获得的温度值在LCD液晶显示屏上显示,并可通过按键预设温度值,当达到预设温度值时,蜂鸣器报警,并且电机会带动电风扇转动进行散热。

 

51系列芯片概述:

纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。

在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。

这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。

所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。

据统计,我国的单片机年容量已达1—3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。

特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。

所以,学习单片机在我国是有着广阔前景的[6]。

51单片机有40个引脚

电源引脚

VCC(第40引脚):

接电源+5V

图1-0

GND(第20引脚):

接电源负极,即接地。

外接晶振引脚

XTAL1(第19脚):

片内反相放大器输入端

XTAL2(第18脚):

片内反相放大器输出端

输入输出引脚

P0.0~P0.7(第39—32脚):

P0口的8个引脚。

P0口是一个漏极开路的8位准

双向I/O口,每位驱动8个LSTTL负载。

在访问外部存储器或进行I/O口扩展时,它分时作为低8位地址总线和双向数据总线。

P1.0—P1.7(第1-8脚):

P1口的8个引脚。

P1口是一个8位的准双向I/O口,每一位可直接驱动4个LSTTL负载。

P2.0-P2.7(第21—28脚):

P2口的8个引脚。

P2口也是一个8位双向I/O口,

每一位可直接驱动4个LSTTL负载,在访问外部存储器时它作为高8位地址总线。

P3.0—P3.7(第10-17脚):

P3口8个引脚。

P3口除作为普通8位准双向I/O口外,还具有第二功能。

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(片外数据存储器读选通输出口)

控制引脚

/PROG(第30引脚):

地址锁存有效信号输出端。

/EA(第31脚):

外部程序存储器选用端。

/PSEN(第29脚):

程序存储允许输出端。

/RST(第9脚):

复位信号输入端。

存储器结构

分为程序存储器(ROM)和数据存储器(RAM)。

片内外统一编址64K字节的ROM,

128(或256)字节的片内的RAM和64K字节的片外RAM。

P2.0-P2.7(第21—28脚):

P2口的8个引脚。

P2口也是一个8位双向I/0口,每一位可直接驱动4个LSTTL负载,在访问外部存储器时它作为高8位地址总线。

P3.0—P3.7(第10-17脚):

P3口8个引脚。

P3口除作为普通8位准双向I/O口外,还具有第二功能。

P0.0~P0.7(第39—32脚):

P0口的8个引脚。

P0口是一个漏极开路的8位准双向I/O口,每位驱动8个LSTTL负载。

在访问外部存储器或进行I/O口扩展时,它分时作为低8位地址总线和双向数据总线。

1.3试验使用主要芯片简介:

DS18B20的简介:

图1-1

 

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

DS18B20的内部存储器共有三种形态的存储器资源,它们分别是:

ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。

在上电复位时其值将被刷新。

第5个字节则是用户第3个EEPROM的镜像。

第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。

第9个字节为前8个字节的CRC码。

EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

系统对DS18B20的各种操作必须按协议进行,操作协议为:

初始化DS18B20——发ROM功能命令————发存储器操作命令——处理数据

图1-2

AT89S51简介:

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合可灵活应用于各种控制领域。

图1-3

·与MCS-51产品指令系统完全兼容

·4k字节在系统编程(ISP)Flash闪速存储器

·1000次擦写周期

·4.0-5.5V的工作电压范围

·全静态工作模式:

0Hz-33MHz

·三级程序加密锁

·128×8字节内部RAM

·32个可编程I/O口线

·2个16位定时/计数器

·6个中断源

·全双工串行UART通道

·低功耗空闲和掉电模式

·中断可从空闲模唤醒系统

·看门狗(WDT)及双数据指针

·掉电标识和快速编程特性

·灵活的在系统编程(ISP字节或页写模式)

AT89S51提供以下标准功能:

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

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

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

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

 

第二章设计方案的具体实现

2.1课题任务与要求:

通过DS18B20将温度进行处理送数LCD液晶显示屏显示,并可对预设定的温度值通过蜂鸣器报警。

预设定的温度可通过按键设定。

按键2和按键3通过减计数或加计数实现对温度值的设定。

按键1可查看预设的温度值,按键4用于切换温度显示和温度设定。

2.2分模块设计原理:

DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入DSl8B20,用读ROM(33H)命令将该DSl8B20的序列号读出并登录。

当主机需要对众多在线DSl8B20的某一个进行操作时首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该DSl8B20的48位序列号)之后的操作就是针对该DSl8B20的,而所谓跳过ROM命令即为之后的操作,是对所有DSl8B20的框图中先有跳过ROM即是启动所有DSl8B20进行温度变换之后通过匹配ROM再逐一地读回每个DSl8B20的温度数据在DSl8B20组成的测温系统中主机在发出跳过ROM命令之后再发出统一的温度转换启动码44H就可以实现所有DSl8B20的统一转换再经过1s后就可以用很少的时间去逐一读取这种方式,使其T值往往小于传统方式[7]。

2.2.1温度测量模块方案设计

方案一:

采用PT100作为测温电路的温度传感器。

PT100传感器是利用铂电阻的阻值随温度变化而变化、并呈一定函数关系的特性来进行测温的,具有抗振动、稳定性好、准确度高、耐高压等优点。

但使用起来比较复杂。

方案二:

采用DS18B20作为测温电路的温度传感器。

DS18B20的数字温度输出通过“一线”总线(1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。

它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。

通过比较,DS18B20直接输出数字温度值,不需要校正,因此选择方案二。

DS18B20的特点如下:

a、一线制器件——独特的接口,使分布式温度检测得以简化。

b、每片DS18B20都有唯一的产品号(64位)。

c、温度测量范围为-55˚C~+125˚C。

d、可达12位的数字值,分辨率为0.0625˚C。

e、用户可定义的,非易失性的温度告警设置。

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

采取数据总线供电方式可以节省一根导线,但由此带来的缺点是完成温度测量的时间较长;而采取外部供电方式则多用一根导线,但测量速度较快。

本设计采用一总线2路温度测量使用外部供电,如下图所示。

图2-1

2.2.2显示模块的设计

LCD显示器的原文是LiquidCrystalDisplay,取每字的第一个字母组成,中文多称「液晶平面显示器」或「液晶显示器」。

其工作原理就是利用液晶的物理特性:

通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。

LCD的好处有:

与CRT显示器相比,LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。

本实验采用LCD液晶显示器如图:

图2-2

模块电路设计图:

图2-3

2.2.3报警模块的设计:

蜂鸣器报警模块:

由于单片机的引脚输出电流较小,无法驱动蜂鸣器报警,因此需要增加一个放大电路放大电流驱动蜂鸣器报警,设计中采用了简单的三极管放大电路:

 

图2-4

LED警示灯报警模块:

LED警示灯模块采用三种不同颜色的灯进行提示:

红灯:

温度超过预设的最高温度时红灯闪烁

黄灯:

温度低于预设的最低温度时黄灯闪烁

绿灯:

温度在预设最低与最高温度之间是绿灯亮图2-5

2.2.4散热模块的设计:

由于单片机的引脚输出电流较小,无法驱电磁继电器,因此需要增加一个放大电路放大电流使继电器能正常工作,设计中采用了简单的三极管放大电路:

当温度高于设定的最高温度时就会使继电器开关打下,电动机工作带动电扇进行散热,但温度低于最高温度时,继电器开关上去,电动机开路,电机停止。

 

图2-6

2.2.5单片机外围电路模块:

单片机时钟电路模块:

电路中的电容为典型的30pF左右,为了保证更好的稳定的工作,X1为12MHZ晶体振荡。

复位电路模块:

复位的作用就是初始化单片机,仅需要给单片机RST引脚加上大于两个机器周期的高

图2-7电平期。

一般复位电路的设计有两种复位方式:

电自动复位和按钮复位,本实验采用更加灵活的按钮复位电路。

2.3设计流程:

 

图2-8

 

第三章系统总体设计方案

3.1设计的基本原理:

在单片机最小系统的基础上,通过编写程序,使DS18B20将温度转换为数字信号,然后送到单片机的I/O端口上,单片机通过一定的时序控制得到数据后,进行简单的处理送LCD显示,并对按键的功能编写程序,通过按键预设定的温度值使蜂鸣器在达到预设定值后报警。

温度测量采用最新的单线数字温度传感器DS18B20,DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器。

与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而,使用DS18B20可使系统结构更趋简单,可靠性更高。

降温控制系统采用低压直流电风扇。

当温度高于设定最高限温度时,启动风扇降温,当温度降到指定最高限温度以下后,风扇自动停止运转。

温控系统的温度显示和温度的设定直接采用综合实训板上的显示和键盘。

当环境温度低于设定的最低限温度值时,也采用综合实训板上的蜂鸣器进行报警。

用0#、1#键作为温度最高限、最低限的设定功能键;2#、3#键作为温度值设定的增加和减小功能键。

0#键:

作为最高限温度的设定功能键。

按一次进入最高限温度设定状态,选择最高限温度值后,再按一次确认设定完成。

1#键:

作为最低限温度的设定功能键。

按一次进入最低限温度设定状态,选择最低限温度值后,再按一次确认设定完成。

2#键:

-1功能键,每按一次将温度值减1,范围为1~99℃。

3#键:

+1功能键,每按一次将温度值加1,范围为99~1℃。

3.3设计的分模块实现概述:

整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。

从软件的功能不同可分为两大类:

一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。

二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。

每一个执行软件也就是一个小的功能执行模块。

这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。

各执行模块规划好后,就可以规划监控程序了。

首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。

单总线已经挂接了DS18B20。

由于已经在上面获取了DS18B20的ROM代码并在AT89C52单片机内部的中建立了测量位置点和传感器64位ROM代码之间的关系表,因此对温度的巡回测量的步骤如下:

(1)发跳过ROM命令CCH。

(2)发启动所有在线的DS18B20进行温度转换命令44H。

(3)延迟1s。

(4)发匹配ROM命令55H。

(5)按照AT89C51中建立的关系表的顺序取出64位ROM代码发送到单总线。

(6)发读温度值命令BEH,读取温度值。

(7)进行CRC校验和数据处理后送LCD显示器显示。

(8)重复第4步到第7步,直到所有的DS18B20测量处理完。

(9)再重复第1步到第8步,进行下一轮的巡回测量。

 

3.4设计报警系统采用的电路图

 

图3-2

 

第四章软件设计

4.1程序模块:

温控系统采用模块化程序结构,可以分成以下程序模块:

①系统初始化程序:

首先完成变量的设定、中断入口的设定、堆栈、输入输出口及外部部件的初始化工作。

②主程序MAIN:

完成键盘扫描、温度值采集及转换、温度值的显示。

当温度值高于设定最高限时,驱动风扇工作;当温度值低于设定最低限时,驱动蜂鸣器报警。

③键盘扫描程序KEYSCAN:

完成键盘的扫描并根据确定的键值执行相应的功能,主要完成最高温度、最低温度的设定。

④温度采集程序GET_TEMPER:

完成DS18B20的初始化并发出温度转换命令,经过指定时间后读取转换的温度值。

根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过3个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求CPU将数据线下拉500μs,然后释放。

DS18B20收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,CPU收到此信号表示复位成功。

⑤温度转换程序TEMPER_COV:

根据精度要求对采集到的温度值进行处理并转换成便于显示的BCD码值。

⑥显示子程序DISPLAY:

显示实时温度及设定温度值。

⑦DS18B20初始化子程序INIT_1820:

DS18B20在工作之前必须按照指定的要求完成初始化工作,否则无法正常工作。

⑧DS18B20读写子程序WRITE_1820、READ_1820、READ_1820T完成对18B20的读写功能,其中,READ_1820从DS18B20中读出一个字节的数据,READ_1820T从DS18B20中读出两个字节的温度数据。

⑨延时程序DELAY、DELAY1满足18B20要求的延时间隔及程序中的延时功能。

图3-3

4.2程序流程图:

第五章系统仿真及调试

5.1调试流程

1)输入源程序

输入源程序时,应以西文方式输入字母和符号,且中文注释前要加分号。

2)对源程序进行汇编和纠错

根据自动汇编提供的错误信息逐条纠正错误,直至汇编信息提示“错误(0)”、“汇编结束”。

3)确定调试方案

在调试程序前一定要认真分析源程序,明确各功能程序运行的预期结果。

然后结合源程序应达到的结果,确定出如何通过某些关键参数和实验现象检验程序运行结果正确与否。

例如:

程序运行过程中路径的变化、累加器A内容的变化、其他特殊寄存器内容的变化等。

并针对具体的分析和观察对象选择较合适的调试方法。

如单步运行、跟踪运行、连续运行、快速运行至光标处、设置断点等调试方法。

4)调试程序

(1)调试主程序。

主程序运行后,在无任何按键输入时观察有无显示,时钟是否工作,其时、分、秒显示的变化过程是否正确。

若运行结果

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

当前位置:首页 > 解决方案 > 学习计划

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

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