基于DS18B20+89C52单片机的数字温度计设计.docx

上传人:b****0 文档编号:12837101 上传时间:2023-04-22 格式:DOCX 页数:31 大小:208.51KB
下载 相关 举报
基于DS18B20+89C52单片机的数字温度计设计.docx_第1页
第1页 / 共31页
基于DS18B20+89C52单片机的数字温度计设计.docx_第2页
第2页 / 共31页
基于DS18B20+89C52单片机的数字温度计设计.docx_第3页
第3页 / 共31页
基于DS18B20+89C52单片机的数字温度计设计.docx_第4页
第4页 / 共31页
基于DS18B20+89C52单片机的数字温度计设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于DS18B20+89C52单片机的数字温度计设计.docx

《基于DS18B20+89C52单片机的数字温度计设计.docx》由会员分享,可在线阅读,更多相关《基于DS18B20+89C52单片机的数字温度计设计.docx(31页珍藏版)》请在冰豆网上搜索。

基于DS18B20+89C52单片机的数字温度计设计.docx

基于DS18B20+89C52单片机的数字温度计设计

DesignofDigitalThermomerBasedonSCM

Indailylifeandindustrialproductionprocess,oftenusedinthedetectionandcontroloftemperature,temperatureistheproductionprocessandscientificexperimentsingeneralandoneoftheimportantphysicalparameter.Traditionalthermocoupleandtemperaturecomponentsarethesecondresistor.Thethermocoupleandthermalresistancearegenerallymeasuredvoltage,andthenreplacedbythecorrespondingtemperature,thesemethodsarerelativelycomplex,requiringarelativelylargenumberofexternalhardwaresupport.Weusearelativelysimplewaytomeasure.

WeusetheUnitedStatesfollowingDALLASSemiconductorDS1820improvedaftertheintroductionofasmarttemperaturesensorDS18B20asthedetectionelement,atemperaturerangeof-55ºC~125ºC,uptoamaximumresolutionof0.0625ºC.DS18B20canbedirectlyreadoutthetemperatureonthenorthside,andthree-wiresystemwithsingle-chipconnectedtoadecreaseoftheexternalhardwarecircuit,withlow-costandeasyuse.

Theintroductionofacost-basedAT89C52MCUatemperaturemeasurementcircuits,thecircuitsusedDS18B20high-precisiontemperaturesensor,measuringscope0ºC~+100ºC,cansetthewarninglimitation,theuseofsevensegmentsLEDthatcanbedisplaythecurrenttemperature.Thepaperfocusesonprovidingasoftwareandhardwaresystemcomponentscircuit,introducedthetheoryofDS18B20,thefunctionsandapplicationsofAT89C52.Thiscircuitdesigninnovative,powerful,canbeexpansionarystrong.

Keywords:

TemperaturemeasurementDS18B20AT89C52

Temperaturmeasurement;DS18B20;LED不要删除行尾的分节符,此行不会被打印

第1章引言1

千万不要删除行尾的分节符,此行不会被打印。

在目录上点右键“更新域”,然后“更新整个目录”。

打印前,不要忘记把上面“Abstract”这一行后加一空行

第1章引言

1.1课题背景及研究意义

随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。

传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。

温度是工业对象中的一个重要的被控参数。

然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。

因此对数据采集的精度和采用的控制方法也不相同。

温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。

本设计使用单片机作为核心进行控制。

单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。

1.2课题设计目的

1.巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。

2.培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。

3.通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤

1.3课题设计主要工作

本课题的研究重点是设计一种基于单片机的数字温度计控制系统。

利用数字温度传感器DS18B20,此传感器课读取被测量温度值,进行转换。

主要工作如下:

1.温度测试基本范围0℃—100℃。

2.精度误差小于1℃。

3.LED液晶显示。

4.可以设定温度的上下限报警功能。

5.实现报警提示。

1.4本文研究内容

数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即A/D转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。

这样就完成了数字温度计的基本测温功能。

本文是基于AT89C52单片机,采用数字温度传感器DS18B20,利用DS18B20不需要A/D转换,课直接进行温度采集显示,报警的数字温度计设计。

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

第2章开发工具Proteus与Keil

2.1Proteus软件简介

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

该软件的特点是:

1.实现了单片机仿真和SPICE电路仿真相结合,具有模拟电路仿真、数字电路仿真、各种单片机(51系列、AVR、PIG等常用的MCU)及其外围电路(如LCD、RAM、ROM、键盘、LED、A/D、D/A……)组成的系统仿真。

2.提供了多种虚拟仪器。

如示波器、逻辑分析仪、信号发生器等,调试非常方便。

3.提供软件调试功能,同时支持第三方的软件编译和调试环境,如Keil等软件。

4.具有强大的原理图绘制功能。

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。

因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。

对于这样的仿真实验.从某种意义上讲,是弥补了.实验和工程应用阉脱节的矛盾和现象。

2.2Keil软件简介

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

KeilC51软件是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。

Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:

μVisionIDE集成开发环境C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。

第3章系统概述

3.1设计方案

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

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

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

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

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

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

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

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

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

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

3.2系统设计原理

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

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

3.3系统组成

本课题以是89C52单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。

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

系统框图如图3-1所示。

图3-1系统基本方框图

1.主控制器

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

2.显示电路

显示电路采用LED液晶显示数码管,从P3口RXD,TXD串口输出段码。

显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用p3口的RXD,和TXD,串口的发送和接收,四只数码管采用74LS164右移寄存器驱动,显示比较清晰。

3.温度传感器

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

DS18B20输出信号全数字化。

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

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

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

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

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

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

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

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

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

图3-2DS18B20与单片机的接口电路

第4章系统硬件设计

4.189C52单片机的介绍

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

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

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

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

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

89C52单片机的基本组成框图见图4-1。

图4-189C52单片机结构

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

1.cpu系统

8位cpu,含布尔处理器;

时钟电路;

总线控制逻辑。

2.存储器系统

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

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

特殊功能寄存器SFR。

3.I/O口和其他功能单元

4个并行I/O口;

2个16位定时计数器;

1个全双工异步串行口;

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

4.1.189C52单片机主要特性

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

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

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

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

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

SST公司推出的89系列单片机分别集成了16K、32K、64KFlash存储器,可供用户根据需要选用。

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

5.两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用

以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。

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

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

现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。

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

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

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

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

4.1.289C52单片机管脚图

图4-289C52单片机管脚图

部分引脚说明:

1.时钟电路引脚XTAL1和XTAL2:

XTAL2(18脚):

接外部晶体和微调电容的一端;在8051片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。

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

要检查8051/8031的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。

XTAL1(19脚):

接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。

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

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

RST/VPD(9脚):

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

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

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

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

ALE/PROG(30脚):

地址锁存允许信号端。

当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。

CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。

平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。

如果想确定8051/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。

如有脉冲信号输出,则8051/8031基本上是好的。

ALE端的负载驱动能力为8个LS型TTL(低功耗甚高速TTL)负载。

此引脚的第二功能PROG在对片内带有4KBEPROM的8751编程写入(固化程序)时,作为编程脉冲输入端。

PSEN(29脚):

程序存储允许输出信号端。

在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。

此引肢接EPROM的OE端(见后面几章任何一个小系统硬件图)。

PSEN端有效,即允许读出EPROM/ROM中的指

令码。

PSEN端同样可驱动8个LS型TTL负载。

要检查一个8051/8031小系统上电后CPU能否正常到EPROM/ROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。

如有则说明基本上工作正常。

EA/Vpp(31脚):

外部程序存储器地址允许输入端/固化编程电压输入端。

当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051为4K)时,将自动转去执行片外程序存储器内的程序。

当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。

对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。

此引脚的第二功能是Vpp是对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V~21V)的输入端。

3.输入/输出端口P0/P1/P2/P3:

P0口(P0.0~P0.7,39~32脚):

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

作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。

当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。

作输入口使用时要先写1,这就是准双向口的含义。

在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。

在此期间,P0口内部上拉电阻有效。

P1口(P1.0~P1.7,1~8脚):

P1口是一个带内部上拉电阻的8位准双向I/O口。

P1口每位能驱动4个LS型TTL负载。

在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。

P2口(P2.0~P2.7,21~28脚):

P2口是一个带内部上拉电阻的8位准双向I/O口。

P口每位能驱动4个LS型TTL负载。

在访问片外EPROM/RAM时,它输出高8位地址。

P3口(P3.0~P3.7,10~17脚):

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

P3口每位能驱动4个LS型TTL负载。

P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下:

P3.0:

(RXD)串行数据接收。

P3.1:

(RXD)串行数据发送。

P3.2:

(INT0#)外部中断0输入。

P3.3:

(INT1#)外部中断1输入。

P3.4:

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

P3.5:

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

P3.6:

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

P3.7:

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

4.2液晶模块简介

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液晶模块的引脚图如图4-3所示。

图4-31601引脚图

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位。

DB

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

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

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

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