DS18B20温控实验报告副本.docx

上传人:b****8 文档编号:9812658 上传时间:2023-02-06 格式:DOCX 页数:26 大小:310.86KB
下载 相关 举报
DS18B20温控实验报告副本.docx_第1页
第1页 / 共26页
DS18B20温控实验报告副本.docx_第2页
第2页 / 共26页
DS18B20温控实验报告副本.docx_第3页
第3页 / 共26页
DS18B20温控实验报告副本.docx_第4页
第4页 / 共26页
DS18B20温控实验报告副本.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

DS18B20温控实验报告副本.docx

《DS18B20温控实验报告副本.docx》由会员分享,可在线阅读,更多相关《DS18B20温控实验报告副本.docx(26页珍藏版)》请在冰豆网上搜索。

DS18B20温控实验报告副本.docx

DS18B20温控实验报告副本

 

桂林航院电子工程系

单片机课程设计与制作说明书

设计题目:

DS18B20数字温度计的设计

 

专业:

通信技术

班级:

学号:

姓名:

指导教师:

 

2012年6月28日

桂林航天工业学院

单片机课程设计与制作成绩评定表

设计内容

具体要求

评分

加分

文献检索

所查阅的文献具有一定的广泛性;有综合归纳资料的能力。

调研论证

能独立查阅文献,收集资料;能制定课程设计方案和日程安排。

工作能力态度

工作态度认真,遵守纪律,出勤情况是否良好,能独立完成设计工作。

工作量

工作量饱满,难度适中。

实物功能

可以实现设计要求的功能。

答辩情况

主动回答指导老师提出的问题,表达流畅,回答问题正确。

说明书质量

说明书立论正确,论述充分,结构严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,格式规范工整。

综合

成绩

评定

指导

教师

签名

 

年月日

 

单片机课程设计与制作任务书

专业:

通信技术学号:

2姓名:

一、设计题目:

DS18B20数字温度计的设计

二、设计要求:

1.要求采集温度精确到0.1度。

2.显示测量温度

三、设计内容:

硬件设计、软件设计及样品制作

四、设计成果形式:

1、设计说明书一份(不少于4000字);

2、样品一套。

五.完成期限:

2010年月日

 

指导教师:

贾磊磊年月日

教研室:

年月日

 

目录

一摘要…………………………………………………………………………………

(1)

1.1设计要求……………………………………………………………………………

(1)

二理论设计……………………………………………………………………………

(2)

2.1硬件电路计…………………………………………………………………………

(2)

2.1.1芯片介绍…………………………………………………………………………

(2)

2.1.2DS18B20简介…………………………………………………………………(7)

2.2设计方案……………………………………………………………………………(9)

2.2.1.显示方案………………………………………………………………………(9)

2.2.2.系统硬件电路设计……………………………………………………………(11)

2.2.3软件设计流程及描述……………………………………………………………(11)

三.系统的调试…………………………………………………………………………(13)

3.1.硬件的调试………………………………………………………………………(13)

3.2实验结果……………………………………………………………………………(19)

四、设计注意事项………………………………………………………………………(19)

4.1点阵设计注意事项………………………………………………………………(20)

4.2单片机注意事项……………………………………………………………………(16)

4.3仿真器使用注意事项………………………………………………………………(16)

五.设计心得体会………………………………………………………………………(17)

5.1总结与体会…………………………………………………………………………(17)

 

摘要

在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

其中,温度控制也越来越重要。

在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

因此,单片机广泛用于现代工业控制中。

本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。

论文的主要内容包括:

采样、滤波、键盘、LED显示和报警系统,加热控制系统等。

作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。

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

成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少.随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家,企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。

目前,温度控制器产品从模拟、集成温度控制器发展到智能数码温度控制器。

智能温控器(数字温控器)是微电子技术、计算机技术和自动测试技术的结合,特点是能输出温度数据及相关的温度控制量,适配各种控制器,并且它是在硬件的基础上通过软件来实现控制功能的,其智能化程度也取决于软件的开发水平,现阶段正朝着高精度高质量的方向发展,相信以我国的实力,温控技术在不久的将来一定会为于世界前列!

一、设计要求:

1.基本要求

1)测量温度范围-55℃~120℃

2)精度0.1℃

3)显示测量温度

4)自动控制温度

二、理论设计:

温湿度与生产及生活密切相关。

像仓库、农田、生产过程,温度变化会影响品质;精密仪器、半导体器件,过温而导致性能降低,另外,人们的生活质量提高,对室内环境的高要求也需要对温度的适时监控,可见,温度传感器的应用范围是很广的。

而在日常生活中,温度,尤其是水温的测控尤为重要,婴儿奶瓶,热水壶等等一系列产品对温度测控的需求相当的迫切。

虽然市面上已经有许多成品测温仪器,但我们希望,通过自己的努力,能够作出一款功能齐全,制作简单的温度测控仪器。

希望能在在精进学识的同时培养我们的动手能力。

2.1.1芯片介绍

AT89C52是一种低电压、高性能CMOS8位微处理器,它自带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),俗称单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

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

由于将多功能8位CPU和闪存存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器。

AT89C系列单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

它的部分引脚功能介绍如下。

 

AT89C52单片机的外形及引脚排列如上图:

2.1.2DS18B20简介

DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

DS1822的精度较差为±2°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20的性能是新一代产品中最好的!

性能价格比也非常出色!

DS1822与DS18B20软件兼容,是DS18B20的简化版本。

省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。

DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

DS18B20中的温度传感器对温度的测量

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

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

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

DS18B20的内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列如下:

 

DQ为数字信号输入/输出端;

GND为电源地;

VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

1)64位的ROM

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

64位光刻ROM的排列是:

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

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

2)DS18B20温度传感器的存储器

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

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。

第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。

第六、七、八个字节用于内部计算。

第九个字节是冗余检验字节。

DS18B20的时序

由于DS18B20采用的是单总线协议方式,即在一根数据线实现数据的双向传输,而对89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。

由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。

该协议定义了几种信号的时序:

初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。

数据和命令的传输都是低位在先。

DS18B20的复位时序

DS18B20的读时序

  对于DS18B20的读时序分为读0时序和读1时序两个过程。

对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。

DS18B20在完成一个读时序过程,至少需要60us才能完成。

DS18B20的写时序

  对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。

对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。

DS1820使用中注意事项

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

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

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

2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。

当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

3)连接DS1820的总线电缆是有长度限制的。

试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。

当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。

这种情况主要是由总线分布电容使信号波形产生畸变造成的。

因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。

这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

2.2设计方案

方案一:

选用光电耦合器,双向可控硅和功率电阻组成可以与单片机端口和市电连接大功率工作的设备,以供风扇与加热器的正常工作。

此电路可控制大功率设备,但是在制作和调试的过程中要注意安全。

方案二:

选用小功率演示器件,用不同颜色的发光二极管或小功率风扇来代替风扇和加热器,能直观的反应单片机控制哪路电路的工作,这样不仅表达出来的效果比较好,而且在调试和使用的时候比较的安全,并且在单片机下载版数码管上显示当前的温度范围。

该设计方案虽然安全,但该设计不能在现实生活中实现自动控制。

从上面两个方案比较,要想实现该系统的自动控制选择方案一比较好。

2.2.1LED显示模块

本课题的LED显示模块是由一个四联共阳七段数码管组成。

七段数码管是由若干发光二极管组合而成的,一般的“8”字形显示块由“a、b、c、d、e、f、g、h”8发光二极管组成。

四个七段数码管分别与P0口相连,通过对单片机输入程序达到控制显示输出的目的(如图)。

四个七段数码管由单片机的P2.0~P2.3控制亮灭,P2.0~P2.3分别对应Q2~Q5,当P2.0~P2.3其中之一置高电平,对应的三级管导通,段码管亮,置低电平,对应的三级管截止,段码管灭。

 

2.2.2系统框架设计如下图所示:

温度测量模块我们采用DS18B20

1.下图为温度测量的原理图:

2.2.3控制器模块

本课题的控制器模块式采用89C51单片机作为MCU,如图89C51。

89C51的P0.0~P0.7作为四联七段数码管总线;P2.4作为连接DS18B20的I/O口;P1.7作为升温电路的控制端;P2.0~P2.3控制四个七段数码管的亮灭。

2.2.4电源电路

给系统电路输入一个稳定的+5V的电源(如图)。

 

三.系统的调试

3.1DS18B20数据的部分程序代码为:

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint;

sbitseg1=P2^0;

sbitseg2=P2^1;

sbitseg3=P2^2;

sbitDQ=P1^3;

ds18b20

sfrdataled=0x80;

/*全局变量*/

/******************************************************************/

uinttemp;

ucharflag_get,count,num,minute,second;

ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//7段数码管段码表共阳

ucharstr[6];

/******************************************************************/

/*函数声明*/

/******************************************************************/

voiddelay1(ucharMS);

unsignedintReadTemperature(void);

voidInit_DS18B20(void);

unsignedcharReadOneChar(void);

voidWriteOneChar(unsignedchardat);

voiddelay(unsignedinti);

/******************************************************************/

/*主函数*/

/******************************************************************/

main()

{

unsignedcharTempH,TempL;

TMOD|=0x01;//定时器设置

TH0=0xef;

TL0=0xf0;

IE=0x82;

TR0=1;

P2=0x00;

count=0;

while

(1)

{

str[5]=0x39;//显示C符号

str[1]=tab[TempH/100];//十位温度

str[2]=tab[(TempH%100)/10];//十位温度

str[3]=tab[(TempH%100)%10]|0x80;//个位温度,带小数点

str[4]=tab[TempL];

if(flag_get==1)//定时读取当前温度

{

temp=ReadTemperature();

if(temp&0x8000)

{

str[0]=0x40;//负号标志

temp=~temp;//取反加1

temp+=1;

}

else

str[0]=0;

TempH=temp>>4;

TempL=temp&0x0F;

TempL=TempL*6/10;//小数近似处理

flag_get=0;

}

}

}

 

/******************************************************************/

/*定时器中断*/

/******************************************************************/

voidtim(void)interrupt1using1//中断,用于数码管扫描和温度检测间隔

{

TH0=0xef;//定时器重装值

TL0=0xf0;

num++;

if(num==50)

{num=0;

flag_get=1;//标志位有效

second++;

if(second>=60)

{second=0;

minute++;

}

}

count++;

if(count==1)

{P2=0;

dataled=str[0];}//数码管扫描

if(count==2)

{P2=1;

dataled=str[1];}

if(count==3)

{P2=2;

dataled=str[2];

}

if(count==4)

{P2=3;

dataled=str[3];

}

if(count==5)

{P2=4;

dataled=str[4];

}

if(count==6)

{P2=5;

dataled=str[5];

count=0;}

}

/******************************************************************/

/*延时函数*/

/******************************************************************/

voiddelay(unsignedinti)//延时函数

{

while(i--);

}

/******************************************************************/

/*初始化*/

/******************************************************************/

voidInit_DS18B20(void)

{

unsignedcharx=0;

DQ=1;//DQ复位

delay(8);//稍做延时

DQ=0;//单片机将DQ拉低

delay(80);//精确延时大于480us

DQ=1;//拉高总线

delay(10);

x=DQ;//稍做延时后如果x=0则初始化成功x=1则初始化失败

delay(5);

}

/******************************************************************/

/*读一个字节*/

/******************************************************************/

unsignedcharReadOneChar(void)

{

unsignedchari=0;

unsignedchardat=0;

for(i=8;i>0;i--)

{

DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

delay(5);

}

return(dat);

}

/**************************************

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

当前位置:首页 > 高等教育 > 文学

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

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