基于单片机的DS18B20设计实验报告_第1页
基于单片机的DS18B20设计实验报告_第2页
基于单片机的DS18B20设计实验报告_第3页
基于单片机的DS18B20设计实验报告_第4页
基于单片机的DS18B20设计实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器DS18B20。本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。该设计控制器使用单片机STC89C51,测温传感器使用DS18B20

2、,显示器使用LED.第2章 任务与要求2.1测量范围-50110C,精确到0.5C;2.2利用数字温度传感器DS18B20测量温度信号;2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;第3章 方案设计及论证3.1 温度检测模块的设计及论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。进

3、而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。3.2显示模块的设计及论证LED是发光二极管LightEmittingDiode的英文缩写。LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有如下优点:1、耗电省、2、使用寿命长、3、成本低、4、亮度高、5、视角大、6、可视距离远、7、规格品种多。3.3 控制器模块的设计及论证单片机是指一个集成在一块电路芯片上

4、的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:中央处理单元()CPU、存储器)/RAMROM和各种/IO接口,目前大部分还会具有外部存储扩展。采用STC89C52单片机。它是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8的微处理器。该器件采用ATMEL高密度非易失存储器技术制造,与工业标准51MCS-指令集和输出管脚相兼容。属于51单片机系列,是C51单片机向下完全兼容51全部系列产品。该款单片机片内含8kBytesISP(I-systemprogrammable)可反复擦写1000次的Flash只读存储器,可以通过串口

5、进行程序的烧写,内带2kBytesEEPROM存储空间,4个8位的可编程并行I/O口(P0口,P1口,P2口,P3口),一个全双工串口,5个中断源,2级中断优先权,3个16位的定时器/计数器),具有四种工作方式以及特殊功能寄存器(SFR)等。3.4 数字温度计总体设计第4章 硬件设计4.1主控制器模块电路4.1.1STC89C52主要功能及引脚介绍单片机STC89C52具有低电压供电高性能COMS8位单片机,片内含有8Kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器,在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌

6、入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程Flash。图4-1为STC89C52的引脚图:其各引脚介绍如下:P0

7、口: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.2分

8、别作定时器/计数器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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部

9、拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口

10、亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能:P3.0RXD(串行输入口) P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1) P3.4TO(定时/计数器0) P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通) P3.7RD(外部数据存储器读选通)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平,则单片机复位。4.1.2 STC89C52最小系统的基本电路最小系统是指能进行正常工作的最简单电路。STC89C52最小应用系统它包含五个电路部分:

11、电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入输出接口电路。其中电源电路、时钟电路、复位电路是保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。(1)电源电路芯片引脚VCC一般接上直流稳压电源+5V,引脚GND接电源+5V的负极,电源电压范围在45.5之间,可保证单片机系统能正常工作。为提高电路的抗干扰性能,通常在引脚VCC和GND直接接上一个10F的电解电容和一个0.1F陶片电容,这样可以抑制杂波串扰,从而有效确保电路稳定性。(2)时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生

12、或外部方式产生。在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。在本设计中时钟采用内部方式产生,晶振振荡频率使用12MHZ。4.1.3 STC89C52与各部分功能块电路的连接其中P0.0-P0.7,P2.0-P2.7,P3.0-P3.7接串口输入输出端,PI.0接DS18B20的DQ端,XTAL2,XYAL1接晶振,P0口还接上拉电阻:EA*接电源.4.2显示电路模块MT05011AR的引脚图 4.3 DS18B20温度显示

13、模块4.3.1 DS18B20的功能和引脚介绍DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0-5.5;温度以9或12位数字读数;零待机功耗;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20详细引脚功能描述如下表所示4.3.2 DS18B20的测温原理DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率

14、的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循

15、环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。4.3.1 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大

16、为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。第5章 软件设计5.1主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度在一定时间间隔下进行一次。这样可以在一定时间之内测量一次被测温度,其程序流程如下图所示:5.2读出温度子程序流程图读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如下图所示:5.3 温度转换命令子流程图温度转换命令子程序主要是发温度转换开始命令,开始执行如下。温度转换命令子程序流程图如下图所示:5.4温度计算子流程图将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如下所示:第6章 系统调试与结果6.1调试系统的调试以程序为主。硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。软件调试则可以先编写显示程序并进行硬件的正确行检验,然后分别进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论