温度计实习报告.docx
- 文档编号:14807672
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:24
- 大小:170.51KB
温度计实习报告.docx
《温度计实习报告.docx》由会员分享,可在线阅读,更多相关《温度计实习报告.docx(24页珍藏版)》请在冰点文库上搜索。
温度计实习报告
单片机原理与应用技术
课程设计报告(论文)
数字式温度计
专业班级:
电气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月 附录一 附录二
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度计 实习 报告