2022年温度测量程序设计 .pdf

上传人:Q****o 文档编号:28564727 上传时间:2022-07-28 格式:PDF 页数:11 大小:150.07KB
返回 下载 相关 举报
2022年温度测量程序设计 .pdf_第1页
第1页 / 共11页
2022年温度测量程序设计 .pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《2022年温度测量程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年温度测量程序设计 .pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于 51 单片机的数字温度计设计一.课程设计题目温度测量程序设计(二)二.课程设计目的和要求 1、目的:通过对做的设计任务的实现,起到串起几年来所学的模数技术、传感器技术、单片机技术及智能仪器等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。 2、要求:利用数字温度传感器DS18B20测量温度信号,计算后在LED 数码管上显示相应的温度值。其温度测量范围为-55 度125 度

2、,精确到0.5 度。三.硬件电路设计及描述 1、硬件框图与说明:图 1 硬件总体设计框图控制器采用单片机8031,温度传感器采用DS18B20 ,用 6 位共阴极LED 数码管通过8279实现温度显示。1.1 主控制器:8031,P1 口 P3 口对用户开放, 时钟频率为6.0MHz ,程序存储器和数据存储器统一编址,最多可达64k ,其中 4000H-5FFFH为用户实验程序存储区,供用户下载实验程序。所以在编写程序的时候,程序的起始地址为4000H 。1.2 LED显示模块:由 6 位共阴极LED 数码管、位驱动电路、端输入电路组成,采用动态扫描的方式显示。其中该模块包括了数码管6 个、

3、75451 位驱动器3 个、74LS244段驱动器一个、74LS138一个、 8279 一个,其具体接线如图4 所示。1.3 温度传感器1.3.1 DS18B20概述:DS18B20 温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个 DS18B20可以并联在惟一的三线上,实现多点组网功能;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

4、- - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 无须外部器件;可通过数据线供电,电压范围为3.05.5 ;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;1.3.2 DS18B20的内部结构:DS18B20采用脚PR35 封装或脚SOIC 封装,其内部结构框图如图2 所示。图 2 DS18B20内部结构 64 位 ROM 的结构开始位是产品类型的编号,接着是每个器件的惟一的序号。 DS18B20

5、温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的 EERAM 。高速暂存RAM 的结构为9 字节的存储器,结构如图3 所示。图 3 DS18B20字节定义其中 1、2 字节用来存放当前温度,1 为低 8 位, 2 为高 8 位。字节3、4 用来预置报警温度的上下限,字节5 用于配置寄存器,用于确定温度数据位数,字节6、7、8 均为保留字节,字节 9 存放前 8 个字节循环冗余校验码。(CRC )1.3.3 DS18B20的两个表格:由表 1 可见, DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。表 1 DS18B20温度转换时间表R1 R0

6、 温度位数最大转换时间0 0 9 位 93.75ms 0 1 10 位 187.5ms1 0 11 位 375ms 1 1 12 位 750ms 表 2一部分温度对应值表温度 / 二进制表示十六进制表示+125 0000 0111 1101 0000 07D0H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0000

7、0191H +10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1111 1111 0000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 1.3.4 DS18B20的测温原理DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲

8、信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,

9、停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20 (发复位脉冲) 发 ROM 功能命令 发存储器操作命令处理数据。 DS18B20温度传感器与单片机的接口为 1 接地, 2 接 P1.0 口, 3 接 4.7K 上拉电阻, 2、电路原理图与说明图 4 总体电路原理图说明: DS18B20的 2 与单片机P1.0 口相连,

10、 1 接地, 3 接 4.7K 上拉电阻。单片机与LED显示模块相连 (其中该模块包括了数码管6 个、75451 位驱动器3 个、74LS244段驱动器一个、74LS138一个、 8279 一个,)。各个芯片如图所示,其接线是按照缔造者电子电气技术综合实验操作平台指导书提供的原理图接线。四.软件设计流程及描述名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 1、主要模块流程图2、源程序代码 ;数字温度传感器 TEMP EQU 3

11、0H TEMP1 EQU 40H TEMP2 EQU 41H ORG 4000H LJMP START ORG 4100H START: LCALL RESET ;ds18b20复位MOV A,#0CCH ;发 SKIP ROM命令LCALL WRITE MOV A,#44H ;发开始温度转换命令LCALL WRITE LCALL DLY1S ;延时LCALL RESET ; ds18b20复位MOV A,#0CCH ;发 SKIP ROM命令LCALL WRITE MOV A,#0BEH ;发读存储器命令LCALL WRITE LCALL READ ;读出温度值1 名师资料总结 - - -精

12、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - MOV TEMP2,TEMP ;温度低 8 位存放41H LCALL READ ;读出温度值2 MOV TEMP1,TEMP ;温度高8 位存放在40H ;开始数值转换MOV A,41H RR A RR A RR A ;把 D3 位右移到D0 ANL A,#01H ;除 D0 位,其他全部置零MOV B,#5 MUL AB ;由于原D3 位权值为0.5,故扩大10 倍乘 5 后放十分位 MOV 42H,A

13、 ;十分位转换结束,送42H 保存NOP ;设置断点,方便修改和查阅MOV A, 40H ANL A, #0FH ;把 40H 中高四位置零RL A RL A RL A RL A ;40H 左移 4 位MOV 40H, A ;40H中低四位移到高四位,低四位为零MOV A, 41H ANL A, #0F0H ;把 41H 中小数点后的值全部置零RR A RR A RR A RR A ;41H 右移 4 位MOV 41H, A ; 把 41H 中高四位移到低四位,高四位置零MOV A, 40H ORL A, 41H ;组成新的带符号无小数点的八位数字温度,最高位为符号位名师资料总结 - - -精

14、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - MOV 43H,A ;暂存温度值,原41H 的高 4 位做 43H 的低 4 位,原 40H 的低 4 位做 43H的高 4 位 ANL A,#80H ; 除最高位有效,其他置零 RR A RR A RR A RR A MOV 44H,A ;判断温度值的符号位,把结果放44H ,44H 中要只有0 和 8,0 为正, 8为负NOP MOV A,43H ;恢复带符号八位无小数点温度ANL A,#7FH ;屏

15、蔽符号位MOV B, #0AH DIV AB ;无符号温度值除以10 MOV 40H, A ;商送 40H 暂存 MOV A, B ;余数通过 A 送 41H 保存 MOV 41H, A ;存个位十进制温度值 MOV A,40H MOV B,#0AH DIV AB ;商作为被除数再除以10 MOV 39H,A ;商存入 39H ,存百位十进制温度值 MOV A,B ;余数通过A 送 40H 保存 MOV 40H,A ;存十位十进制温度值 ;开始显示程序DISP: MOV DPTR, #0CFE9H MOV A, #08H MOVX DPTR, A MOV DPTR,#0CFE9H ;写显示 R

16、AM 命令字 MOV A,#90H MOVX DPTR,A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - MOV A,44H ; 显示符号 ACALL TABLE2 ;查表 TABLE2 MOV DPTR,#0CFE8H MOVX DPTR,A MOV A,39H ;显示百位,若百位不存在,则用0 表示 ACALL TABLE ;查表 TABLE MOV DPTR,#0CFE8H MOVX DPTR,A MOV A, 40H

17、 ;显示十位转换结果 ACALL TABLE ; TABLE,转换为显码 MOV DPTR, #0CFE8H ;8279数据口地址 MOVX DPTR, A ;送显码输出 MOV A, 41H ;显示个位转换结果 ACALL TABLE1 ; TABLE1,转换为显码 MOV DPTR, #0CFE8H ;8279数据口地址 MOVX DPTR,A ;送显码输出 MOV A,42H ;显示十分位 ACALL TABLE ;查表 TABLE MOV DPTR ,#0CFE8H MOVX DPTR ,A CALL DELAY ;延时 LJMP START ;循环扫描; DELAY: MOV R6,

18、#255 ; 延时DEL2: MOV R5,#255 DEL3: NOP NOP DJNZ R5,DEL3 DJNZ R6,DEL2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - RET ; TABLE: INC A ;不带小数点0-15 ,提供百、十、十分位查表 MOVC A,A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H

19、,71H TABLE1: INC A ;带小数点 0-15 ,提供个位查表 MOVC A,A+PC RET DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H DB 0FFH,0EFH,0F7H,0FCH,0B9H,0CEH,0F9H,0F1H TABLE2: INC A ;全灭或者负号,提供符号位查表 MOVC A,A+PC RET DB 00H,00H,00H,00H,00H,00H,00H,00H DB 40H,00H,00H,00H,00H,00H,00H,00H ;初始化,复位操作RESET: L0: CLR P1.0 MOV R2, #120 L1:

20、NOP DJNZ R2,L1 SETB P1.0 ;主机发置位脉冲持续600us MOV R2,#15 L4: DJNZ R2,L4 ;等待 60usCLR C ORL C, P1.0 ; 数据线应变低JC L0 ; 没准备好,重来名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - MOV R6,#24 L5: ORL C, P1.0 JC L3 ; 数据线变高初始化成功DJNZ R6,L5 ;数据线低电平可持续240usSJMP

21、 L0 ; 初始化失败,重来L3: MOV R2, #125 L2: DJNZ R2,L2 ;应答过程最少480usRET ;把从 P1.0 口数据读入寄存器READ: MOV R6,#8 RE1: CLR P1.0 MOV R4, #4 NOP ;低电平持续4us NOP SETB P1.0 ;P1.0改为输入RE2: DJNZ R4,RE2 ;等待 12us MOV C, P1.0 RRC A ;按位读入 MOV R5, #15 RE3: DJNZ R5, RE3 ;保证读过程持续60us DJNZ R6, RE1 MOV TEMP, A SETB P1.0 RET ;把寄存器数据通过P1

22、.0 口送给 DS18B20 WRITE: MOV R3, #8 WR1: SETB P1.0 MOV R4, #5 RRC A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - CLR P1.0 WR2: DJNZ R4,WR2 ;数据线变低16us MOV P1.0, C ;命令字按位送 MOV R4, #15 WR3: DJNZ R4,WR3 ;保证整个写过程持续60us DJNZ R3,WR1 SETB P1.0 RET

23、 ;延时DLY1S: MOV R7,#255 MOV R6,#0 DLYB: NOP DJNZ R7,DLYB DJNZ R6,DLYB RET END ;结束五 .实验结果通过 DS18B20的 2 管脚和单片机的P1.0 口连线 ,16 位的温度数字量输出到单片机寄存器中,通过程序的作用,把16 进制的带符号温度值转化成10 进制带符号温度,通过LED 显示模块在数码管显示,数据如下表格示:表 3 实验结果部分数据十六进制( 40H 、41H ) 显示温度值()室温0128H 018.5 用手摩擦0190H 025.0 用打火机靠近0550H 085.0 通过程序运行,在LED 上显示了0

24、 1 8. 5的字样,表示当时的室温是正18.5 度,由于器件误差的存在和没办法进行温度的标定,所以当时温度应该比18.5 度低一点。实验中,共用了 5 位数码管,包括符号位(正的话管子灭,负的话显示“ -” ,)还有百位,十位,个位带小数点,十分位。能显示的最小刻度温度值为0.5 度。六.课程设计体会及总结:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 通过本次课程设计,使得我对四年来学习过的知识比如:电路,数、模电子技

25、术,单片机技术,自动检测技术, 电路板设计, 智能仪器的设计应用,传感器的使用等有了更进一步的认识。同时,也培养了我的动手能力以及抗压能力,也锻炼了我独立思考和独立完成任务的能力。在本次设计中,不但查阅了很多书本上的资料,也通过网络查阅到了很多的知识和芯片的结构接线等方面的知识。特别是关于DS18B20的结构和功能都是从网络查找的。设计已经完全成功,LED 的显示范围从-55 到+125 ,在一定的温度范围内,不考虑器件导致的误差的话,精度已经达到了0.5 。由于设备的欠缺,最后的温度标定没能够实现,所以LED的显示结果有一定的误差,其显示温度比真实温度偏高了些许。在整个设计中,我负责了所有程序的编写和修改,并调试硬件。在开始的前一天,由于没有清楚的认识到晶振的问题,使得实验无法进行下去,最后在老师的提示和建议下,我们修改了由于晶振引起的延时问题,最终主程序调试成功。在接下来的子程序编写中,虽然也有不少的困难,但是在大家的努力下问题都得以解决。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com