仓库温度检测仪.docx

上传人:b****3 文档编号:12714818 上传时间:2023-04-21 格式:DOCX 页数:32 大小:332.77KB
下载 相关 举报
仓库温度检测仪.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

仓库温度检测仪

课程设计报告

题目:

仓库温度检测仪

专业:

自动化01班

姓名:

学号:

指导老师:

教研室主任:

院长:

 

2011年06月23日

仓库温度检测仪系统的设计

摘要

本设计主要包括温度传感器DS18B20、单片机AT89S52和LCD1602等器件,硬件电路包括温度检测电路、温度控制电路和一些接口电路等辅助电路,软件设计主要包括数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、超温报警程序五个模块。

设计电路工作原理为:

首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。

然后,通过AT89S52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块,如果测量温度超过预定值,单片机同时也会把信号传递给报警电路单元。

最后,LCD1602A芯片将送来的值显示于显示屏上。

关键词:

AT89S52单片机;温度传感器DS18B20;LCD1602;温度控制

TheDesignofWarehouseTemperatureMonitoringSystem

Abstract

ThedesignincludestemperaturesensorDS18B20,MCUAT89S52LCD1602andotherdevices.Hardwarecircuitincludesthetemperaturesensingcircuit,thetemperaturecontrolcircuit,anumberofinterfacecircuitsandotherauxiliarycircuits,Softwaredesignprocessincludesfivemodules,suchasdigitaltubedisplay,keyboardscanningandkeyprocesses,thetemperaturesignalprocessing,relaycontrolprocedures,over-temperaturealarmprogram.Thecircuitdesignworksasfollows:

First,bymeasuringcurrentDS18B20Temperaturesensorchiptemperatures,andtheresultsintothesinglechip.ThensentingthemicrocontrollerchiponthemeasurementoftemperaturereadingstocalculateandconverttheresultwellintothisLCDmodulethroughtheAT89S52,ifthemeasuredtemperatureexceedsapredeterminedvalue,themicrocontrollerwillalsosendsignalstothealarmcircuitmodule.Finally,SMC1602Asentsthevalueofthechipswhichwillbeshownonthescreen.

Keywords:

AT89S52MonolithicIntegratedCircuit;TemperaturesensorDS18B20;LCD1602;TemperatureControl

 

目录

1绪论4

1.1课题背景及目的4

1.2论文构成及研究内容4

1.3仓库温度检测系统的原理框图4

2核心器件的选择6

2.1单片机的选择6

2.1.1AT89S52简介6

2.1.2AT89S52引脚功能7

2.2温度传感器的选择9

2.2.1DS18B20简介9

2.2.2DS18B20测温原理10

3硬件设计电路11

3.1主控制器12

3.2显示电路12

3.3温度检测电路13

3.4温度报警电路14

4软件设计15

4.1概述15

4.2温度检测流程及程序实现15

4.2.1初始化流程15

4.2.2读DS18B20流程17

4.2.3写18B20流程18

4.3报警模块流程20

结论25

参考文献25

1绪论

1.1课题背景及目的

电子科技时代的今天,社会中的诸多行业对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。

在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。

同时,温度检测控制系统已广泛应用于社会生活的各个领域,甚至在各种行业的那些条件不易人们亲自接近的货物储藏的仓库已普遍使用。

检测控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致检测控制系统性能不佳,甚至出现控制不稳定、失控现象。

本设计采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。

数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。

在此基础上本设计又采用单片机芯片AT89S52[1]作为主控制器的核心,形成成熟的温度控制系统,结合DS18B20芯片的小型化,通过单跳数据线就可以和主电路连接,把数字温度传感器DS18B20做成探头,探入到仓库中的各个地方,不但增加其实用性,更能串接多个数字温度传感器DS18B20进行范围的温度检测。

1.2论文构成及研究内容

本设计包括了绪论、核心器件的选择、硬件电路设计、软件设计[2]四个部分,其中主要介绍了组成电路各部分主要功能的简单说明以及各元件的选择因素及其具体参数。

本设计是基于温度传感器[4]的温度检测系统[3]中的温度检测、电路控制、报警系统及显示部分的实现。

以智能温度传感器应用技术和单片机应用技术为核心进行开发,并且以理论分析和该技术方案为基础,在不断地研究过程中进行不断的调整,完成了一个温度监测系统的设计。

1.3仓库温度检测系统的原理框图

本系统采用单片机及外围电路完成。

最重要的部分即测温电路将采用数字温度芯片测量温度,这样输出的信号为数字信号,可以直接由单片机来处理;按键输入电路用于进行调时和温度查询,以方便对系统各项参数的修改;时钟及复位电路将提供给单片机必不可少的时钟信号和复位信号以使单片机正常工作。

报警电路用于当仓库温度超过额定范围时,及时报警通知。

显示电路则是显示仓库温度。

系统的原理框图如图1.1所示。

 

图1.1系统原理框图

 

2核心器件的选择

2.1单片机的选择

由于系统要利用单片机控制温度传感器进行实时温度检测并显示,而且要求能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。

所以系统对单片机性能要求较高,选用常用的8031系列和8051系列的单片机可以方便的编程,但8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。

经过综合考虑,本系统采用的是AT89S52,它的介绍如下:

2.1.1AT89S52简介

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

主要性能

  1、与MCS-51单片机产品兼容;

  2、8K字节在系统可编程Flash存储器;

  3、1000次擦写周期;

  4、全静态操作:

0Hz-33MHz;

  5、三级加密程序存储器;

  6、32个可编程I/O口线;

  7、三个16位定时器/计数器;

  8、六个中断源;

  9、全双工UART串行通道;

  10、低功耗空闲和掉电模式;

  11、掉电后中断可唤醒;

  12、看门狗定时器;

  13、双数据指针;

14、掉电标识符。

 

2.1.2AT89S52引脚说明

  AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程

AT89S52引脚图DIP封装

Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

  P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0不具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

  P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

  引脚号第二功能:

  P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5MOSI(在系统编程用)

  P1.6MISO(在系统编程用)

  P1.7SCK(在系统编程用)

  P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动

4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

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

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

  P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

  端口引脚第二功能:

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2INTO(外中断0)

  P3.3INT1(外中断1)

  P3.4TO(定时/计数器0)

  P3.5T1(定时/计数器1)

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

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

  此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

  RST:

复位输入。

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

  ALE/PROG:

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

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

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

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

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

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

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

  PSEN:

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

  EA/VPP:

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

需注意的是:

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

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

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

  XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

  XTAL2:

振荡器反相放大器的输出端

2.2温度传感器的选择

由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。

这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。

2.2.1DS18B20简介

DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。

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

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

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

他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的

使用和更令人满意的效果。

如图所示。

附图、DS18B20封装方式

2.2.2DS18B20测温原理

图2.2DS18B20的内部测温电路框图

低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,为计数器提供一频率稳定的计数脉冲。

高温度系数晶振随温度变化其震荡频率明显改变,很敏感的振荡器,所产生的信号作为减法计数器2的脉冲输入,为计数器2提供一个频率随温度变化的计数脉冲。

图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。

3硬件设计电路

电路设计原理图如图3.1所示,控制器使用单片机AT89S52,温度传感器使用DS18B20,用液晶实现温度显示。

本温度计大体分三个工作过程。

首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。

然后,通过AT89S52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。

最后,SMC1602A芯片将送来的值显示于显示屏上。

 由图3.1可看到,本电路主要由DSl8B20温度传感器芯片、SMCl602A液晶显示模块芯片和AT89S52单片机芯片组成。

其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。

图3.1硬件设计电路图

附图、PCB图

3.1主控制器

AT89S52的复位电路[9]由C1、R1组成,触动开关K1即可可靠复位。

时钟电路由C3、C4及12MHz的石英晶振组成,提供12MHz的时钟信号。

P2.0控制DS18B20完成温度测量,用P2.7控制报警电路,用P0口控制显示电路。

主机控制DS18B20完成温度转换必须经过三个步骤:

初始化、ROM操作指令、存储器操作指令。

必须先启动DS18B20开始转换,再读出温度转换值。

3.2显示电路

显示电路采用SMCI602A[8]液晶显示模块芯片该芯片可显示16×2个字符,比以前的七段数码管LED显示器在显示字符的数量上要多得多。

另外,由于SMCl602芯片编程比较简单,界面直观,因此更加易于使用者操作和观测。

SMCl602A芯片的接口信号说明如表3.1所列。

驱动电路包含在SMCI602A液晶显示模块芯片,所以不必外加驱动电路。

其控制由单片机来完成,亮度调节是通过变阻器R2完成。

引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,

各引脚接口说明如表3-1所示:

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

表3-1:

引脚接口说明表

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

3.3温度检测电路

DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。

DS18B20的电源供电方式[12]有2种:

外部供电方式和寄生电源方式。

工作于寄生电源方式时,VDD和GND均接地,它在需要远程温度探测和空间受限的场合特别有用,原理是当1Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。

但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM时),同时芯片的性能也有所降低。

因此,在条件允许的场合,尽量采用外供电方式。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

在这里采用前者方式供电。

DS18B20与芯片连接电路如图3.2所示。

图3.2DS18B20与单片机的连接

外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。

在开发中使用外部电源供电方式,比寄生电源方式只多接一根VCC引线。

在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。

3.4温度报警电路

本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。

当所测温度超过所预设的温度时,数据口相应拉高电平,报警输出。

报警电路硬件连接见图3.3。

图3.3蜂鸣器电路连接图

4软件设计

4.1概述

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

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

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

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

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

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

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

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

主程序需要调用4个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。

各模块程序功能如下:

1)数码管显示程序:

向数码的显示送数,控制系统的显示部分。

2)温度测试及处理程序:

对温度芯片送过来的数据进行处理,进行判断和显示。

3)报警子程序:

进行温度上下限判断及报警输出。

4)中断设定程序:

实现设定上下限报警功能。

4.2温度检测流程及程序实现

DS18B20在单片机控制下分三个阶段:

1)18B20初始化;2)读18B20时序;3)写18B20时序[2]。

4.2.1初始化流程

初始化流程见图4.1。

首先对AT89S52的寄存器初试化[2]

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

当前位置:首页 > 经管营销 > 经济市场

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

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