实时温度测量实训报告.docx

上传人:b****7 文档编号:23598314 上传时间:2023-05-18 格式:DOCX 页数:13 大小:252.55KB
下载 相关 举报
实时温度测量实训报告.docx_第1页
第1页 / 共13页
实时温度测量实训报告.docx_第2页
第2页 / 共13页
实时温度测量实训报告.docx_第3页
第3页 / 共13页
实时温度测量实训报告.docx_第4页
第4页 / 共13页
实时温度测量实训报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实时温度测量实训报告.docx

《实时温度测量实训报告.docx》由会员分享,可在线阅读,更多相关《实时温度测量实训报告.docx(13页珍藏版)》请在冰豆网上搜索。

实时温度测量实训报告.docx

实时温度测量实训报告

实时温度测量实训报告

 

姓名:

***

学号:

*****

班级:

******

 

浙江●绍兴

2010年12月

 

第一章方案认证及确定

温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。

单片机将检测到的温度信息与设定值进行比较,如果检测值高于设定值,则启动制冷系统,降低环境温度;同理,如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。

该单片机温度控制系统是以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.2DS18B20的封装结构

2.3.3DS18B20工作原理及应用

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程序清单

ORG0000H

TEMPER_LEQU29H

TEMPER_HEQU28H

FLAG1EQU38H

A_BITEQU20H

B_BITEQU21H

TJEQU70H

DQEQUP2.7

MAIN1:

LCALLGET_TEMPER

MOVA,29H

MOVC,40H

RRCA

MOVC,41H

RRCA

MOVC,42H

RRCA

MOVC,43H

RRCA

MOV29H,A

MOVA,TJ

CJNEA,#0,MAIN2

CLRP1.7

MOVTJ,#1

AJMPMAIN3

MAIN2:

CJNEA,#1,MAIN3

SETBP1.7

MOVTJ,#0

MAIN3:

LCALLDISPLAY

AJMPMAIN1

INIT_1820:

SETBDQ

NOP

CLRDQ

MOVR1,#3

TSR1:

MOVR0,#107

DJNZR0,$

DJNZR1,TSR1

SETBDQ

NOP

NOP

NOP

MOVR0,#25H

TSR2:

JNBDQ,TSR3

DJNZR0,TSR2

LJMPTSR4

TSR3:

SETBFLAG1

LJMPTSR5

TSR4:

CLRFLAG1

LJMPTSR7

TSR5:

MOVR0,#117

TSR6:

DJNZR0,TSR6

TSR7:

SETBDQ

RET

GET_TEMPER:

SETBDQ

LCALLINIT_1820

JBFLAG1,TSS2

RET

TSS2:

MOVA,#0CCH

LCALLWRITE_1820

MOVA,#44H

LCALLWRITE_1820

LCALLDISPLAY

LCALLINIT_1820

MOVA,#0CCH

LCALLWRITE_1820

MOVA,#0BEH

LCALLWRITE_1820

LCALLREAD_18200

RET

WRITE_1820:

MOVR2,#8

CLRC

WR1:

CLRDQ

MOVR3,#6

DJNZR3,$

RRCA

MOVDQ,C

MOVR3,#23

DJNZR3,$

SETBDQ

NOP

DJNZR2,WR1

SETBDQ

RET

READ_18200:

MOVR4,#2

MOVR1,#29H

RE00:

MOVR2,#8

RE01:

CLRC

SETBDQ

NOP

NOP

CLRDQ

NOP

NOP

NOP

SETBDQ

MOVR3,#9

RE10:

DJNZR3,RE10

MOVC,DQ

MOVR3,#23

RE20:

DJNZR3,RE20

RRCA

DJNZR2,RE01

MOV@R1,A

DECR1

DJNZR4,RE00

RET

DISPLAY:

MOVA,29H

MOVB,#10

DIVAB

MOVB_BIT,A

MOVA_BIT,B

MOVDPTR,#NUMTAB

MOVR0,#4

DPL1:

MOVR1,#250

DPLOP:

MOVA,A_BIT

MOVCA,@A+DPTR

MOVP0,A

CLRP2.1

ACALLD1MS

SETBP2.1

MOVA,B_BIT

MOVCA,@A+DPTR

MOVP0,A

CLRP2.0

ACALLD1MS

SETBP2.0

MOVA,#0CH

MOVCA,@A+DPTR

MOVP0,A

CLRP2.3

ACALLD1MS

SETBP2.3

MOVP0,#80H

CLRP2.2

ACALLD1MS

SETBP2.2

DJNZR1,DPLOP

DJNZR0,DPL1

RET

D1MS:

MOVR7,#50

DJNZR7,$

RET

DELAY10:

MOVR6,#20

D3:

MOVR5,#255

DJNZR5,$

DJNZR6,D3

RET

DELAY125:

MOVR6,#255

D1:

MOVR5,#255

DJNZR5,$

DJNZR6,D1

RET

DELAY1S:

MOVR7,#8

D2:

LCALLDELAY125

DJNZR7,D2

RET

NUMTAB:

DB3FH,06H,5BH,4FH

DB66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH

DB39H,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片内主要有20KBFlash存储器、256字节片内RAM,4个8位的双向可寻址I/O口,1个全双工UART(通用异步接收发送器)的串行接口、3个16位的定时器/计数器、多个优先级的嵌套中断结构,及一个片内振荡器和时钟电路。

系统中主机利用了AT89C55丰富的20KB闪存资源永久保存实时的测量信息、历史的测量数据等关键结果,从机完成数据采集、传送。

主机位于监视室,从机位于各粮仓内,主从机之间有一定的距离,信号的传输采用串行异步通信方式,AT89C55/51单片机内部集成的UART模块,适合于同其他计算机系统及单片机外扩的外设芯片进行通信,可实现全双工异步、半双工同步主控和半双工同步从控三种工作方式。

本系统中利用其UART模块工作于全双工异步通信方式,其中TX为发送线、RC为接收线,利用RS-422驱动器和接收器,如MC3487和MC3486芯片,实现信号的稳定传输。

整个设计通过了软件和硬件上的调试、仿真。

我想这对于我以后的学习和工作都会有很大的帮助的,。

在这次实训中遇到了很多的问题,比如在软件编程和硬件仿真调试时都出现过问题。

在实际设计中才发现,书本上的理论知识在实际运用时还是有很大的出入的,所以有些问题必须深入地理解,而且要不断的和实际加以验证。

遇到问题一定要靠自己一点一滴去解决,而在解决问题的过程中也是我个人能力的提升的过程。

对于单片机设计,硬件设计是比较简单的主要是程序编写方面比较繁琐。

而程序设计是一个灵魂所在,需要对单片机的结构和功能很熟悉。

可以说单片机的设计是软件和硬件的结合,二者是密不可分的。

设计一个成功的完整电路,必须要有耐心,要有坚持不懈的恒心。

很多同学在看到这样一大堆程序清单时就只会抱怨,害怕自己在规定时间内完成不了,索性放弃了编写,等着别的同学编好后能够拷贝给他。

总是抱着一种畏难的心理,那只会一事无成,老实说,我一直很鄙视这种人。

程序设计和编写是一项很繁琐的工程,在整个电路的设计过程中,花费时间最多的是各个单元电路的连接以及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原因和可行方案,在焊接时要防止虚焊,焊接点要光泽鲜亮。

电解电容和二极管要注意正负极区分,以免元器件烧毁损坏。

以及开关焊接时要注意引脚问题,输入程序时要细心等,最后在老师的指导下调试整个电路,使整个电路可以稳定的工作。

在实训过程中,我深刻地体会到在设计过程中,要反复实践和验证。

第一次调试失败,心中的确有点失望,我不怀疑自己的能力,只怪自己不够细心,细节决定成败,我过度地估算了自己的成功期望导致预期结果的差距过大。

此时需要自己静下心,仔细查找原因。

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

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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