实时温度测量实训报告

时间:2024.4.21

实时温度测量实训报告

               姓名:***

               学号:*****

               班级:******

                   浙江●绍兴

                   201012

第一章           方案认证及确定

温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。单片机将检测到的温度信息与设定值进行比较,如果检测值高于设定值,则启动制冷系统,降低环境温度;同理,如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。

该单片机温度控制系统是以AT89C51单片机为控制核心,用温度传感器DS18B20进行温度采集。整个系统硬件部分包括温度检测系统、A/D转换、单片机、I/O设备、控制执行系统等。单片机温度控制系统控制框图如下所示:

第二章  硬件设计

2.1原理图

Proteus仿真结果显示:

2.2 原理图说明

设计中,使用AT89C51的P1.0管脚接收由温度传感器送出的数字温度信号;管脚P0.0~P0.7用于输出温度各位上的数字,连接LED数码管,作为显示内容;P2.0~P2.2管脚作为LED数码管轮流显示的控制信号的输出端;P3.0作为温度越界判据的信号输出的端。单片机的外围设备包括:时钟振荡器、DS18B20数字温度传感器、温度显示设备和高温制冷电机等。

用DS18820测量温度,在其内部就能进行A/D转换,输出数字量与单片机直接通讯,无需外加A/D转换器,转换速度快,降低了成本,而且简化了电路,提高了系统的集成度,使其满足了最简的要求。这个温度传感器稍加改良,配合半导体制冷器还能实现高精度的温度控制功能。

2.3 主要元器件介绍

2.3.1数字温度传感器DS18B20主要特性

全数字温度转换及输出。

先进的单总线数据通信。

最高12位分辨率,精度可达土0.5摄氏度。

12位分辨率时的最大工作周期为750毫秒。

可选择寄生工作方式。

检测温度范围为–55°C ~+125°C (–67°F ~+257°F)

内置EEPROM,限温报警功能。

64位光刻ROM,内置产品序列号,方便多机挂接。

多样封装形式,适应不同硬件系统。

2.3.2 DS18B20的封装结构

2.3.3 DS18B20工作原理及应用

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:

ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。

RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

第三章  软件设计

3.1程序框图

3.2 程序清单

          ORG          0000H

         TEMPER_L    EQU  29H

         TEMPER_H    EQU  28H

         FLAG1        EQU  38H

         A_BIT         EQU  20H

         B_BIT         EQU  21H

         TJ             EQU  70H

         DQ            EQU  P2.7

MAIN1:  LCALL         GET_TEMPER

         MOV           A,29H

         MOV           C,40H

         RRC            A

         MOV            C,41H

         RRC            A

         MOV           C,42H

         RRC           A

         MOV           C,43H

         RRC           A

         MOV           29H,A

         MOV           A,TJ

         CJNE          A,#0,MAIN2

         CLR           P1.7

         MOV           TJ,#1

         AJMP          MAIN3

MAIN2:   CJNE          A,#1,MAIN3

         SETB          P1.7

         MOV           TJ,#0

MAIN3:   LCALL        DISPLAY

         AJMP          MAIN1

INIT_1820: SETB         DQ

         NOP

         CLR           DQ

         MOV          R1, #3

TSR1:     MOV         R0, #107

         DJNZ          R0,$

         DJNZ          R1,TSR1

         SETB          DQ

         NOP

         NOP

         NOP

         MOV          R0,#25H

TSR2:    JNB           DQ,TSR3

         DJNZ          R0,TSR2

         LJMP          TSR4

TSR3:    SETB          FLAG1

         LJMP          TSR5

TSR4:    CLR           FLAG1

         LJMP          TSR7

TSR5:    MOV           R0,#117

TSR6:    DJNZ          R0,TSR6

TSR7:    SETB          DQ

         RET

GET_TEMPER: SETB       DQ

         LCALL         INIT_1820

         JB            FLAG1,TSS2

         RET

TSS2:    MOV           A,#0CCH

         LCALL         WRITE_1820

         MOV           A,#44H

         LCALL         WRITE_1820

         LCALL         DISPLAY

         LCALL         INIT_1820

         MOV           A,#0CCH

         LCALL         WRITE_1820

         MOV           A,#0BEH

         LCALL         WRITE_1820

         LCALL         READ_18200

         RET

WRITE_1820: MOV        R2,#8

         CLR            C

WR1:     CLR           DQ

         MOV           R3,#6

         DJNZ          R3,$

         RRC           A

         MOV           DQ,C

         MOV           R3,#23

         DJNZ          R3,$

         SETB          DQ

         NOP

         DJNZ          R2,WR1

         SETB          DQ

         RET

READ_18200: MOV        R4,#2

         MOV           R1,#29H

RE00:    MOV            R2,#8

RE01:    CLR           C

         SETB          DQ

         NOP

         NOP

         CLR            DQ

         NOP

         NOP

         NOP

         SETB          DQ

         MOV           R3,#9

RE10:    DJNZ          R3,RE10

         MOV           C,DQ

         MOV           R3,#23

RE20:    DJNZ          R3,RE20

         RRC           A

         DJNZ          R2,RE01

         MOV           @R1,A

         DEC           R1

         DJNZ          R4,RE00

         RET

DISPLAY: MOV           A,29H

         MOV           B,#10

         DIV           AB

         MOV           B_BIT,A

         MOV           A_BIT,B

         MOV           DPTR,#NUMTAB

         MOV           R0,#4

DPL1:    MOV           R1,#250

DPLOP:   MOV           A,A_BIT

         MOVC          A,@A+DPTR

         MOV           P0,A

         CLR           P2.1

         ACALL         D1MS

         SETB          P2.1

         MOV           A,B_BIT

         MOVC          A,@A+DPTR

         MOV           P0,A

         CLR           P2.0

         ACALL         D1MS

         SETB          P2.0

         MOV           A,#0CH

         MOVC  A,@A+DPTR

         MOV           P0,A

         CLR           P2.3

         ACALL         D1MS

         SETB          P2.3

         MOV           P0,#80H

         CLR           P2.2

         ACALL         D1MS

         SETB          P2.2

         DJNZ          R1,DPLOP

         DJNZ          R0,DPL1

         RET

D1MS:    MOV         R7,#50

         DJNZ          R7,$

         RET

DELAY10: MOV         R6,#20

D3:      MOV          R5,#255

         DJNZ          R5,$

         DJNZ          R6,D3

         RET

DELAY125:  MOV       R6,#255

D1:      MOV          R5,#255

         DJNZ          R5,$

         DJNZ          R6,D1

         RET

DELAY1S: MOV          R7,#8

D2:      LCALL         DELAY125

         DJNZ          R7,D2

         RET

NUMTAB:  DB          3FH,06H,5BH,4FH

         DB            66H,6DH,7DH,07H

         DB            7FH,6FH,77H,7CH

         DB            39H,5EH,79H,71H

         END

第四章  调试过程

4.1现象描述

制作成功硬件产品后,我们进行硬件仿真调试。接通电源和地线数码管显示00.C,然后数码管在误差内读出当前DS18B20所感应到的温度,我的检测结果是19.C。用手按住DS18B20,数码管显示温度值升高。

4.2和预期目标的差距

我调试了两次,第一次数码管没有显示,调试失败了。我回去认真检查了各种会出现的原因的地方,发现原来我的AT89C51单片机接地线没有接地,导致单片机无法工作。修正回来后终于调试成功了。

4.3可以改进的地方,存在的不足等

    在硬件排版方面,我做的还不够完美,导线接了过多,容易造成一定程度上的短路现象发生。在焊接工艺方面,焊接点不够光泽鲜亮。

第五章  实训总结

   经过将近一周的努力,基于单片机AT89C51的实时温度测量系统实训顺利结束。我们进行了对DS18B20资料的查阅整理、软件设计,硬件焊接,产品调试等几个流程。基于AT89C51单片机的温度测量系统硬件电路设计方法、工作原理以及程序设计。利用PT100阻值随温度变化的特点,将其和其他三个电阻构成非平衡电桥,因而温度的变化可转化成电桥输出微弱电压信号的变化,电压信号经集成运放电路放大后送到A/D转换器,将模拟信号变换成效字信号,单片机根据输入量和设定量进行运算,将结果送到数码管显示,完成对温度的测量。该系统可实现对温度实时较精确的测量,测量范围为0-200℃。

温度采集显示系统的开发在很大意义上提高了生产生活的需要,便于生产中对温度的控制,有效的提高了生产质量。外围电路比较简单杂,测量精度较高,分辨力高,使用方便。温度检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。本次毕业设计正是为了完成温度采集显示而设计的,而且采用了温度传感器,可以说与人们的日常生活是息息相关的,具有很大的现实意义。

AT89C55/51芯片是由ATMEL公司推出的51系列8位单片机,AT89C55片内主要有20KB Flash存储器、256字节片内RAM,4个8位的双向可寻址I/O口,1个全双工UART(通用异步接收发送器)的串行接口、3个16位的定时器/计数器、多个优先级的嵌套中断结构,及一个片内振荡器和时钟电路。系统中主机利用了AT89C55丰富的20KB闪存资源永久保存实时的测量信息、历史的测量数据等关键结果,从机完成数据采集、传送。主机位于监视室,从机位于各粮仓内,主从机之间有一定的距离,信号的传输采用串行异步通信方式,AT89C55/51单片机内部集成的UART模块,适合于同其他计算机系统及单片机外扩的外设芯片进行通信,可实现全双工异步、半双工同步主控和半双工同步从控三种工作方式。本系统中利用其UART模块工作于全双工异步通信方式,其中TX为发送线、RC为接收线,利用RS-422驱动器和接收器,如MC3487和MC3486芯片,实现信号的稳定传输。

整个设计通过了软件和硬件上的调试、仿真。我想这对于我以后的学习和工作都会有很大的帮助的,。在这次实训中遇到了很多的问题,比如在软件编程和硬件仿真调试时都出现过问题。在实际设计中才发现,书本上的理论知识在实际运用时还是有很大的出入的,所以有些问题必须深入地理解,而且要不断的和实际加以验证。遇到问题一定要靠自己一点一滴去解决,而在解决问题的过程中也是我个人能力的提升的过程。对于单片机设计,硬件设计是比较简单的主要是程序编写方面比较繁琐。而程序设计是一个灵魂所在,需要对单片机的结构和功能很熟悉。可以说单片机的设计是软件和硬件的结合,二者是密不可分的。

设计一个成功的完整电路,必须要有耐心,要有坚持不懈的恒心。很多同学在看到这样一大堆程序清单时就只会抱怨,害怕自己在规定时间内完成不了,索性放弃了编写,等着别的同学编好后能够拷贝给他。总是抱着一种畏难的心理,那只会一事无成,老实说,我一直很鄙视这种人。程序设计和编写是一项很繁琐的工程,在整个电路的设计过程中,花费时间最多的是各个单元电路的连接以及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原因和可行方案,在焊接时要防止虚焊,焊接点要光泽鲜亮。电解电容和二极管要注意正负极区分,以免元器件烧毁损坏。以及开关焊接时要注意引脚问题,输入程序时要细心等,最后在老师的指导下调试整个电路,使整个电路可以稳定的工作。在实训过程中,我深刻地体会到在设计过程中,要反复实践和验证。第一次调试失败,心中的确有点失望,我不怀疑自己的能力,只怪自己不够细心,细节决定成败,我过度地估算了自己的成功期望导致预期结果的差距过大。此时需要自己静下心,仔细查找原因。

总体来说,这次实训让我受益匪浅,在实际设计中体验到了成功实现所需功能的喜悦,也加强了我们的动手操作能力,在枯燥的理论知识中终于感受到实践的兴奋。

更多相关推荐:
测量实习报告范文(1)

测量实习报告范文Wessex盆地实习报告上周二中午从学校出发去fieldtrip,经过半天的汽车颠簸到达那个传说中的盆地,开始了为期5天的难忘经历。顺便提一下,我可爱的周末就此莫名其妙的搭进去了。感觉有很多方面…

测量实习报告范文

一:实习的目的、任务、测区概况目的:实习是工程测量教学的重要组成部分,除验证课堂理论外,还是巩固和深化课堂所学知识的环节,更是培养学生动手能力和训练严格的科学态度和作风的手段。通过控制网的建立、地形点的测绘、手…

测量学实习报告范文总结

测量实习总结班级:建工一班姓名:陈登科学号:20xx130220xx4组号:第五组测区选点一、测区位臵:贵阳职业技术学院二、选点要求:安全性:便于安臵仪器,考虑地面湿滑、来往车辆等对人身和仪器安全的影响。实用性…

工程测量实习报告范文

一.实习目的:1.联系水准仪的安置、整平、瞄准与读书和怎样测定地面两点间的高程;2.掌握经纬仪对中,整平,瞄准与读书等基本操作要领;3.掌握钢尺量距的一般方法;4.练习用经纬仪和水准仪测绘地形图;5.培养学生综…

工程测量实习报告范文

过去的两个星期中在老师的带领下我们开始了对工程测量这门课程的实习工程测量这门课是需要理论与实际结合的实习是大学生活的第二课堂是检验真理的试金石在课堂上书本中抽象的叙述说明往往使我们一下难以很好掌握但当我们面对着...

测量学实习报告(范文)

测量学实习报告目录一、前言--------------------------------------------------2二、实习的目的与任务-------------------------------…

工程测量实习报告范文

工程测量实习报告范文工程测量gt实习报告gt范文一工程测量实习作为土木工程专业一门基本的必修专业实践课对我们学土木工程专业学生来说它的重要性不言而喻学测量不仅是获取书本的理论知识更是培养我们的动手操作能力和对课...

车刀角度测量实验报告基本格式

实验报告基本格式基本要求1根据学院的规定实验报告必须用长江大学工程技术学院实验报告用纸2报告中有图的地方要用尺规铅笔作图3实验报告书写要认真规范字迹工整严禁潦草不合要求者需要重写否则以零分计实验名称车刀几何角度...

控制测量实训报告格式

测绘工程系控制测量实训报告书姓名王新海专业工程测量班级1405指导教师崔红超二零一六年一月十五日目录第一章工程测量系实习动员大会11老师做实习动员12系部主任对实习安全加以指导第二章导线平面控制测量21全站仪操...

工程测量实习报告模板

工程测量实习报告班级学号组别第组专业环境工程姓名起止时间地点号楼指导老师目录第一章概述311工程测量的意义和目的312实习测区概况及任务313实习计划414实习计划和完成情况415个人成果5第二章外业工作情况5...

测量学实习报告模板

华东交通大学20xx20xx学年第1学期10桥梁3班第六组总结指导老师李XX组员xxx实习地点6号测区第二食堂至风雨球场实习日期第1415周1华东交通大学20xx20xx学年第1学期10桥梁3班第六组成果表册指...

车刀角度测量实验报告格式

实验报告基本格式基本要求1根据学院的规定实验报告必须用长江大学工程技术学院实验报告用纸2报告中有图的地方要用尺规铅笔作图3实验报告书写要认真规范字迹工整严禁潦草不合要求者需要重写否则以零分计实验名称车刀几何角度...

测量实训报告范文(41篇)