08应用电子陈建超.docx

上传人:b****5 文档编号:6141605 上传时间:2023-01-04 格式:DOCX 页数:20 大小:96.11KB
下载 相关 举报
08应用电子陈建超.docx_第1页
第1页 / 共20页
08应用电子陈建超.docx_第2页
第2页 / 共20页
08应用电子陈建超.docx_第3页
第3页 / 共20页
08应用电子陈建超.docx_第4页
第4页 / 共20页
08应用电子陈建超.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

08应用电子陈建超.docx

《08应用电子陈建超.docx》由会员分享,可在线阅读,更多相关《08应用电子陈建超.docx(20页珍藏版)》请在冰豆网上搜索。

08应用电子陈建超.docx

08应用电子陈建超

 

商丘科技职业学院

毕业论文(设计)

 

题目:

数字温度显示报警系统设计

 

系别:

机电工程系

专业:

应用电子专业

学生姓名:

陈建超

成绩:

指导教师:

杨娜

2011年4月

摘要

温度的检测与控制是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。

本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。

同时,电路中接有AT24C02,可以记录上次设定的温度上限,方便查询,文中给出了温度传感器的使用方法,并给出了系统实现的硬件原理图与软件流程图。

经实验测试表明,该系统设计和布线简单,结构紧凑,抗干扰能力强,性价比高,扩展方便等优点,具有关阔的应用前景。

关键词:

温度传感器DS18B20AT89C51单线通信1602显示器12864液晶屏AT24C02芯片

 

目录

摘要1

前言4

1、方案论证5

1.1设计要求5

1.2总体设计方案5

2、系统组成及工作原理6

2.1主控制器6

2.1.1温度传感器6

2.1.2AT24C02串行E2PROM10

2.1.3DS18B20温度传感器与单片机的接口电路13

2.21602原理与使用方法简介13

2.2.1管脚功能13

2.2.2字符集15

2.2.3显示地址16

2.2.4指令集16

2.2.5Proteus仿真17

2.3AT24C02芯片原理及功能18

2.3.1概述18

2.3.2.管脚配置18

2.3.3.极限参数18

2.3.4.功能描述19

2.3.5.管脚描述19

2.4按键控制报警点设置原理21

2.4.1设置四个按键21

2.5报警电路21

2.5.1报警器件21

3、系统软件算法分析21

3.1主程序21

3.2子程序22

3.2.1读出温度子程序22

3.2.2温度转换命令子程序22

3.2.4显示子程序(1602)23

3.2.5AT24C02子程序23

总结体会24

参考文献25

前言

随着人民生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,其中温度报警器就是一个典型的例子,但人们对他的要求越来越高,要为现代人工作、科研、生活提供更方便的设施就需要从单片机技术入手,一切向着数字化控制、智能化方向发展。

由单片机控制的温度报警系统就是一个典型事例。

单片机温度报警系统的温感系统主要是DS18B20芯片,该芯片由一根总线控制,电压范围为3.0v--5.5v,而且具有测温方便,测温范围广,而且还可以手动设置报警温度点,随意调高或调低,最主要的是可定义报警设置,报警搜索命令识别并标志超过预置报警温度自动报警,出于对此类问题的探索,我们设计并制作了此温度报警系统。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确。

其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器主要使用AT89C51,测温传感器使用DS18B20;显示用1602或12864液晶显示屏,内置有AT24C02芯片,可以方便记录以前显示的温度值。

1、方案论证

1.1设计要求

题目:

基于51单片机的温度报警系统

功能:

①在12864液晶上显示当前温度(液晶可选用1602)

②可以按键设置报警点(可保存)

③高报警与低报警蜂鸣器输出

1.2总体设计方案

1.2.1数字温度计设计方案论证

1.2.1.1方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

1.2.1.2方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

1.2.1.3方案二的总体设计框图

温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用2位LED数码管以并口传送数据实现温度显示。

图1总体设计方框图

2、系统组成及工作原理

2.1主控制器

单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

2.1.1显示电路

显示部分采用1602或12864,从p0口输出信号。

2.1.2温度传感器

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

DS18B20的性能特点如下:

●独特的单线接口仅需要一个端口引脚进行通信;

●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

●无须外部器件;

●可通过数据线供电,电压范围为3.0~5.5V;

●零待机功耗;

●温度以9或12位数字;

●用户可定义报警设置;

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2所示。

图2DS18B20内部结构框图

64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。

温度报警触发器TH和TL,可通过软件写入户报警上下限。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。

高速暂存RAM的结构为8字节的存储器,结构如图3所示。

头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。

该字节各位的定义如图3所示。

低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。

因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。

第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。

转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。

单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。

表2是一部分温度值对应的二进制温度数据

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。

若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。

因此,可用多只DS18B20同时测量温度并进行报警搜索。

在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。

主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。

DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。

器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。

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

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

其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。

2.1.3AT24C02串行E2PROM

I2C总线是一种用于IC器件之间连接的二线制总线。

它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:

不管是单片机、存储器、LCD驱动器还是键盘接口。

  1.I2C总线的基本结构 

采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。

CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。

I2C总线接口电路结构如图4所示。

图4I2C总线接口电路结构

  2.双向传输的接口特性 传统的单片机串行接口的发送和接收一般都各用一条线,如MCS51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。

当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。

主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。

I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。

在总线上,既没有中心机,也没有优先机。

  总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。

SDA和SCL均为双向I/O线,通过上拉电阻接正电源。

当总线空闲时,两根线都是高电平。

连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。

I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。

  3.I2C总线上的时钟信号 在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。

SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。

此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。

  当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。

其后,第一个结束高电平期的器件又将SCL线拉成低电平。

这样就在SCL线上产生一个同步时钟。

可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。

  4.数据的传送 在数据传送过程中,必须确认数据传送的开始和结束。

在I2C总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图5所示。

当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号;当SCL线为高电平时,SDA线发生低电平到高电平的跳变为“结束”信号。

开始和结束信号都是由主器件产生。

在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。

图5开始和结束信号

  I2C总线的数据传送格式是:

在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)。

方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。

开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。

  在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。

数据的传送过程如图6所示。

每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。

如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收I2C总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。

当从器件处理完毕时将释放SCL线,主器件继续传送。

图6数据的传送

  当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。

从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。

  I2C总线还具有广播呼叫地址用于寻址总线上所有器件的功能。

若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。

如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。

  5.总线竞争的仲裁 总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。

例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。

I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:

当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。

总线竞争的仲裁是在两个层次上进行的。

首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。

由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。

  6.I2C总线接口器件 目前在视频处理、移动通信等领域采用I2C总线接口器件已经比较普遍。

另外,通用的I2C总线接口器件,如带I2C总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。

   AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。

2.1.4DS18B20温度传感器与单片机的接口电路

DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。

另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。

当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。

采用寄生电源供电方式时VDD端接地。

由于单线制只有一根线,因此发送接口必须是三态的。

2.21602原理与使用方法简介

  工业字符型液晶,能够同时显示16x02即32个字符。

(16列2行)

注:

为了表示的方便,后文皆以1表示高电平,0表示低电平。

2.2.1管脚功能

  

  

引脚说明

  1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线

  VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:

  

引脚

符号

功能说明

1

VSS

一般接地

2

VDD

接电源(+5V)

3

V0

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

4

RS

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

5

R/W

R/W为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

6

E

E(或EN)端为使能(enable)端,下降沿使能。

7

DB0

底4位三态、双向数据总线0位(最低位)

8

DB1

底4位三态、双向数据总线1位

9

DB2

底4位三态、双向数据总线2位

10

DB3

底4位三态、双向数据总线3位

11

DB4

高4位三态、双向数据总线4位

12

DB5

高4位三态、双向数据总线5位

13

DB6

高4位三态、双向数据总线6位

14

DB7

高4位三态、双向数据总线7位(最高位)(也是busyflag)

15

BLA

背光电源正极

16

BLK

背光电源负极

  寄存器选择控制表

  

RS

R/W

操作说明

0

0

写入指令寄存器(清除屏等)

0

1

读busyflag(DB7),以及读取位址计数器(DB0~DB6)值

1

0

写入数据寄存器(显示各字型等)

1

1

从数据寄存器读取数据

  注:

关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.

  busyflag(DB7):

在此位为被清除为0时,LCD将无法再处理其他的指令要求。

2.2.2字符集

  1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

  因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。

  以下是1602的16进制ASCII码表:

  

  

  

读的时候,先读上面那列,再读左边那行,如:

感叹号!

的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。

2.2.3显示地址

  

1

2

3

4

5

6

7

8

9

10

11

12

00H

01H

02H

03H

04H

05H

06H

07H

08H

09H

0AH

0BH

40H

41H

42H

43H

44H

45H

46H

47H

48H

49H

4AH

4BH

2.2.4指令集

  1602通过D0~D7的8位数据端传输数据和指令。

  显示模式设置:

(初始化)

  00110000[0x38]设置16×2显示,5×7点阵,8位数据接口;

  显示开关及光标设置:

(初始化)

  00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)

  000001NSN=1(读或写一个字符后地址指针加1&光标加1),

  N=0(读或写一个字符后地址指针减1&光标减1),

  S=1且N=1(当写一个字符后,整屏显示左移)

  s=0当写一个字符后,整屏显示不移动

  数据指针设置:

  数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)

  其他设置:

  01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。

  通常推荐的初始化过程:

  延时15ms

  写指令38H

  延时5ms

  写指令38H

  延时5ms

  写指令38H

  延时5ms

  (以上都不检测忙信号)

  (以下都要检测忙信号)

  写指令38H

  写指令08H关闭显示

  写指令01H显示清屏

  写指令06H光标移动设置

  写指令0cH显示开及光标设置

  完毕

 2.2.5Proteus仿真

  使用Proteus仿真1602--即LM016L--依照数据手册说明可能遇到困难,可以尝试采用以下方案解决:

  1、数据手册中可能介绍1602内部D0~D7已有上拉,可以使用P0口直接驱动。

在Proteus里LM016L内部可能没有,应该人为

  加上拉电阻。

建议不要使用排阻,使用普通电阻一个一个拉应该可以解决问题;

2、可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去

2.3AT24C02芯片原理及功能

2.3.1概述  

AT24C02是一个2K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。

AT24C02有一个16字节页写缓冲器。

该器件通过IC总线接口进行操作,有一个专门的写保护功能。

2.3.2.管脚配置

  管脚封装如右图7所示。

  图7管脚封装

  

  

2.3.3.极限参数

  工作温度工业级-55℃+125℃

  商业级0℃+75℃

  贮存温度-65℃+150℃

  各管脚承受电压-2.0Vcc+2.0V

  Vcc管脚承受电压-2.0+7.0V

  封装功率损耗(Ta=25℃)1.0W

  焊接温度(10秒)300℃

  输出短路电流100mA

表2可靠性参数

  

符号

参数

最小

最大

单位

参考测试模式

NEND

耐久性

1,000,000

周期/字节

MIL-STD-883测试方法1033

TDR

数据保存时间

100

MIL-STD-883测试方法1008

VZAP

ESD

2000

V

MIL-STD-883测试方法3015

ILTH

上拉电流

100

mA

JEDEC标准17

2.3.4.功能描述

  AT24C02

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

当前位置:首页 > 小学教育 > 小升初

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

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