欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

单片机实验报告-温度计

  • 资源ID:65915794       资源大小:285.91KB        全文页数:13页
  • 资源格式: DOCX        下载积分:20积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要20积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

单片机实验报告-温度计

-成绩:滨江学院单片机原理及应用实验工程温度计DS18B20院系滨江学院电子工程系专业信息工程学生马骏*二零一七年十一月十八日一、实验目的1.1实验意义在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。其缺点如下: 硬件电路复杂; 软件调试复杂; 制作本钱高。本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温围为-55125,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低本钱和易使用的热点。1.2功能要求设计出的DS18B20数字温度计测温围在-55125,误差在±0.5以,采用LED数码管直接读显示。二、实验硬件2.1方案设计按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路构造框图如以下图:AT89C2051主控制器DS18B20显示电路扫描驱动2.2硬件设计温度计电路设计原理图如以下图所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,使用四位共阳LED数码管以动态扫描法实现温度显示2.3主控制器单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用。系统可用两节电池供电。AT89C2051的引脚图如以下图所示:1、VCC:电源电压。2、GND:地。3、P1口:P1口是一个8位双向I/O口。口引脚P1.2P1.7提供部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片精细模拟比较器的同相输入(ANI0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P1口引脚写入“1时,其可用作输入端,当引脚P1.2P1.7用作输入并被外部拉低时,它们将因部的写入“1时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因部的上拉电阻而流出电流。4、P3口:P3口的P3.0P3.5、P3.7是带有部上拉电阻的七个双向I/O口引脚。P3.6用于固定输入片比较器的输出信号并且它作为一通用I/O引脚而不可。P3口缓冲器可吸收20mA电流。当P3口写入“1时,它们被部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口脚将用上拉电阻而流出电流。5、RST:复位输入。RST一旦变成高电平所有的I/O引脚就复位到“1。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6、*TAL1:作为振荡器反相器的输入和部时钟发生器的输入。7、*TAL2:作为振荡器反相放大器的输出。2.4总线驱动器 74LS24474LS244为3态8位缓冲器,一般用作总线驱动器。引脚图如以下图。2.5显示电路显示电路采用4位共阳极LED数码管,从P1口输出段码,列扫描用P3.0P3.3口来实现,列驱动用8055三极管。2.6温度传感器 DS18B20DS18B20的性能特点:1、适应电压围更宽,电压围:3.05.5V,在寄生电源方式下可由数据线供电。2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。5、温围55+125,在-10+85时精度为±0.5。6、可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。7、在9位分辨率时最多在 93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快。8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20与单片机的接口电路引脚图见右图DS18B20可以采用电源供电方式,此时DS18B20的第1 脚接地,第2脚作为信号线,第3脚接电源。三、软件设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。3.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1s进展一次。主程序流程图如以下图。3.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。在读出时必须进展CRC校验,校验有错时不能进展温度数据的改写。读出温度子程序流程图如以下图所示:读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进展CRC校验,校验有错时不进展温度数据的改写。得出温度子程序流程图如以下图所示。3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开场命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如以下图所示。计算温度子程序计算温度子程序将RAM中读取值进展BCD码的转换运算,并进展温度值正负的判定。计算温度子程序流程图如下左图所示.现实数据刷新子程序现实数据刷新子程序主要是对显示缓冲器中的显示数据进展刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。现实数据刷新子程序流程图如下右图所示.四、实验操作过程系统的调试以程序调试为主。硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进展硬件的正确性检验,然后分别进展主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进展读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。本程序采用单片机汇编或C语言编写用Wave3.2或Keil C51编译器编程调试。软件调试到能显示温度值,并且在有温度变化时显示温度能改变,救根本完成。56.性能测试可用制作的温度机和已有的成品温度计同时进展测量比较。由于DS18B20的精度很高,所以误差指标可以限制在0.5以。另外,-55+125的测温围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持温度计。DS18B20温度计还可以在上下温报警、远距离多点测温控制等方面进展应用开发,但在实际设计中应注意以下问题;1、DS18B20工作时电流高大1.5mA,总线上挂接点数较多且同时进展转换时要考虑增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET供电。2、连接DS18B20的总线电缆是有长度限制的,因此在用DS18B20进展长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配等问题。3、在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号。一旦*个DS18B20接触不好或断线,当程序读DS18B20时,将没有返回信号,程序进入死循环。这一点在进展DS18B20硬件连接和软件设计时要给予一定的重视。五、实验现象六、实验总结本次课程设计即将进入尾声,回想这两周来的电子设计制作经历,我感触甚是深刻。通过本次课程设计,使我对电子设计及制作产生了较为浓厚的兴趣,这不仅加强了自己对理论知识的理解和稳固,还能提高自己的动手能力,可以说受益匪浅。当然更重要的是,激起了我学好单片机的斗志。本次课程设计主要分为四局部:设计、仿真、调试。这三个步骤在整个课程设计过程中起着重要的作用。本次毕业设计是针对MCS-52系列的单片机芯片STC89C52来设计一个数字温度计,该设计充分利用了温度传感器DS18B20功能强大的优点,如DS18B20可以直接读出被测温度值,进展转换;而且采用三线制与单片机相连,减少了外部的硬件电路,具有低本钱和易使用的特点,大大简化了硬件电路,也使得该数字温度计不仅具有构造简单、本钱低廉、准确度较高、反响速度较快、数字化显示和不易损坏等特点,而且性能稳定,适用围广,因此特别适用于对测温要求比较准确的场所。附录:程序代码*include <reg52.h>*define uchar unsigned char*define uint unsigned intsbit DS=P22; uint temp; uchar flag1; sbitdula=P26;sbitwela=P27;unsigned char code table=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d, 0*07,0*7f,0*6f,0*77,0*7c,0*39,0*5e,0*79,0*71;unsigned char code table1=0*bf,0*86,0*db,0*cf,0*e6,0*ed,0*fd, 0*87,0*ff,0*ef;void delay(uint count) uinti;while(count)i=200;while(i>0)i-;count-; voiddsreset(void) uinti; DS=0;i=103;while(i>0)i-; DS=1;i=4;while(i>0)i-;bittmpreadbit(void) uinti;bitdat; DS=0;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); return(dat);voidtmpwritebyte(uchardat) uinti;uchar j;bittestb;for(j=1;j<=8;j+) testb=dat&0*01;dat=dat>>1;if(testb) DS=0;i+;i+; DS=1;i=8;while(i>0)i-; else DS=0; i=8;while(i>0)i-; DS=1;i+;i+; voidtmpchange(void) dsreset();delay(1);tmpwritebyte(0*cc); tmpwritebyte(0*44); conversionuinttmp() floattt;uchara,b;dsreset();delay(1);tmpwritebyte(0*cc);tmpwritebyte(0*be); a=tmpread(); b=tmpread();temp=b;temp<<=8; temp=temp|a;tt=temp*0.0625;temp=tt*10+0.5;return temp;void display(uint temp)uchar A1,A2,A2t,A3; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10;dula=0; P0=tableA1;dula=1;dula=0;wela=0; P0=0*7e;wela=1;wela=0;delay(1);dula=0; P0=table1A2;dula=1;dula=0;wela=0; P0=0*7d;wela=1;wela=0;delay(1);= P0=tableA3;dula=1;dula=0; P0=0*7b;wela=1;wela=0;delay(1);void main()uchar a;do tmpchange();for(a=10;a>0;a-) display(tmp(); while(1);. z

注意事项

本文(单片机实验报告-温度计)为本站会员(hm****62)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!