基于单片机的DS18B20设计实验报告.docx

上传人:b****5 文档编号:3964608 上传时间:2022-11-26 格式:DOCX 页数:10 大小:310.02KB
下载 相关 举报
基于单片机的DS18B20设计实验报告.docx_第1页
第1页 / 共10页
基于单片机的DS18B20设计实验报告.docx_第2页
第2页 / 共10页
基于单片机的DS18B20设计实验报告.docx_第3页
第3页 / 共10页
基于单片机的DS18B20设计实验报告.docx_第4页
第4页 / 共10页
基于单片机的DS18B20设计实验报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

基于单片机的DS18B20设计实验报告.docx

《基于单片机的DS18B20设计实验报告.docx》由会员分享,可在线阅读,更多相关《基于单片机的DS18B20设计实验报告.docx(10页珍藏版)》请在冰豆网上搜索。

基于单片机的DS18B20设计实验报告.docx

基于单片机的DS18B20设计实验报告

第1章引言

在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。

其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。

因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。

本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。

 

本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于测温比较准确得场所,或科研实验室使用。

该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用LED.

 

  

第2章任务与要求  

2.1测量范围-50~110°C,精确到0.5°C;

2.2 利用数字温度传感器DS18B20测量温度信号; 

2.3所测得温度采用数字显示,计算后在液晶显示器上显示相应得温度值;

第3章方案设计及论证

3.1温度检测模块的设计及论证

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

而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。

 

3.2显示模块的设计及论证

LED是发光二极管Light Emitting Diode 的英文缩写。

LED显示屏是由发光二极管排列组成的一显示器件。

它采用低电压扫描驱动,具有如下优点:

1、耗电省、2、使用寿命长、3、成本低、4、亮度 高、5、视角大、6、可视距离远、7、规格品种多。

3.3控制器模块的设计及论证

单片机是指一个集成在一块电路芯片上的完整计算机系统。

尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:

中央处理单元CPU、存储器/RAMROM和各种/IO接口,目前大部分还会具有外部存储扩展。

采用STC89C52单片机。

它是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8的微处理器。

该器件采用ATMEL高密度非易失存储器技术制造,与工业标准51MCS指令集和输出管脚相兼容。

属于51单片机系列,是C51单片机向下完全兼容51全部系列产品。

该款单片机片内含8k Bytes ISP(I-system programmable)可反复擦写1000次的Flash只读存储器,可以通过串口进行程序的烧写,内带2k Bytes EEPROM存储空间,4个8位的可编程并行I/O口(P0口,P1口,P2口,P3口),一个全双工串口,5个中断源,2级中断优先权,3个16位的定时器/计数器),具有四种工作方式以及特殊功能寄存器(SFR)等。

3.4数字温度计总体设计

第4章硬件设计

4.1主控制器模块电路 

4.1.1 STC89C52主要功能及引脚介绍

单片机STC89C52具有低电压供电高性能COMS8位单片机,片内含有8K bytes 的可反复擦写的Flash只读程序存储器和256bytes 的随机存取数据存储器,在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

  

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 口:

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分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。

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

引脚号第二功能:

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

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

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

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

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

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 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。

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

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

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

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

端口引脚第二功能:

      P3.0 RXD(串行输入口)    

  P3.1 TXD(串行输出口)  

P3.2 INTO(外中断0)   

 P3.3 INT1(外中断1)  

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

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

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

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

RST——复位输入。

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

4.1.2STC89C52 最小系统的基本电路 

最小系统是指能进行正常工作的最简单电路。

STC89C52最小应用系统它包含五个电路部分:

电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入输出接口电路。

其中电源电路、时钟电路、复位电路是保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。

 

(1)电源电路 

芯片引脚VCC一般接上直流稳压电源+5V,引脚GND接电源+5V的负极,电源电压范围在4—5.5之间,可保证单片机系统能正常工作。

为提高电路的抗干扰性能,通常在引脚VCC和GND直接接上一个10μF的电解电容和一个0.1μF陶片电容,这样可以抑制杂波串扰,从而有效确保电路稳定性。

 

(2)时钟电路 

STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。

时钟可以由内部方式产生或外部方式产生。

在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。

定时元件通常采用石英晶体和电容组成的并联谐振回路。

晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。

 

在本设计中时钟采用内部方式产生,晶振振荡频率使用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.3DS18B20温度显示模块 

4.3.1DS18B20的功能和引脚介绍 

DS18B20的性能特点如下:

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

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

●无须外部器件; 

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

●温度以9或12位数字读数; 

●零待机功耗; 

●用户可定义报警设置; 

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

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;  DS18B20详细引脚功能描述如下表所示

4.3.2DS18B20的测温原理 

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

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

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

 

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

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

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

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

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

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

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

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

 

第5章软件设计

5.1主程序流程图

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度在一定时间间隔下进行一次。

这样可以在一定时间之内测量一次被测温度,其程序流程如下图所示:

5.2读出温度子程序流程图

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验, 校验有错时不进行温度数据的改写。

其程序流程图如下图所示:

5.3 温度转换命令子流程图 

温度转换命令子程序主要是发温度转换开始命令,开始执行如下。

温度转换命令子程序流程图如下图所示:

5.4 温度计算子流程图 

将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如下所示:

 

第6章系统调试与结果

6.1 调试

系统的调试以程序为主。

硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。

软件调试则可以先编写显示程序并进行硬件的正确行检验,然后分别进行主程序、度温度子程序、显示子程序、报警子程序等的编程及调试,由于DS18B20与单片机采用串行数据的传送,因此,对DS18B20进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。

本程序采用单片机C语言编写,用Keil C51编译器编程调试,软件调试直到能够显示温度值,而且在有温度变化时显示温度能改变,并在预设范围内正常显示,超过预设范围时蜂鸣器产生报警信号,直到温度在预设范围内蜂鸣器停止报警,温度正常显示,此时软件调试基本完成 

6.2 结果

仿真结果如图:

硬件焊接结果:

LED灯亮,但温度不显示.引脚连接正确。

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

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

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

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