基于单片机的数字温度计设计07095.doc

上传人:scccc 文档编号:14400547 上传时间:2022-02-05 格式:DOC 页数:26 大小:1.37MB
返回 下载 相关 举报
基于单片机的数字温度计设计07095.doc_第1页
第1页 / 共26页
基于单片机的数字温度计设计07095.doc_第2页
第2页 / 共26页
基于单片机的数字温度计设计07095.doc_第3页
第3页 / 共26页
基于单片机的数字温度计设计07095.doc_第4页
第4页 / 共26页
基于单片机的数字温度计设计07095.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于单片机的数字温度计设计07095.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计设计07095.doc(26页珍藏版)》请在三一文库上搜索。

1、 专科毕业设计(论文)设计题目: 基于单片机的数字温度计设计 系 部: 电气工程系 专 业: XX 班 级: XX 姓 名: XX 学 号:XX 指导教师: XX 职 称: XX 20XX年X月 南京摘 要在生产与生活中的很多领域都要用到温度测量,传统的玻璃水银式与机械指针式温度计都存在读数不直观的缺点,而数字温度计兼有显示直观与测量准确等优点。本文以STC89C51单片机为核心、DS18B20温度传感器为测温元件、 LCD1602液晶为显示器件,设计并制作了一个数字温度计。实验结果表明,该数字温度计测量范围为0100,测量精度达0.5。该数字温度计具有成本低、体积小、响应速度快、界面友好等优

2、点,可广泛用于多种测温场合。关键词 数字温度计 温度测量 DS18B20 LCD1602 AbstractThere are various fields of temperature measurement application in production and living. Traditional glass-mercury and mechanical-pointer type thermometers both have defaults of reading obscurely. Yet, digital thermometers have advantages of read

3、ing intuitively and measuring accurately. In this paper, the design and fabrication of a digital thermometer is illustrated, which uses STC89C51 microcontroller unit as controlling kernel, DS18B20 temperature sensor as measuring element, and LCD1602 liquid crystal displayer as displaying device. The

4、 experiment results shows that the temperature measurement range is 0100, and the temperature measurement accuracy is 0.5. In summary, this digital thermometer has advantages of low cost, small volume, fast response, friendly interface, etc. And it can be extensively used in lots of field for temper

5、ature measurement.KeywordsDigital Thermometer Temperature Measurement DS18B20 LCD1602目 录1 引言12 单片机概述13 设计要求与系统方案23.1设计要求23.2系统方案24硬件设计24.1单片机选型24.2温度测量电路设计34.3 LCD液晶显示电路设计55软件设计75.1流程图设计75.2源程序设计86实现结果166.1 PROTEUS仿真软件简介166.2 仿真结果176.3实际结果18结论19致谢20参考文献21 江苏海事职业技术学院2011届专科生毕业设计 第22页1 引言温度测量作为一项基本单元技

6、术,广泛应用于机械仪表、制造流程、农牧食品、医疗保健以及家居生活等众多领域。尽管温度测量的方法多种多样,但常用的温度计可归结为玻璃水银型、机械指针型与数字显示型等三大类。玻璃水银型温度计能够做到高精度与高可靠性,但存在容易破碎、读数不直观的缺点;机械指针型温度计的坚固耐用性与读数直观性都比水银温度计增强很多,但存在精度较差、读数仍然不够直观的缺点;数字温度计不仅显示直观,而且也能够达到较高的精度与可靠度,并具有体积小、造型美观的优点。随着微电子技术的发展,基于单片机、温度传感器与液晶显示器的数字温度计性价比不断提高,将会在生产与生活中得到越来越多的应用。本课题采用STC89C51单片机作为控制

7、核心,DS18B20温度传感器作为测温元件,LCD1602液晶屏作为显示器件,设计并实现了一个数字温度计。2 单片机概述(1)基本定义所谓单片机,就是把中央处理器CPU(Central Processing Unit)、存储器(Memory)、定时器、I/0(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。(2) 单片机的特点 小巧灵活,成本低,易于产品化,很高的性价比。 集成度高,有很高的可靠性,能在恶劣环境下工作。 控制功能强,特别是集成了功能接口电路,使用更方便有效。 低功耗,低电压,便于生产便携式产品。(3) 单片机的应用单片机的应用范

8、围很广,比如智能仪器仪表、工业自动化、消费类电子产品、终端及外部设备控制、通讯、武器装备等。3 设计要求与系统方案3.1设计要求 该数字温度计要求达到以下性能:(1) 测温范围为0100;(2) 测温精度为0.5;(3) 用LCD1602液晶显示温度值。3.2系统方案图 1 数字温度计系统方案数字温度计系统方案设计如图1所示。该系统以单片机为核心控制器件,外围电路主要包括测温电路和显示电路,系统结构简单可靠。该系统的工作过程如下:首先,通过测温电路将采集到的温度信号转换成与温度值成正比的串行数字信号;然后,将该数字信号送入单片机处理;最后,由单片机将处理结果输出,驱动显示电路显示当前的温度值。

9、4 硬件设计4.1单片机选型单片机种类繁多,在使用时要根据系统功能要求、设计任务的复杂程度进行合理选择,才能达到设计要求和最大的性价比。本设计处理的温度信号变化缓慢,所以对单片机的处理速度要求不高。另外,该设计功能简单,程序代码较短,因此对单片机的程序存储器容量要求不高,且只需要两个并口就能满足系统的设计需要。考虑到上述系统功能需求以及经济成本,本设计选用STC89C51单片机。STC89C51单片机是宏晶公司生产的低功耗、高性能8位单片机,片内含4KB的Flash程序存储器和512B的数据存储器,兼容标准MCS-51指令系统及引脚。另外,STC89C51单片机支持ISP(在系统编程)技术,程

10、序烧录方便,且性能稳定、性价比高,可灵活运用于各种控制领域,对于简单的测温系统已经足够。4.2温度测量电路设计4.2.1温度传感器简介DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,可直接将温度转化成串行数字信号,它具有体积小、低功耗、性能好、抗干扰能力强、接口电路简单等优点。DS18B20实物如图 2所示。 (1)DS18B20主要性能 与微处理器双向通信时只需要一条口线。 不需要外围元件。图2 DS18B20实物图 可通过电脑的USB口供电。 测温范围达到一55125。固有测温分辨率为0.5。 可实现912位的数字读数方式。 可实现多点测温。(2)D

11、S18B20引脚结构DS18B20有两种封装,一种是最常用的TO-92直插式,另一种是SOIC贴片式,封装引脚见图3。(a)TO-92(DS18B20) (b)SOIC(DS18B20)图3 DS18B20引脚封装图DS18B20各引脚功能如下所示: GND:电源地 DQ:数字信号输入输出端 VDD:外接供电电源输入端 NC:悬空(3)DS18B20工作时序由于采用单总线数据传输方式,DS18B20的数据输入/输出均由同一条线完成。DS18B20初始化时序如图4所示,读写工作时序如图5所示。图4 DS18B20初始化时序图图5 DS18B20读写时序图由于DS18B20单线通信功能是分时完成的

12、,所以它对读写的操作时序有严格的要求。系统对DS18B20的各种操作必须按协议进行。一般的操作过程是,初始化DS18B20(发复位脉冲)、发ROM功能命令、发存储器操作命令、处理数据。4.2.2 具体电路由于DS18B20采用独特的单线接口方式,所以测温电路很简单,如图6所示。DS18B20的数据线DQ通过4.7K的上拉电阻与STC89C51单片机的P3.6口相连。图6 测温电路4.3 LCD液晶显示电路设计4.3.1 LCD1602液晶简介图7 1602液晶实物图液晶(Liquid Crystal )是功耗极低的被动式显示器件,被广泛应用于便携式仪表或功耗低的显示设备中。其工作电流低,尺寸小

13、,显示字迹清晰美观,寿命长,使用方便,显示信息量大。图7是1602液晶实物图。图8 LCD1602的引脚排列液晶是一种高分子材料,它的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接称为液晶。(1) LCD1602液晶引脚结构LCD1602的引脚排列如图8所示,它有16个引脚可与外界相连,各引脚功能如下所示:第1脚VSS:接地。第2脚VDD:接5V电源。第3脚VEE:对比度调整端。第4脚RS寄存器选择端:RS为0、1时,分别选择命令寄存器、数据寄存器。第5脚R/W读写控制端:R/W为1时,读出;R/W为0时,写入。第6脚Enable使能控

14、制端:Enable为1时,使能;Enable为0,禁止。第7脚14脚:D0D7数据总线。(3) 写操作时序LCD1602液晶写操作时序如图9所示。LCD1602对写操作时序有严格的要求。系统对LCD1602的各种操作必须按协议进行。一般的操作过程是,初始化1602液晶、通过RS确定是写数据还是写命令、读写控制端设置为写模式、完成写操作。图9 1602液晶写操作时序图4.3.2 具体电路图10 LCD液晶显示电路LCD液晶显示电路如图10所示。STC89C51单片机的P1.0、P1.1、P1.2口分别与LCD1602液晶的RS寄存器选择端、R/W读写控制端和Enable使能控制端连接。LCD16

15、02液晶的数据总线通过1K上拉电阻与P0口相连。LCD1602液晶的VEE端接10K可调电阻,通过调节电阻大小来调节背光。5软件设计5.1流程图设计本软件采用采用模块化设计方法。主程序流程图如图11所示,在主程序中完成液晶初始化工作,每隔一段时间调用一次读温度子程序,然后进行温度转换并显示温度值。读温度子程序如图12所示。读温度子程序调用了DS18B20复位初始化子程序、写命令子程序和读命令子程序。 图11主程序流程图 图12读温度子程序流程图5.2 源程序设计(1)DS18B20温度传感器读写功能的实现例如,要跳过ROM匹配,根据DS18B20的控制命令字,跳过ROM匹配命令的代码是“CCH

16、”。要实现这一功能就必须把“CCH”写入DS1820,具体代码是: MOV A, # 0CCH ;命令“CCH”存入A LCALL WR18B20 ;调用写数据子程序执行上面程序后,跳过ROM匹配, 忽略64位ROM地址,直接向DS18B20发温度变换命令。(2)时序的实现对DS18B20温度传感器、LCD1602液晶的操作必须符合严格的时序要求,所有时序通过软件模拟实现。(3)完整的源程序;-定义变量- E BIT P1.2 ;液晶使能端 RW BIT P1.1 ;液晶读写选择端 RS BIT P1.0 ;液晶数据命令选择端 LCDPORT EQU P0 ;数据口 CMD_BYTE EQU

17、30H ;命令 DAT_BYTE EQU 31H ;数据;-主程序- ORG 0000HSTART: LCALL INITLCD ;液晶初始化RUNI: LCALL GET_TEM ;调用读温度子程序 LCALL B2T_CH ;调用温度数值转换子程序LCALL DISP ;调用液晶显示子程序 AJMP RUNI ;重复循环;-读DS18B20传感器的温度值-GET_TEM : SETB P3.6 LCALL RST18B20 ;复位DS18B20 JB 00H,DZ RETDZ: MOV A, #0CCH ;跳过ROM匹配 LCALL WR18B20 MOV A, #44H;向DS18B20

18、发出温度转换命令 LCALL WR18B20 LCALL DELAY1 LCALL RST18B20 ;准备读温度前先复位DS18B20 MOV A, #0CCH ;跳过ROM匹配 LCALL WR18B20 MOV A, #0BEH ;向DS18B20发出读温度命令 LCALL WR18B20 LCALL RE18B20 ;读出温度数据 RET;-DS18B20复位初始化程序 -RST18B20: SETB P3.6 NOP CLR P3.6 MOV R0, #06BH ;主机发出复位低脉冲 MOV R1, #03HDSR1: DJNZ R0, DSR1 MOV R0, #6BH ;660u

19、s复位低电平 DJNZ R1, DSR1 SETB P3.6 ;拉高数据线 NOP NOP NOP MOV R0, #25HDSR2: JNB P3.6,DSR3 ;等待DS18B20回应 DJNZ R0, DSR2 LJMP DSR4DSR3: SETB 00H ;置标志位,表示DS1820存在 LJMP DSR5DSR4: CLR 00H ;清标志位,表示DS1820不存在 LJMP DSR7DSR5: MOV R0, #117DSR6: DJNZ R0, DSR6 ;延时一段时间DSR7: SETB P3.6 RET;-写DS18B20的子程序 -WR18B20:MOV R2, #8 ;

20、写一个字节8bit命令 CLR C WR1: CLR P3.6 MOV R3, #6 DJNZ R3,$ ;12us左右延时 RRC A MOV P3.6,C MOV R3, #23 DJNZ R3,$ ;50us延时,确保DS18B20电平采样正确 SETB P3.6 NOP DJNZ R2,WR1 SETB P3.6 RET;- 从DS18B20中读温度数据程序-;- 2FH存温度值的高字节,2EH存温度值的低字节 -RE18B20:MOV R4, #2 MOV R1, #2FHRE00: MOV R2,#8RE01: CLR C SETB P3.6 NOP NOP CLR P3.6 NO

21、P NOP NOP SETB P3.6 MOV R3, #9RE10: DJNZ R3, RE10 ;延时12us MOV C,P3.6 MOV R3,#23RE20: DJNZ R3, RE20 ;延时50us RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00RET;- 显示子程序 -DISP: LCALL DISPMSG1 ;显示第一行 LCALL DISPMSG2 ;显示第二行 RET;-温度数据转换子程序-B2T_CH:MOV A,2FH ANL A,#0F0H SWAP A MOV 2DH,A MOV A,2EH ANL A,#07H M

22、OV B,#16 MUL AB ADD A,2DH ;得到温度数据的十进制值 MOV B,#10 DIV AB ;获得温度数据的十位 MOV 2CH,A MOV 2BH,B MOV A,2BH MOV B,#10 DIV AB ;获得温度数据的个位和小数点后数字 MOV 2BH,A MOV 2AH,B RET;-LCD写命令-WRITE_CMD: CLR RS ;0写指令寄存器,1写数据寄存器 CLR RW ;0表示写,1表示读 MOV A,CMD_BYTE MOV LCDPORT,A ;将命令送达数据线 NOP NOP SETB E ;给E一个高脉冲,完成写操作 LCALL DELAY CL

23、R E RET;- LCD写数据-WRITE_DAT:SETB RS ;0写指令寄存器,1写数据寄存器 CLR RW ;0表示写,1表示读 MOV A,DAT_BYTE MOV LCDPORT,A ;将数据送达数据线 NOP NOP SETB E ;给E一个高脉冲,完成写操作 LCALL DELAY CLR E RET;-LCD初始化-INITLCD: CLR E MOV CMD_BYTE,#38H ;设置16x2显示,5X7点阵,8位数据接口 LCALL WRITE_CMD MOV CMD_BYTE,#01H ;显示清0,数据指针清0 LCALL WRITE_CMD MOV CMD_BYTE

24、,#06H ;写一个字符后地址指针加1 LCALL WRITE_CMD MOV CMD_BYTE,#0CH ;设置开显示,不显示光标 LCALL WRITE_CMD RET;-显示第一行-DISPMSG1:MOV CMD_BYTE,#080H ;第一行地址 LCALL WRITE_CMD MOV R7,#10H MOV R6,#00H MOV DPTR,#TABDISPMSG1_1:MOV A,R6 MOV C A,A+DPTR MOV DAT_BYTE,A LCALL WRITE_DAT ;写数据 INC R6 DJNZ R7,DISPMSG1_1 RET;-显示第二行-DISPMSG2:

25、MOV A,2CH ADD A,#30H ;得到十位数的ASCII码 MOV 11H,A MOV A,2BH ADD A,#30H ;得到个位数的ASCII码 MOV 12H,A MOV 13H,#2EH ;得到小数点符号. MOV A,2BH ADD A,#30H ;得到小数点后数的ASCII码 MOV 14H,A MOV 15H,#223 MOV 16H,#067 ;得到温度单位符号 MOV CMD_BYTE,#0C6H LCALL WRITE_CMD MOV R1,#11H MOV R2,#4DISPMSG2_2:MOV A,R1 MOV DAT_BYTE,A LCALL WRITE_D

26、AT INC R1 DJNZ R2,DISPMSG2_2 RET;-第一行字符-TAB: DB Now Temperature:;-延时子程序-DELAY: MOV R4,#2DEL02: MOV R3,#250DEL03: DJNZ R3,DEL03 DJNZ R4,DEL02 ; RETDELAY1: MOV R3,#38H ;延时DL3: MOV R4,#86H DL2: MOV R5,#20HDL1: NOP NOP DJNZ R5,DL1 DJNZ R4,DL2 DJNZ R3,DL3 RET END6 实现结果6.1 PROTEUS仿真软件简介PROTEUS是一款集单片机仿真和SP

27、ICE分析于一身的EDA仿真软件,经过多年的发展,已成为当前EDA市场上性价比最高、性能最强的一款软件。PROTEUS现已在50多个国家得到应用,广泛应用于高校的大学生或研究生电子教学与实验以及公司实际电路设计与生产。PROTEUS除了具有和其它EDA工具一样的原理图设计、PCB自动生成及电路仿真的功能外,最大特点是PROTEUS VSM (Virtual System Modelling)实现了混合模式的SPICE电路仿真,它将虚拟仪器、高级图表仿真、微处理器软仿真器、第三方的编译器和调试器等有机结合起来,在世界范围内第一次实现了在硬件物理模型搭建成功之前,即可在计算机上完成原理图设计、电路

28、分析与仿真、处理器代码调试及实时仿真、系统测试,以及功能验证。6.2 仿真结果图13仿真结果图在PROTEUS软件中调试仿真系统成功后,运行系统。在该系统中,可以通过调节U2传感器按钮改变模拟环境温度值,当调节模拟温度值在0100范围内变化时,液晶显示值也会随之改变,且与模拟温度值保持一致。例如:当模拟温度值调节为47.9时,液晶显示“Now temperature:48.2”,如图13所示。液晶显示值与模拟环境温度值之间的误差为0.3,满足精度要求。通过调节U2传感器按钮,笔者随机采样温度,得到如表1所示的数据组。仿真实验结果表明,该数字温度计的测量范围达到0100,测量误差小于0.5,且显

29、示直观,达到设计要求。 表1 模拟环境温度值与液晶显示温度值对比表模拟环境温度值液晶显示温度值误差5.35.40.117.717.5-0.225.625.80.247.948.20.387.487.3-0.16.3 实际结果仿真调试成功后,开始实物制作。首先,准备好万用板、STC89C51单片机、102可调电阻、DS18B20 温度传感器、LCD1602液晶等元器件材料;然后,按照仿真电路图焊接硬件电路、烧录程序、软硬联调;最后,调试成功,制作完成数字温度计,如图14所示。图14 数字温度计实物制作图在室温下做实际实验,首先通过USB口给实验电路板供5V电压,数字温度计开始工作,然后通过调节L

30、CD1602液晶102可调电阻的电阻大小来调节液晶背光,液晶清晰显示:“Now temperature:27.9”。通过高精度温度计测量得到当时环境温度值为27.5,计算出液晶显示温度值的误差为0.4,完全达到精度要求。结 论本课题采用STC89C51单片机为控制核心,以DS18B20温度传感器为测温元件,以LCD1602液晶作为显示器件,设计并制作了一个数字温度计。该数字温度计实现的测量范围为0100,测量精度达0.5,兼有显示直观与测量准确可靠的优点,并且体积小、响应快,具有较高的性能价格比。该数字温度计仍然存在一些改进的空间,比如测量范围可以扩展到0100外,测量精度还可进一步提高,可以

31、采用纽扣电池供电以便携带等。随着温度传感技术的发展,高性能温度传感器的价格会不断下降,数字温度计的性价比还会进一步提高,其在各领域的应用也会不断扩大。致 谢这次毕业设计在设计与操作的过程中,感谢指导老师给了我很大的帮助。同时也离不开同学的热情帮助,是他们在我遇到困难的过程中给了我启发,通过本次毕业设计,我在专业知识、专业技能和解决问题方面都得到了很大的提高。更深入了解和掌握了传感器的基本理论知识,并在单片机实际电路开发和常用编程设计思路方面有了一定程度的提高,虽然本次设计不是很完美,但是为我以后的设计累积了经验。然而由于缺乏实际工程经验,加之设计水平有限,设计中不妥之处在所难免,请各位老师批评

32、指正。祝全体老师身体健康,万事如意,工作顺利!参 考 文 献1 赵秀珍. 单片微型计算机原理及其应用. 中国水利水电出版社,20082 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社,20083 潘新民, 王燕芳. 微型计算机控制技术. 北京:电子工业出版社,20034 李广弟. 单片机技术M. 北京:航空航天大学出版社.20015 阎石. 数字电子技术基础(第三版). 北京:高等教育出版社,20096 黎旺星. 项目驱动式单片机教程. 北京:中国电力出版社,20097 王勇, 叶敦范. 基于AT89C51的便捷式实时温度检测仪J.仪表技术与传感器,2006(1)8 沈德金, 陈粤初. 单片机接口电路与应用程序实例. 北京:航空航天大学出版社,20089 赵俊生. 单片机技术项目化原理与实训. 北京:电子工业出版社,200910 李学礼. 基于Proteus 的8051单片机的实例教程. 北京:电子工业出版社,200811

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1