欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字温度计设计报告.docx

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

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

    数字温度计设计报告.docx

    1、数字温度计设计报告数字温度计 目录一、引言(2)二、设计内容及性能指标(2)三、总体设计方案(2)1. 整体功能说明(2)2. 硬件功能模块组成(2)3. 软件功能模块组成(3)4. 硬件总体框图(3)四、系统硬件电路的设计(3)1. 整体功能说明(3)2. 硬件功能模块组成(3)2.1 系统电路原理图和PCB布线图(3) 2.2 主控制器(6)2.3 温度测量模块(6)2.4 运算放大电路(6)2.5 显示电路(6)2.6温度传感器工作原理(6) 五、系统的软件设计(7)1. 主程序设计流程图(7)六、系统调试(8)1硬件调试(8)2软件调试(8)3软硬调试(8)七、总结与体会(8)谢辞(8

    2、)参考文献(8)附录I 程序清单 (9)附录I 元器件清单(13数字温度计摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于AT89C51的温度检测及报警系统。该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。该系统设计和布线简单,结构紧凑,抗干扰能力强,在大型仓库、工厂、

    3、智能化建筑等领域的温度检测中有广泛的应用前景。关键词:单片机;温度传感器;AT89C51;AD590一、引言当今社会,温度检测系统被广泛的社会生产、生活的各个领域。在工业、环境检测、医疗、家庭等多方面都有应用。同时单片机在电子产品中的应用已经越来越广泛。随着温度检测理论与技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和单导体传感器等,每种传感器根据其自身特性,都有它自己的应用领域。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温准确、其输出温度采用数字显示等优点,主要用

    4、于对温度比较准确的场所,或科研实验室使用。该设计控制器使用单片机AT89C51,温度传感器使用AD590,用4位共阴极LED数码管显示数据,实现温度显示。二、设计任务及性能指标本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:利用温度传感器(AD590)测量某一点环境温度测量范围为-30150用数码管进行实际温度值显示三、总体设计方案 整体功能说明:以51单片机为主控制器,以数字式温度传感器AD590为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在30150。温度测量间隔时间选

    5、择1 s 。2. 硬件功能模块组成:温度计的控制器使用单片机AT89C51,温度传感器使用AD590,运算放大器使用OP07,用4位共阴LED数码管以动态扫描法实现温度显示。主控制器: 单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。显示电路:显示电路采用4位共阴LED数码管,从P1口输出段码,列扫描用P3.0P3.3口来实现。3. 软件功能组成模块:系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。主程序:主要功能是负责温度的实时显示、读出并处理AD590的测量温度值。温度测量每1 s 进行一次。4. 硬件

    6、总体框图:四、系统硬件电路的设计1. 整体功能说明:以51单片机为主控制器,以数字式温度传感器AD590为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在30150,温度测量间隔时间选择1 s 。2硬件功能模块组成:温度计电路设计原理图如下图所示,温度计的控制器使用单片机AT89C51,温度传感器使用AD590,用4位共阴极LED数码管以动态扫描法实现温度显示。2.1系统电路原理图和PCB布线图整个系统设计时,为了简化单个PCB板的布线嗯和系统各部分调试的方便,此设计采用模拟电路部分和数字控制电路部分分开成两个模块,分别画原理图和PCB布线图。如下图:模

    7、拟电路部分电路原理图模拟电路部分PCB布线图数字电路部分电路原理图数字电路部分PCB布线图2.2主控制器单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。2.3温度测量模块主要用到的是AD590温度传感器,将采集到的温度模拟量(-30度到150度)转换成数字量,并接上一个上拉电阻后再送给单片机P3.5口。2.4运算放大电路TD07(OP07) 低噪声高精度运算放大器1特点1) 低的输入噪声电压幅度0.35 VP-P (0.1Hz 10Hz)2) 极低的输入失调电压10 V3) 极低的输入失调电压温漂0.2 V/ 4) 具有长期的稳定性0.2 V/MO5) 低

    8、的输入偏置电流 1nA6) 高的共模抑制比126dB7) 宽的共模输入电压范围14V8) 宽的电源电压范围 3V 22V2应用简介 TD07 高精度运算放大器具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长期稳定等特点。可广泛应用于稳定积分、精密绝对值电路、比较器及微弱信号放大。2.5显示电路显示电路采用4位共阴极LED数码管,从P1口输出段码,列扫描用P0.0P0.3口来实现。2.6温度传感器工作原理1. AD590的性能特点集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测

    9、,集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度25时输出2.982V。电流输出型的灵敏度一般为1mA/K。AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:流过器件的电流(mA)等于器件所处环境的热力学温度,AD590的测温范围为-55到+150。AD590的电源电压范围为4V-30V。电源电压可在4V-6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不

    10、会被损坏。输出电阻为710MW。精度高共有I、J、K、L、M五档,其中M档精度最高,在-55到+150范围内,非线性误差为0.3。AD590的输出电流I=(273+T)A(T为摄氏温度),因此测量的电压V为(273+T)A10K=(2.73+T/100)V。 由于一般电源供应较多器件之后,电源是带杂波的,因此我们使用两个电容作为滤波元件,再利用可变电阻分压,其输出电压V1需调整至2.73V接下来我们使用差动放大器其输出Vo为(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V,输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线形比例关系。五、系统的软

    11、件设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。1.主程序主程序需要调用4个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。各模块程序功能如下:数码管显示程序:向数码的显示送数,控制系统的显示部分。温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。主程序流程见图: 主程序流程图六、系统调试 根据方案设计的要求,调试过程共分3大部分:硬件调试、软件调试和软硬联调。1硬件调试硬件调试比较简单首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。2软件调试除语法和逻辑差错外,当确认程序没问题

    12、时,直接下载到单片机仿真调试。采取自下而上的方法,单独调好每一个模块,最后完成一个完整的系统调试。3软硬调试 系统做好后,进行系统的完整调试。联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。七、总结与体会经过一个月的方案论证、系统的硬件和软件的设计、系统的调试。查阅了大量的关于传感器、单片机及其接口电路、以及模拟电子技术方面的理论。通过这次实训,我发现在现实设计中还需要注意很多的细节,包括程序设计和硬件设计都要我们小心仔细,一个地方出错就可能会整个系统失效。在硬件设计时,由于电路图转印不好使得腐蚀后的电路板出现断线,在调试过程中引来很大的麻烦。经过了一番特

    13、殊的体验后,经历了失败的痛苦,也尝到了成功的喜悦。第一次靠用所学的专业知识来解决问题。检查了自己的知识水平,使我对自己有一个全新的认识。通过这次设计,不仅锻炼自己分析问题、处理问题的能力,还提高了自己的动手能力。这些培养和锻炼对于我们来说,是很重要的。这次设计基本的完成了任务书的要求,实现了温度的控制。通过测试表明系统的设计是正确的,可行的。但是由于设计者的设计经验和知识水平有限,系统还存在许多不足和缺陷。谢 辞在本次实训中,我遇到了很多难题,然而这些难题让我不断的学习,在因难中进步,在此我要感谢指导教师给我提供的宝贵的意见,感谢学校给我们这提供实训的机会。参考文献1华成英主编. 模拟电子技术

    14、基本教程.清华大学出版社,20062何道清 张禾 諶海云编著.传感器与传感器技术(第二版).北京.科学出版社,20083张毅刚 彭喜元著.单片机原理及接口技术.人民邮电出版社,2008附录I程序清单#include /定义段码 ,不带小数点Unsigned char code tab_duan16 = 0x77,0x41,0x3b,0x6b,0x4d,0x6e,0x7e,0x43,0x7f,0x6f;/定义段码 ,带小数点unsigned char code tab_duan_r16=0xf7,0xc1,0xbb,0xeb,0xcd,0xee,0xfe,0xc3,0xff,0xef;/定义位码

    15、unsigned char code tab_wei4 = 0x7f,0xbf,0xdf,0xef;/定义符号unsigned char Sign = 0x08;unsigned long Tin_val; /保存计数值unsigned int Tem_val; /保存当前温度unsigned long Frequency; /保存实际频率值unsigned char Sign; /保存温度负号标志void DelayUs(unsigned int Num);void LedDisplay(unsigned int Num,unsigned char flag);unsigned int Ge

    16、t_Temperature(unsigned long Freq);void Timer_Init(void);/主函数void main(void) Timer_Init(); /定时器初始化 Tem_val = 0; Tin_val = 0; for(;) LedDisplay(Tem_val,Sign); /*函数名称:DelayUs功 能:微秒延时参 数:Num微秒数返 回 值:无*/void DelayUs(unsigned int Num) while(Num-) ;/*函数名字:LedDisplay功 能:数码管显示函数参 数:Num:待显示的数,整形 ,flag:正负温度显示标

    17、准返 回 值:无*/void LedDisplay(unsigned int Num ,unsigned char flag) unsigned char i; unsigned char tab4; tab0=Num/1000; tab1=Num%1000/100; tab2=Num%100/10; tab3=Num%10; for(i=0;i4;i+) if(i = 0) if(flag = 0) /判断负温度标志 P1 = tab_duantabi; else P1 = 0x08; else if(i=2) P1 = tab_duan_rtabi; /显示小数点 else P1 = ta

    18、b_duantabi; P0 = tab_weii; DelayUs(20); P1 = 0x0; /*函数名称:Get_Temperature功 能:根据频率值计算出实际温度参 数:Freq:频率值返 回 值:TemperVal实际温度值*/unsigned int Get_Temperature(unsigned int Freq) unsigned int TemperVal; static unsigned char VK=2;/电压比例系数 static float FreqK = 1.33;/压频转换系数 TemperVal = (unsigned int)(float)Freq/

    19、FreqK)*10/VK); if(TemperVal 273*10) /判断当前温度读是否小于273K Sign = 1; /显示负号 return 273*10- TemperVal; else Sign = 0; /显示正号 return TemperVal-273*10; /*/*函数名称:Timer_Init功 能:初始化定时器0,工作在定时中断模式,定时1S 初始化定时器1,工作在计数模式参 数:无返 回 值:无*/void Timer_Init(void) TMOD = 0X01; /定时器0初始化为工作方式1 TH0 = (65536-50000)/256; /初值50000,

    20、50ms中断一次 TL0 = (65536-50000)%256; ET0 = 1; /允许定时器0中断 TMOD|= 0x60; /定时器1初始化为工作方式2,计数模式 TH1 =0; /初值赋为0 TL1 =0; ET1 = 1; /允许定时器1中断 EA = 1; /打开总中断 TR0 = 1; /打开定时器0 TR1 = 1; /打开计数器1/*函数名称:TIMER1_INTE功 能:频率计数器累加,保存到Tin_val中参 数:无返 回 值:无*/void TIMER1_INTE(void) interrupt 3/ TH1=0;/ TL1=0; Tin_val+; /计数器加加/*

    21、函数名称:TIMER0_INTE功 能:读取计数值,并计算出实际温度参 数:无返 回 值:无*/void TIMER0_INTE(void) interrupt 1 static unsigned char tem=0; TH0 = (65536-50000)/256; /初值50000,50ms中断一次 TL0 = (65536-50000)%256; /从新赋值 tem+; if(tem=20) /计数到20,为1S tem = 0; TR0 = 0; /关闭定时器0,避免出现误差 TR1 = 0; /关闭计数器1 Frequency = Tin_val*256+TL1; /得到频率 Tem_val=Get_Temperature(Frequency);/得到实际温度,并保存到Tem_val变量中 Frequency = 0; /变量从新初始化 Tin_val = 0; TL1 = 0; / TH1 = 0; /清除上一次保存的计数值 TR1 = 1; /打开计数器 TR0 = 1; /打开定时器0 附录II元器件清单


    注意事项

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

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




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

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

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


    收起
    展开