数字式温度表实习报告.docx

上传人:b****7 文档编号:11416130 上传时间:2023-02-28 格式:DOCX 页数:28 大小:359.66KB
下载 相关 举报
数字式温度表实习报告.docx_第1页
第1页 / 共28页
数字式温度表实习报告.docx_第2页
第2页 / 共28页
数字式温度表实习报告.docx_第3页
第3页 / 共28页
数字式温度表实习报告.docx_第4页
第4页 / 共28页
数字式温度表实习报告.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数字式温度表实习报告.docx

《数字式温度表实习报告.docx》由会员分享,可在线阅读,更多相关《数字式温度表实习报告.docx(28页珍藏版)》请在冰豆网上搜索。

数字式温度表实习报告.docx

数字式温度表实习报告

目录

摘要4

Abstract4

第一章设计背景、目的及方案5

1.1设计背景5

1.2设计目的5

1.3设计方案6

第二章单元模块设计7

2.1各单元模块功能介绍及电路设计7

2.1.1电源电路7

2.1.2中央处理电路8

2.1.3测温电路9

2.1.4显示电路10

2.2电路参数的计算及元器件的选择10

2.2.1电源电路10

2.2.2中央处理电路11

2.2.3测温电路11

2.2.4显示电路11

2.3特殊器件的介绍11

2.3.1STC89C52单片机特点及特性11

2.3.2DS18B20产品的特点12

2.3.3DS18B20的引脚介绍13

2.3.4DS18B20的使用方法13

2.3.574HC573介绍16

2.4各单元模块的联接17

第三章系统调试18

3.1系统单片机程序的调试18

3.1.1调试目的18

3.1.2调试结果18

3.2系统电路的调试18

3.2.1调试方法18

3.2.2调试结果18

结论19

心得与体会20

参考文献21

致谢22

附录1:

系统的电路原理图如下:

23

附录2:

DS18B20测温子程序24

 

摘要

温度表在实际生产和人们的生活中都有广泛应用,为此我选择了设计一个数字温度表。

本设计以STC89C52单片机为核心,DS18B20数字式温度传感器为温度传感器,74HC573锁存器及数码管构成显示电路。

单片机控制DS18B20进行温度采集,在接收到DS18B20传回数据后进行处理,通过74HC573锁存器及数码管显示实时温度的动态显示。

由于采用的是可编程器件作为控制核心,与传统的温度计相比该温度计具有示数直观,精度可调,功能易扩展等优点。

关键词:

数字温度计,单片机,DS18B20

Abstract

Thermometerintheactualproductionandpeople'slivesarewidelyused,andIchosetodesignadigitalthermometer.ThedesignSTC89C52MCUcore,DS18B20digitaltemperaturesensorforthetemperaturesensor,74HC573latchanddigitaltubedisplaycircuitform.SCMDS18B20fortemperatureacquisition,inreturnreceivingDS18B20dataprocessing,throughthe74HC573latchandthedigitaldisplayreal-timedynamicdisplayoftemperature.Asaresultoftheprogrammabledeviceasthecontrol,comparedwiththetraditionalthermometerthermometerhasindicatedthatthenumberofintuitive,precisionadjustable,featureseasytoexpandandsoon.

Keywords:

Digitalthermometer,MCU,DS18B20

第一章设计背景、目的及方案

1.1设计背景

随着人们生活水平的不断提高,数字化无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度表就是一个典型的例子,一切向着数字化控制,智能化控制方向发展。

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

温度表是常用的热工仪表,常用于工业现场作为过程的温度测量。

在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。

随着工业现代化的发展,对温度测量仪表的要求越来越高,而数字式温度表具有结构简单,抗干扰能力强,功耗小,可靠性高,速度快等特点,更加适合于工业过程中以及科学试验中对温度进行在线测量的要求。

近年来,数字式温度表广泛应用在各个领域,它与模拟式温度表相比较,归纳起来有如下特点。

⑴准确度高,⑵测量范围宽、灵敏度高,⑶测量速度快,⑷使用方便、操作简单,⑸抗干扰能力强,⑹自动化程度高,⑺读数清晰、直观方便。

数字温度表的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表。

数字化是当前计量仪器仪表发展的主要方向之一。

而高准确度数字温度计的出现,又使温度计进入了精密标准测量领域。

与此相适应,测量的可靠性、准确性显得越来越重要。

1.2设计目的

(1)巩固加深DS18B20、74HC573了解及认识,提高对模拟电子技术、数字电子技术及单片机等知识的综合运用能力;

(2)激发学生对电子技术知识学习的兴趣,培养学生查阅参考文献,独立思考、设计、钻研电子技术相关问题的能力;

(3)掌握常规电子元器件的性能技术指标;

(4)了解电气图国家标准以及电气制图国家标准,并利用绘图软件protel正确绘制电路图;

(5)通过数字式温度传感器测温,将电路设计为测温范围为0℃~+99.9℃,精确到十分位,具备3位数值显示功能的数字温度表,温度计实时显示当前室温或待测物温度。

总而言之,此次课程设计的目的就是提高学生对本专业的认识和理解,同时提高学生自我学习和思考的能力。

1.3设计方案

原理框图如图1.3:

图1.3原理框图

该方案的各部分电源均由总电源供电,51单片机作为中央处理器及控制核心,控制数字温度表采集温度,数字温度传感器在采集到温度后直接输出数字量,传给单片机进行处理,单片机将传回的二进制数据处理后转换为相应温度,由译码显示电路以十进制形式显示在数码管上。

本方案的难点主要是单片机程序编制,但其硬件电路相对简单,借助于微控制器的强大功能可使设计周期缩短,测量精度高,且易于扩展功能,增强了电路对各种工作要求的适应性。

数字式温度传感器和单片机起着主导作用,单片机控制传感器测温并将其传回的数据进行处理,通过改变程序,可改变测量精度及电路的功能,可实现设计要求。

第二章单元模块设计

本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。

2.1各单元模块功能介绍及电路设计

2.1.1电源电路

电源电路的种类繁多,如变压器降压;桥式整流全波整流;LC、RC滤波;三端稳压器稳压等。

具体采用什么电路合适,则根据主体电路及执行机构不同和可靠、价廉、有效益等要求进行选用。

电源的设计结构如下:

图2.1.1a电源电路框图

图2.1.1b电源部分连线图

电源电路中,CON1口接入经变压器降压的低压交流电,二极管D1、D2、D3、D4组成桥式整流电路,三端稳压器LM7805稳压,稳压后再进行一次滤波,发光二极管D5与电阻R1构成电源工作指示电路,R1起限流作用。

作为滤波电容的C1、C2、C3、C4取值均来自LM7805器件资料中典型应用电路。

电路通过CON2口输出稳定+5V供给整个系统。

2.1.2中央处理电路

图2.1.2中央处理电路

中央处理电路主要由时钟振荡电路,复位电路及STC89C52单片机构成,其中RP1为10kΩ的排阻,作为单片机P0口的上拉电阻。

中央处理电路控制数字温度传感器进行测温并对传回的数据进行处理,再控制显示电路将测得温度显示在数码管上。

2.1.3测温电路

图2.1.3测温电路

测温电路主要由数字温度传感器DS18B20构成。

DS18B20使用外部电源Vcc故其3脚接Vcc,I/O口2脚通过信号线与单片机相连,I/O口线要接5KΩ左右的上拉电阻。

测温电路完成温度的测量,将测得温度以二进制数据形式反馈给单片机进行处理。

2.1.4显示电路

图2.1.4显示电路

显示电路主要由74HC573锁存器及七段共阴数码管构成,实现数码管对测得温度值的动态显示。

74HC573桥接单片机和数码管,按程序锁存单片机输出的数码管段选及位选控制信号,与数码管共同实现数码管动态显示功能。

2.2电路参数的计算及元器件的选择

2.2.1电源电路

考虑到实用性及稳定性,电源采用变压器降压,三端稳压器稳压的线性直流电源。

根据输入电压、二极管的反向击穿电压、最大整流电流及惯例选择1N4007作为整流二极管,根据LM7805元件资料上给出的典型应用电路决定滤波电容容值:

C1=3300uf、C2=0.22uf、C3=470uf、C4=0.1uf。

2.2.2中央处理电路

考虑到功能、成本及自身的知识储备,我选择了价格低廉、功能相对强大的51系列单片机STC89C52作为中央处理电路的处理器。

中央处理电路主要由STC89C52单片机、时钟振荡电路及复位电路构成。

时钟振荡电路及复位电路的元件选择均根据资料,无需计算。

2.2.3测温电路

测温电路主要由数字温度计DS18B20构成,据其元件资料其数据端的上拉电阻应取5kΩ左右,取标称值4.7kΩ。

2.2.4显示电路

考虑到成本、实用性及可操作性显示电路部分的锁存器选择数电课堂中介绍过的74HC573,数码管选择七段共阴数码管。

2.3特殊器件的介绍

2.3.1STC89C52单片机特点及特性

STC89C52单片机具有PDIP,TQFP和PLCC三种封装形式。

设计中采用的是PDIP封装,其引脚排列如图2.3.1所示。

STC89C52单片机有40个引脚,具有如下特性:

片内程序存储器含有4KB的Flash存储器,允许在线编程,擦写周期可达1000次;片内数据存储器内含128字节的RAM;I/O口具有32根可编程I/O线;具有两个16位I/O线;中断系统具有6个中断源、5个终端矢量、2个中断优先级的中断结构;串行口是一个全双工的串行通信口;具有两个数据指针DPTR0和DPTR1;低功耗节电模式有节电模式和掉电模式;包含3级程序锁定位;STC89C52的电源电压为4.0-5.5V,STC89C52的电源电压为2.7-4.0V;振荡器频率0-33MHz(STC89C52);具有片内看门狗定时器;灵活的在线片内编程模式(字节和页编程模式);具有断电标志模式POF。

STC89C52引脚功能如下:

--P0口——8位、开漏极、双向I/O口。

--P1口——8位、双向I/O口、内部含有行拉电阻。

--P2口——8位、双向I/O口、内部含有行拉电阻。

--P3口——8位、双向I/O口、内部含有行拉电阻。

P3口除了通用I/O功能外,还有替代功能。

图2.3.1STC89C52单片机引脚图

2.3.2DS18B20产品的特点

(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55℃到+125℃之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

2.3.3DS18B20的引脚介绍

TO-92封装的DS18B20的引脚排列见图2.3.2.2a,其引脚功能描述见表2.3.2.2b。

图2.3.2.2DS18B20底视图

序号

名称

引脚功能描述

1

GND

地信号

2

DQ

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

表2.3.2.2bDS18B20详细引脚功能描述

2.3.4DS18B20的使用方法

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

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

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

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

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

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

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

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

DS18B20的复位时序

(1)、先将数据线置高电平“1”。

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

(3)、数据线拉到低电平“0”。

(4)、延时750us(该时间的时间范围可以从480到960us)。

(5)、数据线拉到高电平“1”。

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

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

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

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

DS18B20的读时序

(1)、将数据线拉高“1”。

(2)、延时2us。

(3)、将数据线拉低“0”。

(4)、延时15us。

(5)、将数据线拉高“1”。

(6)、延时15us。

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

(8)、延时30us。

DS18B20的写时序

(1)、数据线先置低电平“0”。

(2)、延时确定的时间为15us。

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

(4)、延时时间为45us。

(5)、将数据线拉到高电平。

(6)、重复上

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

(7)、最后将数据线拉高。

DS18B20数据输出与对应温度关系

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

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

23

22

21

20

2-1

2-2

2-3

LSB

2-4

MSbLSb

S

S

S

S

S

26

25

MSB

24

表2.3.2.3aDS18B20温度值格式表

温度/℃

二进制表示

十六进制表示

+125

0000011111010000

07D0H

+85

0000010101010000

0550H

+25.0625

0000000110010000

0191H

+10.125

0000000010100001

00A2H

+0.5

0000000000000010

0008H

0

0000000000001000

0000H

-0.5

1111111111110000

FFF8H

-10.125

1111111101011110

FF5EH

-25.0625

1111111001101111

FE6FH

-55

1111110010010000

FC90H

 

表2.3.2.3bDS18B20温度对应值表

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

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

 

2.3.574HC573介绍

74HC573为八进制三态输出透明D锁存器阵列,其引脚排列见图2.3.3a,其中

为输出使能端,LE为锁存使能端,1D—8D为数据输入端,1Q—8Q为数据输出端,逻辑功能见表2.3.3b。

74HC573内部共有八路D锁存器,每一路的逻辑图见图2.3.3c。

图2.3.3a74HC573引脚图

输入

输出

Q

LED

LHH

LHL

LLX

HLX

H

L

Q0

Z

表2.3.3b74HC573功能表(每一路锁存器,表中Z为高阻抗)

图2.3.3c74HC573逻辑图

2.4各单元模块的联接

详见附录一

第三章系统调试

3.1系统单片机程序的调试

主要用keilC51进行单片机程序的调试,根据调试框提示改进程序。

3.1.1调试目的

使单片机程序C语言源代码能够正常运行。

3.1.2调试结果

当程序无错误时,就可以将程序下载到单片机开发板进行实物调试。

3.2系统电路的调试

3.2.1调试方法

将程序下载到WEE-51单片机开发板进行实物调试。

3.2.2调试结果

将单片机开发板通过串口下载线与电脑相连,用STC-ISPV31将程序下载到单片机,经过对程序的修改后得到结果

调试成功,数码管上显示出了精确到十分位的实时温度。

结论

该设计用仿真软件proteus及单片机开发板完美的验证了理论分析结果。

数字温度计是一个用途非常广泛的电路,在很多地方都可以见到它们的身影,如工农业生产、科研、生活中。

我设计的这个数字温度计能动态显示实时温度,示数直观而且通过改进程序最大精度可以达到0.0625℃,具有广阔的应用前景。

通过这次课程设计,我收获颇多。

首先,这次设计过程中我查阅了很多资料,通过查阅各种资料,加深了我对更多理论知识的理解,尤其是对很多元器件、模拟电路和数字电路的理解。

通过这次设计进一步加深了我的团队意识,团队协作是非常重要的。

更重要的是通过这次课程设计,我的自学能力、解决问题的能力得到了深化以及怎样用最有效率的方法让陌生的东西变得熟悉。

不过,这个设计还是有它的不足之处。

由于时间关系,我没有过多发散本设计,设计的功能还过于单一,在今后我准备进一步扩展本设计功能,如超温报警、描绘温度变化曲线趋势等,并采用液晶显示屏显示测量数据,使测得数据更加清晰明了。

心得与体会

在这两周的课程设计实习中,我们做的设计课题是“数字式温度表”。

数字温度表是一个用途非常广泛的电路,在很多地方都可以见到它们的身影,如工农业生产、科研、生活中。

我设计的这个数字温度表能动态显示实时温度,示数直观而且通过改进程序最大精度可以达到0.0625℃。

本次的数字温度表设计实践将我们学到的知识应用到了实践,深化了我对数字电路设计和模拟电路的设计,让我们在设计的实践中获得了更多的知识,同时锻炼了我们的动手能力。

学习了理论知识和实践操作,我们不仅仅得到的事课本上的东西,更重要的是我们通过自己的亲自动手,还有老师和同学的耐心指导,让我们知道了分析电路、设计电路的步骤以及计算机软件辅助等。

在实验中涉及到了二极管、三端稳压器、电容、锁存器、数码管等的使用,加深了我对模拟电路,数字电路的理解,同时加深了我对几种元件的使用的认识。

设计一开始不知道如何下手,经过广泛的查阅资料,我找到了很多有用的信息,为我的设计带来了很多方便。

通过这个设计让我得到了很多,很多事情做不做得好是回事,关键是自己要亲自去实践,亲自动手做,要善于思考总结。

我自知这次的设计有很多不足之处,尽管我们很努力,但效果却不是很好,平时很多东西学得也不是很透彻,我觉得做课程设计从每一个细节都在锻炼着我们。

通过这次课程设计,我收获颇多,我深切体会到了把知识转换为实践的快乐。

参考文献

[1]彭介华.电子技术课程设计指导[M].北京:

高等教育出版社.2006

[2]电子技术基础——模拟部分[M].第五版.北京:

高等教育出版社,2006

[3]电子技术基础——数字部分[M].第五版.北京:

高等教育出版社,2006

[4]贾更新.电子技术基础实验设计与仿真[M].郑州:

郑州大学出版社,2006,10

[5]谭浩强,C程序设计[M].第3版.北京:

清华大学出版社2005,7

[6]求是科技,8051系列单片机C程序设计完全手册[M].北京:

人民邮电出版社,2006,4

[7]张毅刚等,MCS-51单片机应用设计[M].第2版.哈尔滨:

哈尔滨工业大学出版社,1997,12

附录1:

系统的电路原理图如下:

附录2:

DS18B20测温子程序

voiddsreset(void)//发送DS18B20复位与初始化命令

{

uinti;

DS=0;

i=103;

while(i>0)i--;

DS=1;

i=4;

while(i>0)i--;

}

bittmpreadbit(void)//读一位数据

{

uinti;

bitdat;

DS=0;i++;//i++用于延时

DS=1;i++;i++;

dat=DS;

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

return(dat);

}

uchartmpread(void)//读一字节数据

{

uchari,j,dat;

dat=0;

for(i=1;i<=8;i++)

{

j=tmpreadbit();

dat=(j<<7)|(dat>>1);//读出的数据最低位在最前面,这样刚好一个字节在DAT里

}

return(dat);

}

voidtmpwritebyte(uchardat)//写一字节到DS18B20

{

uinti;

ucharj;

bittestb;

for(j=1;j<=8;j++)

{

testb=dat&0x01;

dat=dat>>1;

if(testb)//写1

{

DS=0;

i++;i++;

DS=1;

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

}

else

{

DS=0;//写0

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

DS=1;

i++;i++;

}

}

}

voidtmpchange(void)//DS18B20开始转换

{

dsreset();

delay

(1);

tmpwritebyte(0xcc);//寻址总线上所有的驱动器

tmpwritebyte(0x44);//开始单个温度转化}

u

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

当前位置:首页 > 小学教育 > 其它课程

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

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