温度计实习报告.docx

上传人:b****5 文档编号:14807672 上传时间:2023-06-27 格式:DOCX 页数:24 大小:170.51KB
下载 相关 举报
温度计实习报告.docx_第1页
第1页 / 共24页
温度计实习报告.docx_第2页
第2页 / 共24页
温度计实习报告.docx_第3页
第3页 / 共24页
温度计实习报告.docx_第4页
第4页 / 共24页
温度计实习报告.docx_第5页
第5页 / 共24页
温度计实习报告.docx_第6页
第6页 / 共24页
温度计实习报告.docx_第7页
第7页 / 共24页
温度计实习报告.docx_第8页
第8页 / 共24页
温度计实习报告.docx_第9页
第9页 / 共24页
温度计实习报告.docx_第10页
第10页 / 共24页
温度计实习报告.docx_第11页
第11页 / 共24页
温度计实习报告.docx_第12页
第12页 / 共24页
温度计实习报告.docx_第13页
第13页 / 共24页
温度计实习报告.docx_第14页
第14页 / 共24页
温度计实习报告.docx_第15页
第15页 / 共24页
温度计实习报告.docx_第16页
第16页 / 共24页
温度计实习报告.docx_第17页
第17页 / 共24页
温度计实习报告.docx_第18页
第18页 / 共24页
温度计实习报告.docx_第19页
第19页 / 共24页
温度计实习报告.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

温度计实习报告.docx

《温度计实习报告.docx》由会员分享,可在线阅读,更多相关《温度计实习报告.docx(24页珍藏版)》请在冰点文库上搜索。

温度计实习报告.docx

温度计实习报告

单片机原理与应用技术

课程设计报告(论文)

 

数字式温度计

 

专业班级:

电气121

姓  名:

肖鹏辉

时间:

14.12.22-15.01.09

指导教师:

孔晓红

 

2015年01月12日

 

数字式温度计

1.设计目的与要求

(一)基本功能

(1)测温范围-50℃—110℃

(2)精度误差不大于0.1℃

(3)LED数码直读显示

(二)扩展功能

(1)实现语音报数

(2)可以任意设定温度的上下限报警功能

2.设计内容

(1)画出电路原理图,正确使用逻辑关系;

(2)确定元器件及元件参数;

(3)进行电路模拟仿真;

(4)SCH文件生成与打印输出;

3.编写设计报告

写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩

在规定时间内,完成叙述并回答问题。

目录

1、引言……………………………………………………………………4

2总体设计方案……………………………………………………………4

2.1设计思路……………………………………………………………4

2.2方案确立……………………………………………………………4

2.3设计方框……………………………………………………………4

3设计原理分析……………………………………………………………5

3.1最小系统的构成……………………………………………………5

3.2温度检测电路的设计………………………………………………5

3.3数码显示与led报警………………………………………………8

3.4软件部分的设计……………………………………………………8

3.4.1汇编程序………………………………………………………8

3.4.2仿真…………………………………………………………14

4结束语…………………………………………………………………15

参考文献…………………………………………………………………16

附录一……………………………………………………………………17

附录二……………………………………………………………………18

 

数字式温度计

电气121肖鹏辉

摘要:

本设计是一个基于at89S51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

DS18B20与AT89S51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:

at89s51;ds18b20;单片机;数字控制;上下限;报警

 

1引言

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,以单片机为核心的各种控制电路层出不穷,数字温度计就是单片机一方面的应用,在日常生活中,与温度有关的也常见,例如:

烧开水的锅炉需要测温度、家庭用的电磁炉需要测温度等等;所以数字温度计也普遍存在于人们的生活当中,而本电路就是结合这种思路和参考一些资料所设计的电路,这种电路可以很方便的应用到我们的现实生活中,为人们带来便利。

本文主要从单片机的应用上来实现温度的测量及显示。

2总体设计方案

2.1设计思路

方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较复杂。

方案二

采用一只温度传感器DS18B20,此传感器易直接读取被测温度值,进行转换,就可以满足设计要求。

采用数字温度芯片DS18B20测量温度,输出信号全数字化。

便于单片机处理及控制,省去传统的测温方法的很多外围电路。

且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。

在0—100摄氏度时,最大线形偏差小于1摄氏度。

DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。

这样,测温系统的结构就简单,体积不大。

2.2方案确立

根据需要,方案二更为合理,采用温度控制器DS18B20来实现,首先要考虑的是DS18B20如何工作,通过查略相关资料,了解到DS18B20的主要优点是采用数字化技术,能以数字形式直接输出被测温度值,具有测量误差小、抗干扰能力强、分辨力高、能够远程传输数据、带串行总线接口等优点,适配各种单片机和系统机,另外其内部有上下限报警电路,这样温度只要在所设定的上下温度界限内,就会在数码管中精确的显示出来,如果温度超过了所设定的温度界限,就发出报警声。

能够及时向温度监控人员发出温度超限信息。

便于温控人员及时的调整与控制。

而且此温度控制器操作简单,体积小,灵敏度高,精度高。

此外,以89s51为中心的外围部分加入报警电路和数码显示电路。

采用89C51单片机对温度进行控制,不仅具有控制方便简单灵活等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

2.3设计方框图

温度上下自动设置

单片机

数字显示

 

温度检测

最小系统

 

 

图1总体设计方框图

3设计原理分析

3.1最小系统的构成

最小系统由时钟电路和复位电路构成,如图2,时钟电路主要由12M晶振、30PF的瓷片电容、电阻、开关组成,12M晶振和30PF的瓷片电容构成稳定的自激振荡器,产生时钟信号。

复位电路由RC电路构成,与时钟电路构成微型处理器。

图2最小系统

3.2温度检测电路的设计

DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。

DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。

温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18B20的性能特点如下:

●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

●适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电

●温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

●零待机功耗

●可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温

●在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快

●用户可定义报警设置

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件

●测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作

以上特点使DS18B20非常适用与多点、远距离温度检测系统。

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列、各种封装形式如图3所示,DQ为数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

封装如图3所示.。

图3外部封装形式

主机操作ROM的命令有五种,如表1所列

表118B20ROM命令格式

 

当DS18B20接收到温度转换命令后,开始启动转换。

转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。

单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。

温度值格式如图4

图4温度格式

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

图中,S表示位。

对应的温度计算:

当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。

表2是部分温度值对应的二进制温度表示数据,

表2部分温度值

温度

二进制表示

十六进制表示

+125

00000111

11010000

07D0H

+25.0625

00000001

10010001

0191H

+0.5

00000000

00001000

0008H

0

00000000

00000000

0000H

-0.5

11111111

11111000

FFF8H

-25.0625

11111110

01101111

FE6FH

-55

11111100

10010000

FC90H

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>TH或T

因此,可用多只DS18B20同时测量温度并进行告警搜索。

3.3数码显示与led报警

如图5,用18B20测出温度,通过程序计算成标准的数码语言,让数码管显示。

这里用四位一体的共阳数码管动态显示,下面是管脚的排列,由于单片机输出电流能力较低,所以这里用NPN来做数码管的位选驱动,增加数码管的亮度。

NPN的b端接单片机,c端接电源,e端接数码管,P1口接片选abcdefgh。

两个led灯是用来显示正常温度和报警温度的,绿灯表示温度正常,红灯表示温度超出设定范围。

按键是来设置温度上下限的,如图5按键从上往下依次是上限加,上限减,下限加,下限减。

按键接P0口,由于P0口不能输出高电平,所以接上拉电阻和电源;led灯接P2口,通过限流电阻接电源

图5数字显示及报警

3.4软件部分的设计

3.4.1汇编程序

TLEQU29H;低8位存储

THEQU28H;高8位存储

A_BITEQU42H;百位(负号)

B_BITEQU43H;十位

C_BITEQU44H;个位

D_BITEQU45H;小数位

DQEQUP2.0

BJ_HEQU47H;温度上限存储

BJ_LEQU49H;温度下限存储

;主程序

ORG0000H

MOVP0,#0FFH

MOVBJ_H,#40;上限40度

MOVBJ_L,#2;下限-2度

MAIN:

LCALLGET_TEMPER;获得温度

LCALLSTART;温度计算

LCALLDISPLY;温度显示

AJMPMAIN

;获取温度子程序

GET_TEMPER:

LCALLRST18B20;初始化

MOVA,#0CCH;跳过ROM匹配

LCALLWR18B20;调用写时序

MOVA,#44H

LCALLWR18B20;调用写时序

LCALLRST18B20;初始化

MOVA,#0CCH

LCALLWR18B20

MOVA,#0BEh;发出温度转换命令

LCALLWR18B20;调用读时序

LCALLRE18B20

RET

18B20初始化子程序

RST18B20:

SETBDQ

NOP

CLRDQ

MOVR0,#06BH

MOVR1,#03H

DSR1:

DJNZR0,DSR1

MOVR0,#6BH

DJNZR1,DSR1

SETBDQ

NOP

NOP

NOP

MOVR0,#25H

DSR2:

JNBDQ,DSR3

DJNZR0,DSR2

LJMPRST18B20

DSR3:

MOVR0,#06BH

DJNZR0,$

SETBDQ

RET

;18B20写时序

WR18B20:

MOVR0,#8H

CLRC

WR1:

CLRDQ

MOVR1,#6H

DJNZR1,$

RRCA

MOVDQ,C

MOVR1,#23

DJNZR1,$

SETBDQ

NOP

DJNZR0,WR1

SETBDQ

RET

;18B20读时序

RE18B20:

MOVR0,#29H;低8位存在29H

MOVR1,#2

RE00:

MOVR2,#8

RE01:

CLRC

CLRDQ

NOP

NOP

NOP

SETBDQ

MOVR3,#09

RET10:

DJNZR3,RET10

MOVC,DQ

MOVR3,#23

RE20:

DJNZR3,RE20

RRCA

DJNZR2,RE01

MOV@R0,A

decR0;R0变成28H,存储高8位

DJNZR1,RE00

RET

;计算子程序

start:

MOVA,28H;高8位

ANLA,#0F0H;判断温度正负,高4位全是1为负,是0为正

CJNEA,#0,DD1

LJMPDD3

DD1:

MOVA_BIT,#10;温度为负,最高位显示“—”

MOVA,29H;低8位

SUBBA,#1;补码换算

MOVB,PSW

ANLB,#80H

CPLA

MOV29H,A

MOVA,B

RLA

MOVB,A

MOVA,28H

SUBBA,B

CPLA

MOV28H,A

MOVD_BIT,29H

MOVA,29H;计算温度

ANLA,#0F0H

SWAPA

MOV29H,A;保留低8位的高4位

MOVA,28H

ANLA,#0FH

SWAPA

MOV28H,A;保留高8位的低4位

MOVA,29H

ADDA,28H;计算出8位温度值

MOV29H,A

ACALLWARN_L;调用低温报警判断

MOVA,29H

AJMPDD4

DD3:

MOVD_BIT,29H;温度为正,计算

MOVA,29H

ANLA,#0F0H

SWAPA

MOV29H,A;保留低8位的高4位

MOVA,28H

ANLA,#0FH

SWAPA

MOV28H,A;保留高8位的低4位

MOVA,29H

ADDA,28H;计算出8位温度值

MOV29H,A

LCALLWARN_H;调用高温报警判断

MOVA,29H

DD6:

MOVB,#100

DIVAB

MOVA_BIT,A;百位

MOVA,B

DD4:

MOVB,#10

DIVAB

MOVB_BIT,A;十位

MOVC_BIT,B;个位

MOVA,D_BIT;小数位计算

ANLA,#0FH

MOVB,#6

MULAB

MOVB,#10

DIVAB

movD_BIT,A;小数位

RET

高温判断子程序

WARN_H:

JNBP0.0,WA;按键加上限

JNBP0.1,WS;按键减上限

MOVA,29H

CJNEA,BJ_H,S1;温度比较

CLRP2.1;相等红灯亮

SETBP2.2;绿灯灭

RET

S1:

MOVA,PSW

ANLA,#80H

CJNEA,#0,S2

CLRP2.1;大于红灯亮

SETBP2.2;绿灯灭

RET

S2:

CLRP2.2;小于绿灯亮

SETBP2.1;红灯灭

RET

WA:

INCBJ_H上限加1

MOVA,BJ_H

LCALLDD6

BB1:

LCALLDISPLY

JNBP0.0,BB1

MOVA,29H

CJNEA,BJ_H,S1

CLRP2.1

SETBP2.2

RET

WS:

DECBJ_H;上限减1

MOVA,BJ_H

LCALLDD6

BB2:

LCALLDISPLY

JNBP0.1,BB2

MOVA,29H

CJNEA,BJ_H,S1

SETBP2.1

CLRP2.2

RET

;低温报警判断子程序

WARN_L:

MOVA,29H

CJNEA,BJ_L,S3

CLRP2.1

SETBP2.2

RET

S3:

MOVA,PSW

ANLA,#80H

CJNEA,#0,S4

CLRP2.1

SETBP2.2

RET

S4:

CLRP2.2

SETBP2.1

RET

;延时子程序

DELAY:

NOP

DL:

NOP

DJNZR7,DL

RET

;数字显示子程序

DISPLY:

MOVDPTR,#TAB

MOVA,D_BIT

MOVCA,@A+DPTR

MOVP1,A

SETBP3.3;小数位亮,其它位灭

LCALLDELAY1mS

CLRP3.3

MOVA,C_BIt

MOVCA,@A+DPTR

MOVP1,A

clrP1.7;小数点亮

setbP3.2;个位亮,其它位灭

LCALLDELAY1mS

clrP3.2

MOVA,B_BIT

MOVCA,@A+DPTR

MOVP1,A

setbP3.1;十位亮,其它位灭

LCALLDELAY1mS

clrP3.1

MOVA,A_BIT

MOVCA,@A+DPTR

MOVP1,A

setbP3.0;百位亮,其它位灭

LCALLDELAY1mS

clrP3.0

RET

;延时

DELAY1MS:

MOVR6,#0FH

DEL0:

MOVR5,#0FH

DEL1:

DJNZR5,DEL1

DJNZR6,DEL0

RET

;共阳显示

TAB:

DB0C0H,0F9H,0A4H,0B0H

DB99H,92H,82H,0F8H

DB80H,90H,0BFH

end

3.4.2仿真

4结束语

经过将近三周的单片机实习,在指导老师和同学的帮助下,我确实学到了不少平时在课堂上所学不到的知识。

这次的设计课题是数字温度计,刚拿到这个题目,刚开始觉得有点不知所措,不知道该从何下手,但经过不断的上网,到图书馆查资料,渐渐有了头绪,在加上老师的辛勤辅导和同学们的互助,我信心倍增。

这样的实习使我深刻认识到我对理论知识掌握的程度,并且他在一定程度上对我们的理论知识和实践能力都有很大的帮助,经过这些实习可以使我们能更快更准确的掌握专业方面的理论知识。

为以后踏上社会适应社会奠定了坚实的基础。

总而言之,这次实习使我获益非浅,我感觉这次实习我们得到更多的是,对办任何事情我们都要先经过认真细致的观察和分析,然后才能确定我们到底该如何去做,不然,只会是事倍功半。

同时我也认识到我的单片机编程学的不是太好,以后我要加强这方面的锻炼,将所学知识应用到实践当中去,为毕业后走向社会作好准备。

最后,衷心感谢辅导老师的指导和同学的帮助!

 

参考文献

[1]周航慈著.单片机应用程序设计基础.北京:

电子工业出版社,1997年7月

[2]朱承高.电工及电子技术手册[M].北京:

高等教育出版社,1990

[3]阎石.数字电子技术基础(第三版).北京:

高等教育出版社,1989

[4]廖常初.现场总线概述[J].电工技术,1999.6

[5]李广弟编著.单片机应用程序设计基础.北京:

北京航空航天大学出版社,1994年6月

[6]李建忠著.单片机原理及应用(第三版).西安电子科技大学出版社,2002年2月

[7]徐君鹏编写.单片机实验指导书.河南科技学院自动控制实验室,2014年9月

 

附录一

 

附录二

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

当前位置:首页 > 人文社科 > 军事政治

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

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