基于单片机的智能温度计的设计Word文件下载.docx

上传人:b****6 文档编号:20392956 上传时间:2023-01-22 格式:DOCX 页数:33 大小:587.75KB
下载 相关 举报
基于单片机的智能温度计的设计Word文件下载.docx_第1页
第1页 / 共33页
基于单片机的智能温度计的设计Word文件下载.docx_第2页
第2页 / 共33页
基于单片机的智能温度计的设计Word文件下载.docx_第3页
第3页 / 共33页
基于单片机的智能温度计的设计Word文件下载.docx_第4页
第4页 / 共33页
基于单片机的智能温度计的设计Word文件下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于单片机的智能温度计的设计Word文件下载.docx

《基于单片机的智能温度计的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温度计的设计Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。

基于单片机的智能温度计的设计Word文件下载.docx

故现场输入硬件有手动复位键、A/D转换芯片,处理芯片为51芯片,执行机构有4位数码管、报警器等。

系统框图如图2.1所示。

图2.1热电偶温差电路测温系统框图

方案二:

采用数字温度芯片DS18B20测量温度,输出信号全数字化。

便于单片机处理及控制,省去传统的测温方法的很多外围电路。

且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。

在0—100摄氏度时,最大线形偏差小于1摄氏度。

DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。

这样,测温系统的结构就比较简单,体积也不大。

采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。

既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89S51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。

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

该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。

从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。

方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。

2.2系统设计原理

利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警并且指示灯闪烁。

同时处理后的数据送到LCD中显示。

2.3系统组成

本课题以是80C51单片机为核心设计的一种智能温度测试系统,系统整体硬件电路包括:

传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。

系统框图主要由主控制器、单片机复位、报警按键设置、时钟振荡、LED显示、温度传感器组成。

系统框图如图2.2所示。

图2.2系统基本方框图

主控制器

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

显示电路

液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。

根据显示内容和方式的不同可以分为,数显LCD,点阵字符LCD,点阵图形LCD在此设计中我们采用点阵字符LCD,这里采用常用的2行16个字的1602液晶模块。

温度传感器

温度传感器采用美国DALLAS半导体公司生产的DS18B20温度传感器。

DS18B20输出信号全数字化。

便于单片机处理及控制,在0—100摄氏度时,最大线形偏差小于1摄氏度,采用单总线的数据传输,可直接与计算机连接。

用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。

获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。

3.系统硬件设计

3.1DS18B20温度传感器

3.1.1DS18B20介绍

图3.1图3.2图3.3

DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。

DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。

温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

被测温度用符号扩展的16位数字量方式串行输出;

其工作电源既可以在远端引入,也可以采用寄生电源方式产生;

多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

图3.1是DS18B20的一种封装形式,图3.2是DS18B20的一种常用接法。

图3.3是仿真软件的封装形式。

3.1.2温度传感器工作原理

DS18B20测温原理:

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

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

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

DS18B20功能特点:

1.采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。

2.每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。

3.低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。

4.测温范围为-55℃~+125℃,在-10℃~85℃范围内误差为±

0.5℃。

5.可编辑数据为9~12位,转换12位温度时间为750ms(最大)。

6.用户可自设定报警上下限温度。

7.报警搜索命令可识别和寻址哪个器件的温度超出预定值。

8.DS18B20的分辩率由用户通过EEPROM设置为9~12位。

9.DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。

DS18B20有4个主要的数据部件:

1.光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。

64位光刻ROM的排列是:

开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

2.DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

3.DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

4.配置寄存器。

DS18B20内部结构及功能:

DS18B20的内部结构如图3.4所示。

主要包括:

寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分

图3.4DS18B20内部结构及功能

3.1.3DS18B20相关介绍

温度的读取:

DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。

前5个数字为符号位,当前5位为1时,读取的温度为负数;

当前5位为0时,读取的温度为正数。

(1)DS18B20的初始化:

1.先将数据线置高电平“1”。

2.延时(该时间要求的不是很严格,但是尽可能的短一点)。

3.数据线拉到低电平“0”。

4.延时750微秒(该时间的时间范围可以从480到960微秒)。

5.数据线拉到高电平“1”。

6.延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。

据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制

7.若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。

8.将数据线再次拉高到高电平“1”后结束。

(2)DS18B20的写操作:

1.数据线先置低电平“0”。

2.延时确定的时间为15微秒。

3.按从低位到高位的顺序发送字节(一次只发送一位)。

4.延时时间为45微秒。

5.将数据线拉到高电平。

6.重复上

(1)到(6)的操作直到所有的字节全部发送完为止。

7.最后将数据线拉高。

(3)DS18B20的读操作:

1.将数据线拉高“1”。

2.延时2微秒。

3.将数据线拉低“0”。

4.延时15微秒。

5.将数据线拉高“1”。

6.延时15微秒。

7.读数据线的状态得到1个状态位,并进行数据处理。

8.延时30微秒。

3.1.4DS18B20使用中的注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

1.DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。

2.在实际使用中发现,应使电源电压保持在5V左右,若电源电压过低,会使所测得的温度精度降低。

3.较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

4.在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

5.在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。

3.2液晶显示器(1602液晶显示器)

3.2.1液晶显示器的介绍

显示器是人与机器沟通的重要界面,早期以显像管(CRT/CathodeRayTube)显示器为主,但随着科技不断进步,各种显示技术如雨后春笋般诞生,近来由于液晶(LCD)显示器具有轻薄短小、耗电量低、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,在近年来价格不断下跌的吸引下,逐渐取代CRT之主流地位,显示器明日之星架势十足。

液晶是一种既具有液体的流动性又具有光学特性的有机化合物,它的透明程度和呈现的颜色受外加电场的影响,利用这特点便可做成字符显示器。

液晶显示器(LCD)英文全称为LiquidCrystalDisplay,它一种是采用了液晶控制透光度技术来实现色彩的显示器。

和CRT显示器相比,LCD的优点是很明显的。

由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。

显示接口用来显示系统的状态,命令或采集的电压数据。

本系统显示部分用的是LCD液晶模块,采用一个16×

2的字符型液晶显示模块。

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形(用自定义CGRAM,显示效果也不好)

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

图3.51602液晶显示器一种接法

3.2.21602LCD的特性

(1)+5V电压,对比度可调

(2)内含复位电路

(3)提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能

(4)有80字节显示数据存储器DDRAM

(5)内建有160个5X7点阵的字型的字符发生器CGROM

(6)8个可由用户自定义的5X7的字符发生器CGRAM

字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚)(图3.5是1602液晶显示器的一种接法)

3.2.3液晶模块简介

LM016L的结构及功能:

LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。

IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献(30)中的表4.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM但愿,LM016L液晶模块的引脚图如图3.7所示。

图3.71601引脚图

LM016L引脚介绍:

Vss(1脚):

一般接地。

Vdd(2脚):

接电源。

Vee(3脚):

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

RS(4脚):

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

R/W(5脚):

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

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

E(6脚):

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

DB0(7脚):

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

DB1(8脚):

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

DB2(9脚):

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

DB3(10脚):

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

DB4(11脚):

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

DB5(12脚):

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

DB6(13脚):

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

DB7(14脚):

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

寄存器选择控制如表3.8。

表3.8寄存器选择控制

RS

R/W

操作说明

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

1

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

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

从数据寄存器读取数据

3.2.3液晶显示部分与89C51的接口

如图3.9所示。

用89C51的P0口作为数据线,用P2.2、P2.1、P2.0分别作为LCD的E、R/W、RS。

其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:

显示模块初始化:

首先清屏,再设置接口数据位为8位,显示行数为2行,字型为5×

7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。

向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。

图3.9液晶与89C51的接口

3.380C51单片机的介绍

80C51单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel等大公司。

如是市面上出现了各式各样的但均以51为内核的单片机,倒是Intel公司自己的单片机却显得逊色了。

这些各大电子生产商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内部结构是与51一致的。

80C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。

80C51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。

80C51单片机的基本组成框图见图3.10。

图3.1080C51单片机结构图

由图3.10可见,8051单片机主要由以下几部分组成:

cpu系统:

8位cpu,含布尔处理器;

时钟电路;

总线控制逻辑。

存储器系统

4K字节的程序存储器(ROM/EPROM/Flash,可外扩至64KB);

128字节的数据存储器(RAM,可再外扩64KB);

特殊功能寄存器SFR。

I/O口和其他功能单元,4个并行I/O口;

2个16位定时计数器:

1个全双工异步串行口;

中断系统(5个中断源,2个优先级)。

3.3.180C51单片机的主要特性

1.一个8位的微处理器(CPU)。

2.片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89系列单片机最多提供1K的RAM。

3.片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。

但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。

目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。

4.四个8位并行I/O接口P0~P3,每个口既可以用作输入,也可以用作输出。

5.两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。

为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。

6.五个中断源的中断控制系统。

现在新推出的单片机都不只5个中断源。

7.一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单机与微机之间的串行通信。

8.片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。

最高允许振荡频率为12MHz。

SST89V58RD最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。

3.3.280C51单片机管脚

图3.1180C51单片机管脚

时钟电路引脚XTAL1和XTAL2:

XTAL2(18脚):

接外部晶体和微调电容的一端;

在8051片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。

若需采用外部时钟电路时,该引脚输入外部时钟脉冲。

XTAL1(19脚):

接外部晶体和微调电容的另一端;

在片内它是振荡电路反相放大器的输入端。

在采用外部时钟时,该引脚必须接地。

控制信号引脚RST,ALE,PSEN和EA:

RST/VPD(9脚):

RST是复位信号输入端,高电平有效。

当此输入端保持备用电源的输入端。

当主电源Vcc发生故障,降低到低电平规定值时,将+5V电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。

RST引脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而合复位后能继续正常运行。

ALE/PROG(30脚):

地址锁存允许

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

当前位置:首页 > 小学教育 > 语文

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

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