ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.83MB ,
资源ID:5499832      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5499832.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易温度计设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简易温度计设计.docx

1、简易温度计设计 目 录1.概述 12.系统设计 22.1 由热敏电阻构成的简易温度计 22.2 由DS18B20构成的简易温度计 23.硬件设计 33.1主要器件介绍 33.1.1 DS18B20 芯片介绍2 33.1.2 ULN2003芯片介绍 53.2 单元电路 63.2.1晶振电路 63.2.2复位电路 73.2.3 显示电路 73.2.4 温度控制电路 83.2.5 温度采集电路 93.2.6 报警电路 93.2.7 端口配置 93.3 器件清单 104.软件设计 114.1 软件功能模块划分 114.1.1 DS18B20的温度的采集和测量 114.1.2 LED数码显示 134.1

2、.3 按键校准 135.系统调试 155.1 硬件调试 155.2 软件调试 175.3 设计效果 17结束语 18参考文献 191.概述这次课程设计的主要内容是基于DS18B20的简易温度计的设计。它的基本思路是采用DS18B20采集温度,并将采集到的温度传送给单片机AT89S52并通过数码管显示出来。这次设计所采用的主要元件有传感器DS18B20,单片机AT89S52,四合一的共阴极数码管,ULN2003的反向驱动,电容电阻若干。本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共

3、阴极数码管,用来显示温度;传感器部分,即温度传感器DS18B20,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是-55C+125C,可以手动校准温度,并能实现报警功能。2.系统设计图2-1 基于热敏电阻的系统结构框图2.1 由热敏电阻构成的简易温度计传统的测温元件使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计方法需要比较多的外

4、部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。同时,传统的温度计还有反应速度慢、读数麻烦、测量精度不高、误差大等缺点。所以我们排除了这个方案。图2-2基于DS18B20的系统结构框图2.2 由DS18B20构成的简易温度计数字温度计采用智能温度传感器DS18B20作为检测元件,测温范围为-55C至+125C,最大分辨率可达0.0625C。DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。基于以上原因,我们采用了这一方案。3.硬件设计硬件系统整体功能描述(结合电路图描述)图3_1 数字温度计硬件结构框图如图3-1:要实现本

5、系统,需显示电路、扫描驱动电路、DS18B20温度采集电路、主控制电路,单元电路主要包括晶振电路,复位电路,显示电路,DS18B20温度采集电路,扫描驱动电路等。3.1主要器件介绍3.1.1 DS18B20 芯片介绍2DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。如图3-2所示:图3_2 DS18B20器件图DS18B20的主要特点如下:1. 独特的单线接口仅需要一个端口引脚进行通信;2多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

6、3. 无须外部器件;4. 可通过数据线供电,电压范围为3.05.5;5. 零待机功耗;6. 温度以或位数字;7. 用户可定义报警设置;8. 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9. 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20的测温原理:器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的

7、开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。图3-3 DS18B20测温原理图减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由

8、于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。DS18B20有两种供电方式,一种是电源供电,一种是寄生电源供电。电源供电方式是DS18B20的三脚直接接电源,一脚接地,二脚接单片机P3.4口,将采集到的温度转化成数字信号送到CPU,由CPU进行处理。寄生电源供电方式的连接方式如下:图3-4 DS18B20的寄生供电方式3.1.2 ULN2003芯片介绍ULN2003是反向的芯片,管脚1-7作为输入,接单片机引脚,8脚接地,16-1

9、0作为输出,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脚接电机线圈的一端,电机线圈的另一端

10、接+5V电源.P1.0为高电平,电机就转,P1.0为低电平,电机就停.ULN2003驱动电流500MA.。器件用起来很简单,它是一个不能输出高电平的反相器,就是说你输入高电平的时候,输出低电平,你输入低电平的时候它就成高阻态(就是电阻很大,可以看成短路,这时如果你加上拉电阻的话输出就会拉成高电平)。图3-4 ULN2003芯片一般的用法就当成电子开关用,就是你输入高电平的时候它相应的端口会输出低电平,而且这个低电平能吸收的电流达500mA。所以一般就是电机或者其他用电器的一端接ULN2003 的输出口(像接了一个开关然后再接到地)。还有一端接高电平或者电源。使用的时候就把相应的端口置高电平就会

11、打开开关,让电机形成对地的回路,从而让电机运行;如果相应的端口为低电平,输出为高阻态,就像断开了对地的开关,从而不形成回路让电机关闭。在本次实训中ULN2003作为反相驱动使用。它的芯片框图如下:3.2 单元电路3.2.1晶振电路图3-3 晶振电路 如图3-3 电路中,C3、C4为30pF的电容,Y1为11.0592MHz的晶振。其中电容C3、C4的作用是稳定频率和快速起振,在电路总体设计中,先从片内程序储存器取指还是从内部程序储存器取指的选择信号。当EAVpp接高电平时,先从片内程序存储器读取指令,读完4KB后,自动改为片外取指。 若EAVpp接低电平,则所有指令均从片外程序存储器读取。AL

12、E脚用于输出允许地址所存信号。PSEN脚用于外部程序存储器选通信号,在对外部程序存储器取指操作时此引脚置低电平有效。在执行片内程序存储器取指时PESN脚无效。本设计无片外程序储存区扩展,所以将EAVpp接高电平,ALE及PSEN脚悬空。图3-4 复位电路3.2.2复位电路如图3-3所示电路可实现上电复位与手动复位。手动复位时,按键按下后,RST引脚上会出现10ms以上稳定的高电平,就可以可靠地实现复位功能。上电复位时,接通电源后,单片机自动实现复位操作。上点瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平逐渐下降。只要RST引脚保持两个机器周期的高电平单片机就可以进行复位操作。3.

13、2.3 显示电路图3-5 LED显示电路为了焊接时电路的美观和电线的不交叉,我们对引脚的排列做了相应的变化,改变后的P2口位码与相对应的二进制数的关系如表3-1:表3-1 P2口位码与对应的二进制表示表显示:相应位:I/O接口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0BFAEDDPCG0111110100x5f1100000100x412101110010x9d3101010110xd54110000110xc35011010110xd66011110110xde7101000100x458111110110xdf9111010110xd7P3口接段码,1H到4H分别接P

14、3.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 端口配置以上各单元电路的

15、端口配置见表3-2:表3-2单片机端口配置表编号端口配置输入输出功能描述1P2.0P2.7输出LED数码段码2P3.0输出LED数码管位码4H3P3.1输出LED数码管位码1H4P3.2输出LED数码管位码2H5P3.3输出LED数码管位码2H6P3.4输入DS18B20传感信号7P3.5输出LED报警灯8P3.6输出按键控制9P3.7输出按键控制3.3 器件清单表3-2 主要器件清单编号名称型号/参数数量备注0万能板5cm*7cm1集成电路AT89S5112集成电路插座DIP4013电阻1K44电阻10015瓷片电容10436瓷片电容30pF27电解电容10uF/16V18红色发光二极管LE

16、D29接插件CON2210接插件IDC10311双排针 8*2HEADER 8X2412微动按钮SW313晶振11.0592MHz114集成电路MAX232ESE1*15集成电路插座DIP161*16电容1uF4*17接插件DB91*18LED数码管(四合一)共阴极119电阻5K320集成电路ULN2003L121插槽DIP16122温度采集芯片DS18B2014.软件设计图4-1 软件功能模块图如图4-1 系统软件功能包括:一共有3个组成模块,主要由DS18B20进行温度的采集转换,温度显示的范围为-55125摄氏度,由LED数码管进行显示,可以通过按键调整LED数码管显示的数值,精度调整为

17、0.1,按键1为上升调整,按键2为下降调整。4.1 软件功能模块划分4.1.1 DS18B20的温度的采集和测量图4-2 温度测量程序流程图如图4-2流程图中,首先进行初始化DS18B20,对其复位,加入一些延时,判断复位不成功则重新复位,若成功就写ROM命令0xCC跳过ROM匹配写ROM命令0x44启动温度转换,其次加入复位延时,再写ROM命令0xCC跳过ROM匹配,写ROM命令0XBE进行读温度,然后将转换的温度值从RAM中读出。核心源码分析:/读取温度int Read_Temperature(void) unsigned char i=0; unsigned char crc_data=

18、0; union byte c2; int x; temp; ow_reset(); write_byte(0xCC); / 跳过 ROM匹配 write_byte(0xBE); / 写ROM命令(开始进行温度转化) for(i=0;i9;i+) temp_bufi=read_byte(); crc_data=crc_tablecrc_datatemp_bufi; if(crc_data=0) temp.c1=temp_buf0; temp.c0=temp_buf1; ow_reset(); write_byte(0xCC); /跳过 ROM匹配 write_byte(0x44); /写ROM

19、命令(读温度) return temp.x;4.1.2 LED数码显示图4-3 LED数码显示程序流程图如图4-3流程图中,首先对位码和段码进行定义,根据位码判断所要显示的数码管,然后进行显示。(为了方便硬件电路的焊接,段码没有按通用顺序焊接,具体焊接见表3-2)图4-3 按键校准程序流程图4.1.3 按键校准如图4-3流程图中,首先判断有无按键按下,若无按键则不执行程序直接结束,若有按键按下判断是否为按键1按下,若是则温度增加0.1,若不是按键1按下则为按键2 按下温度减少0.1。核心源码分析:void panduan_ud(void) if(up=0) while(up=0&down=1)

20、; count1+; temp+=count1; if(down=0) while(down=0&up=1); count1-; 5.系统调试 5.1 硬件调试硬件调试用到了万用表,示波器等工具,主要检查电路是否接通等基础问题。在硬件调试的过程中,由于焊接经验的不足和对实训内容的不完全掌握,我们出现了不少大大小小问题,具体分析如下:1.虚焊:电路板上有一些引脚看似焊上去了,但其实没焊劳,导致焊接处电阻增大,CPU这些引脚电压在23V之间,使得电压不足,LED灯亮度不够。2.CPU电源指示LED灯烧掉:因为电源的保护电阻在焊接时不小心短路了,导致LED两端电压过高而烧掉。这个问题一直没有检查出来

21、,直到烧掉了两个电阻后把电路板拆开后才发现问题。这提醒了我们在以后的焊接过程中细节很重要,锡稍微多一点就会出问题。并且这些问题基本检查不出来。3.接地:电路板四周的地不是连通的,要全部接起来才可以实现接地功能。4.漏接导线:开始测试时电源有一段不通,其他的完好,通过万用表检测后发现少连一根导线到电源。5.位码与段码的排列:因为我们要使后面的排线尽量简单,所以在接位码和段码时,我们更改了连接方式,没有按顺序连,编程时就出现了很多问题,对着电路板研究了很久才搞定。6. DB18B20芯片接入:DB18B20芯片的引脚再接入电路时出现了引脚排列错误的问题,原因是在网上寻找这种芯片时,错误的理解了看的

22、方向。我们是从上面往下俯视的,而书上标注的引脚是从下往上看的。7.数码管的LED较暗:电压不够,数码管驱动不足。硬件电路连接如图5-1,5-2:图5-1 实物图图5-2 实物背面图5.2 软件调试软件开发环境采用ST Visual Develop Version 4.1.4,界面见图5-3。开发步骤包括编辑、编译、连接、下载运行等步骤。图5-3 软件开发环境界面图图5-4 USB ISP开发工具图开发工具采用如图5-4所示的USB ISP,采用USB方式进行下载与调试。5.3 设计效果烧入程序后,实现对实时温度的采集和转化,加入了按键校准功能,对于温度变化有较快的反应。系统实物与运行效果图间图

23、5-5图5-5系统实物与运行效果图结束语本次的课程设计中,我们设计了基于DS18B20的简易温度计,在这一周的时间内,我们进一步巩固了书本上的知识,做到了学以致用。这是我们第二次自己动手设计的电路,通过系统仿真软件protues和编译软件keil,使我们进一步了解了单片机的设计制作过程,其中最大四位问题是硬件电路的设计与实现,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不能实现,如温度上下限设置。在焊接的过程中,因为老师要求不止于功能的实现,还要求美观,这就导致了我们不断地在否定方案,直到找到我们所能达到的最简连接方法才动手焊接。而且由于实际实际动手能力较差,使得我们电路板上的焊

24、点不是非常美观,但我们真的尽力了。在焊接时我们还出现了像烧掉发光二极管之类的错误。错误原因包括了像选用了错误的电阻等。软件方面由于SmartDraw Professional软件和Altium Designer软件的运用不很熟练,花费了大量的时间熟悉它们的应用,今后应该在这方面多多努力。总结经验的时候我们得出这样的结论,学习应该学以致用,有目的的去学习,如果学了不用等于没学。其次,要学以致用,理论联系实际,这样才会取得事半功倍的效果。设计达到的效果包括实时温度的显示,温度的校准,复位,温度过高时报警等。实验中由于时间和精力的关系,原本设想的功能还有通过按键实现摄氏温度到华氏温度的切换,报警系统

25、中没有加入蜂鸣器等。 参考文献1陈立元,范逸之,廖锦棋.Visual Basic2005与自动化系统监控M.北京:清华大学出版社.2008 2吴银琴,陈锟.51单片机实践教程M.北京:科学出版社.20113谢宜仁,谢炜,谢东辰.单片机实用技术问答M.北京:人民邮电出版社.20034夏继强,沈德金,邢春香.单片机实验与实验教程M.北京:航空航天大学出版社.20065李广飞,李良儿,楼然苗.单片机C程序设计实例指导M. 北京:航空航天大学出版社.2005课程设计独创性声明:我们郑重承诺,这次实训的所有相关内容都是我们自主完成,包括硬件设计,软件编程,报告书写,以及整个调试过程。期间参考了大量的书籍并请教了他人,最终顺利完成了实训。谢谢老师和同学的指导和帮助。学生签名: 、 、 年 月 日 指导教师评语:学生: 成绩: 学生: 成绩: 学生: 成绩: 学生: 成绩: 指导教师签名:

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

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