简易温度计设计Word文件下载.docx

上传人:b****6 文档编号:8428882 上传时间:2023-05-11 格式:DOCX 页数:21 大小:1.83MB
下载 相关 举报
简易温度计设计Word文件下载.docx_第1页
第1页 / 共21页
简易温度计设计Word文件下载.docx_第2页
第2页 / 共21页
简易温度计设计Word文件下载.docx_第3页
第3页 / 共21页
简易温度计设计Word文件下载.docx_第4页
第4页 / 共21页
简易温度计设计Word文件下载.docx_第5页
第5页 / 共21页
简易温度计设计Word文件下载.docx_第6页
第6页 / 共21页
简易温度计设计Word文件下载.docx_第7页
第7页 / 共21页
简易温度计设计Word文件下载.docx_第8页
第8页 / 共21页
简易温度计设计Word文件下载.docx_第9页
第9页 / 共21页
简易温度计设计Word文件下载.docx_第10页
第10页 / 共21页
简易温度计设计Word文件下载.docx_第11页
第11页 / 共21页
简易温度计设计Word文件下载.docx_第12页
第12页 / 共21页
简易温度计设计Word文件下载.docx_第13页
第13页 / 共21页
简易温度计设计Word文件下载.docx_第14页
第14页 / 共21页
简易温度计设计Word文件下载.docx_第15页
第15页 / 共21页
简易温度计设计Word文件下载.docx_第16页
第16页 / 共21页
简易温度计设计Word文件下载.docx_第17页
第17页 / 共21页
简易温度计设计Word文件下载.docx_第18页
第18页 / 共21页
简易温度计设计Word文件下载.docx_第19页
第19页 / 共21页
简易温度计设计Word文件下载.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

简易温度计设计Word文件下载.docx

《简易温度计设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《简易温度计设计Word文件下载.docx(21页珍藏版)》请在冰点文库上搜索。

简易温度计设计Word文件下载.docx

测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。

本设计能完成的温度测量范围是-55°

C~+125°

C,可以手动校准温度,并能实现报警功能。

2.系统设计

图2-1基于热敏电阻的系统结构框图

2.1由热敏电阻构成的简易温度计

 

传统的测温元件使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计方法需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。

同时,传统的温度计还有反应速度慢、读数麻烦、测量精度不高、误差大等缺点。

所以我们排除了这个方案。

图2-2基于DS18B20的系统结构框图

2.2由DS18B20构成的简易温度计

数字温度计采用智能温度传感器DS18B20作为检测元件,测温范围为-55°

C至+125°

C,最大分辨率可达0.0625°

C。

DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。

基于以上原因,我们采用了这一方案。

3.硬件设计

硬件系统整体功能描述(结合电路图描述)

图3_1数字温度计硬件结构框图

如图3-1:

要实现本系统,需显示电路、扫描驱动电路、DS18B20温度采集电路、主控制电路,单元电路主要包括晶振电路,复位电路,显示电路,DS18B20温度采集电路,扫描驱动电路等。

3.1主要器件介绍

3.1.1DS18B20芯片介绍[2]

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

如图3-2所示:

图3_2DS18B20器件图

DS18B20的主要特点如下:

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

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

3.无须外部器件;

4.可通过数据线供电,电压范围为3.0~5.5V;

5.零待机功耗;

6.温度以9或12位数字;

7.用户可定义报警设置;

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

9.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

DS18B20的测温原理:

器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;

高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。

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

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

图3-3DS18B20测温原理图

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

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

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。

系统对DS18B20的各种操作按协议进行。

操作协议为:

初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

DS18B20有两种供电方式,一种是电源供电,一种是寄生电源供电。

电源供电方式是DS18B20的三脚直接接电源,一脚接地,二脚接单片机P3.4口,将采集到的温度转化成数字信号送到CPU,由CPU进行处理。

寄生电源供电方式的连接方式如下:

图3-4DS18B20的寄生供电方式

3.1.2ULN2003芯片介绍

ULN2003是反向的芯片,管脚1-7作为输入,接单片机引脚,8脚接地,16-10作为输出,9脚接12V电源,基本工作原理:

如果1脚输入高电平1,则16脚输出低电平0,反之一样。

2003的内部是一组达林顿管,你可以理解为放大倍数很高的三极管,你用到的控制极就是其基极,所以,它有0.7V电压就可以工作了。

但一般在使用时,还是要保证提供2V以上,不然可能会不可靠。

51单片机的I/O口(不是P0口),直接和ULN2003连,ULN2003有16个脚共7路驱动.ULN2003的8脚接5V电源地,9脚接+5V电源,因为ULN2003里面有续流二极管从9脚引出.假如你用P1.0驱动一个电机,那么P1.0接ULN2003的1脚,ULN2003的16脚接电机线圈的一端,电机线圈的另一端接+5V电源.P1.0为高电平,电机就转,P1.0为低电平,电机就停.ULN2003驱动电流500MA.。

器件用起来很简单,它是一个不能输出高电平的反相器,就是说你输入高电平的时候,输出低电平,你输入低电平的时候它就成高阻态(就是电阻很大,可以看成短路,这时如果你加上拉电阻的话输出就会拉成高电平)。

图3-4ULN2003芯片

一般的用法就当成电子开关用,就是你输入高电平的时候它相应的端口会输出低电平,而且这个低电平能吸收的电流达500mA。

所以一般就是电机或者其他用电器的一端接ULN2003的输出口(像接了一个开关然后再接到地)。

还有一端接高电平或者电源。

使用的时候就把相应的端口置高电平就会打开开关,让电机形成对地的回路,从而让电机运行;

如果相应的端口为低电平,输出为高阻态,就像断开了对地的开关,从而不形成回路让电机关闭。

在本次实训中ULN2003作为反相驱动使用。

它的芯片框图如下:

3.2单元电路

3.2.1晶振电路

图3-3晶振电路

如图3-3电路中,C3、C4为30pF的电容,Y1为11.0592MHz的晶振。

其中电容C3、C4的作用是稳定频率和快速起振,在电路总体设计中,先从片内程序储存器取指还是从内部程序储存器取指的选择信号。

当EA\Vpp接高电平时,先从片内程序存储器读取指令,读完4KB后,自动改为片外取指。

若EA\Vpp接低电平,则所有指令均从片外程序存储器读取。

ALE脚用于输出允许地址所存信号。

PSEN脚用于外部程序存储器选通信号,在对外部程序存储器取指操作时此引脚置低电平有效。

在执行片内程序存储器取指时PESN脚无效。

本设计无片外程序储存区扩展,所以将EA\Vpp接高电平,ALE及PSEN脚悬空。

图3-4复位电路

3.2.2复位电路

如图3-3所示电路可实现上电复位与手动复位。

手动复位时,按键按下后,RST引脚上会出现10ms以上稳定的高电平,就可以可靠地实现复位功能。

上电复位时,接通电源后,单片机自动实现复位操作。

上点瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平逐渐下降。

只要RST引脚保持两个机器周期的高电平单片机就可以进行复位操作。

3.2.3显示电路

图3-5LED显示电路

为了焊接时电路的美观和电线的不交叉,我们对引脚的排列做了相应的变化,改变后的P2口位码与相对应的二进制数的关系如表3-1:

表3-1P2口位码与对应的二进制表示表

显示:

相应位:

I/O接口

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

B

F

A

E

D

DP

C

G

1

0x5f

0x41

2

0x9d

3

0xd5

4

0xc3

5

0xd6

6

0xde

7

0x45

8

0xdf

9

0xd7

P3口接段码,1H到4H分别接P3.6、P3.5、P3.4、P3.7。

单片机将处理好的数据传送

给LED显示。

3.2.4温度控制电路

图3-6温度控制电路

当采集到的温度与实际温度有偏差时,可以通过按键调节大小,使温度更加趋近真实值,S2每按下一次,温度升高1℃,S3每按下一次,温度降低1℃。

图3-7温度采集电路

3.2.5温度采集电路

DS18B20将采集到的环境温度初步处理后经P3.4口传送给单片机做进一步的处理。

DS18B20是单总线器件,只要接一个上拉电阻就可与单片机连接上。

图3-7报警电路

3.2.6报警电路

报警信号从P3.2口输入,如果温度超过设定温度,LED灯亮,即出现报警信号。

3.2.7端口配置

以上各单元电路的端口配置见表3-2:

表3-2单片机端口配置表

编号

端口配置

输入\输出

功能描述

P2.0~P2.7

输出

LED数码段码

P3.0

LED数码管位码4H

P3.1

LED数码管位码1H

P3.2

LED数码管位码2H

P3.3

P3.4

输入

DS18B20传感信号

P3.5

LED报警灯

P3.6

按键控制

P3.7

3.3器件清单

表3-2主要器件清单

名称

型号/参数

数量

备注

万能板

5cm*7cm

集成电路

AT89S51

集成电路插座

DIP40

电阻

1K

100

瓷片电容

104

30pF

电解电容

10uF/16V

红色发光二极管

LED

接插件

CON2

10

IDC10

11

双排针8*2

HEADER8X2

12

微动按钮

SW

13

晶振

11.0592MHz

 

14

MAX232ESE

*

15

DIP16

16

电容

1uF

17

DB9

18

LED数码管(四合一)

共阴极

1 

19

5K 

3 

20

集成电路 

ULN2003L 

21

插槽 

DIP16 

22

温度采集芯片 

DS18B20 

4.软件设计

图4-1软件功能模块图

如图4-1系统软件功能包括:

一共有3个组成模块,主要由DS18B20进行温度的采集转换,温度显示的范围为-55~125摄氏度,由LED数码管进行显示,可以通过按键调整LED数码管显示的数值,精度调整为0.1,按键1为上升调整,按键2为下降调整。

4.1软件功能模块划分

4.1.1DS18B20的温度的采集和测量

图4-2温度测量程序流程图

如图4-2流程图中,首先进行初始化DS18B20,对其复位,加入一些延时,判断复位不成功则重新复位,若成功就写ROM命令0xCC跳过ROM匹配写ROM命令0x44启动温度转换,其次加入复位延时,再写ROM命令0xCC跳过ROM匹配,写ROM命令0XBE进行读温度,然后将转换的温度值从RAM中读出。

核心源码分析:

//读取温度

intRead_Temperature(void)

{

unsignedchari=0;

unsignedcharcrc_data=0;

union

{

bytec[2];

intx;

}temp;

ow_reset();

write_byte(0xCC);

//跳过ROM匹配

write_byte(0xBE);

//写ROM命令(开始进行温度转化)

for(i=0;

i<

9;

i++)

temp_buf[i]=read_byte();

crc_data=crc_table[crc_data^temp_buf[i]];

}

if(crc_data==0)

temp.c[1]=temp_buf[0];

temp.c[0]=temp_buf[1];

//跳过ROM匹配

write_byte(0x44);

//写ROM命令(读温度)

returntemp.x;

}

4.1.2LED数码显示

图4-3LED数码显示程序流程图

如图4-3流程图中,首先对位码和段码进行定义,根据位码判断所要显示的数码管,然后进行显示。

(为了方便硬件电路的焊接,段码没有按通用顺序焊接,具体焊接见表3-2)

图4-3按键校准程序流程图

4.1.3按键校准

如图4-3流程图中,首先判断有无按键按下,若无按键则不执行程序直接结束,若有

按键按下判断是否为按键1按下,若是则温度增加0.1,若不是按键1按下则为按键2按下温度减少0.1。

voidpanduan_ud(void)

if(up==0)

{while(up==0&

&

down==1);

count1++;

temp+=count1;

if(down==0)

while(down==0&

up==1);

count1--;

5.系统调试

5.1硬件调试

硬件调试用到了万用表,示波器等工具,主要检查电路是否接通等基础问题。

在硬件调试的过程中,由于焊接经验的不足和对实训内容的不完全掌握,我们出现了不少大大小小问题,具体分析如下:

1.虚焊:

电路板上有一些引脚看似焊上去了,但其实没焊劳,导致焊接处电阻增大,CPU这些引脚电压在2~3V之间,使得电压不足,LED灯亮度不够。

2.CPU电源指示LED灯烧掉:

因为电源的保护电阻在焊接时不小心短路了,导致LED两端电压过高而烧掉。

这个问题一直没有检查出来,直到烧掉了两个电阻后把电路板拆开后才发现问题。

这提醒了我们在以后的焊接过程中细节很重要,锡稍微多一点就会出问题。

并且这些问题基本检查不出来。

3.接地:

电路板四周的地不是连通的,要全部接起来才可以实现接地功能。

4.漏接导线:

开始测试时电源有一段不通,其他的完好,通过万用表检测后发现少连一根导线到电源。

5.位码与段码的排列:

因为我们要使后面的排线尽量简单,所以在接位码和段码时,我们更改了连接方式,没有按顺序连,编程时就出现了很多问题,对着电路板研究了很久才搞定。

6.DB18B20芯片接入:

DB18B20芯片的引脚再接入电路时出现了引脚排列错误的问题,原因是在网上寻找这种芯片时,错误的理解了看的方向。

我们是从上面往下俯视的,而书上标注的引脚是从下往上看的。

7.数码管的LED较暗:

电压不够,数码管驱动不足。

硬件电路连接如图5-1,5-2:

图5-1实物图

图5-2实物背面图

5.2软件调试

软件开发环境采用STVisualDevelopVersion4.1.4,界面见图5-3。

开发步骤包括编辑、编译、连接、下载运行等步骤。

图5-3软件开发环境界面图

图5-4USBISP开发工具图

开发工具采用如图5-4所示的USBISP,采用USB方式进行下载与调试。

5.3设计效果

烧入程序后,实现对实时温度的采集和转化,加入了按键校准功能,对于温度变化有较快的反应。

系统实物与运行效果图间图5-5

图5-5系统实物与运行效果图

结束语

本次的课程设计中,我们设计了基于DS18B20的简易温度计,在这一周的时间内,我们进一步巩固了书本上的知识,做到了学以致用。

这是我们第二次自己动手设计的电路,通过系统仿真软件protues和编译软件keil,使我们进一步了解了单片机的设计制作过程,其中最大四位问题是硬件电路的设计与实现,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不能实现,如温度上下限设置。

在焊接的过程中,因为老师要求不止于功能的实现,还要求美观,这就导致了我们不断地在否定方案,直到找到我们所能达到的最简连接方法才动手焊接。

而且由于实际实际动手能力较差,使得我们电路板上的焊点不是非常美观,但我们真的尽力了。

在焊接时我们还出现了像烧掉发光二极管之类的错误。

错误原因包括了像选用了错误的电阻等。

软件方面由于SmartDrawProfessional软件和AltiumDesigner软件的运用不很熟练,花费了大量的时间熟悉它们的应用,今后应该在这方面多多努力。

总结经验的时候我们得出这样的结论,学习应该学以致用,有目的的去学习,如果学了不用等于没学。

其次,要学以致用,理论联系实际,这样才会取得事半功倍的效果。

设计达到的效果包括实时温度的显示,温度的校准,复位,温度过高时报警等。

实验中由于时间和精力的关系,原本设想的功能还有通过按键实现摄氏温度到华氏温度的切换,报警系统中没有加入蜂鸣器等。

参考文献

[1]陈立元,范逸之,廖锦棋.VisualBasic2005与自动化系统监控[M].北京:

清华大学出版社.2008

[2]吴银琴,陈锟.51单片机实践教程[M].北京:

科学出版社.2011

[3]谢宜仁,谢炜,谢东辰.单片机实用技术问答[M].北京:

人民邮电出版社.2003

[4]夏继强,沈德金,邢春香.单片机实验与实验教程[M].北京:

航空航天大学出版社.2006

[5]李广飞,李良儿,楼然苗.单片机C程序设计实例指导[M].北京:

航空航天大学出版社.2005

课程设计独创性声明:

我们郑重承诺,这次实训的所有相关内容都是我们自主完成,包括硬件设计,软件编程,报告书写,以及整个调试过程。

期间参考了大量的书籍并请教了他人,最终顺利完成了实训。

谢谢老师和同学的指导和帮助。

学生签名:

年月日

指导教师评语:

学生:

成绩:

指导教师签名:

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2