![《数字式温度计的设计》毕业设计[1]_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f1/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f11.gif)
![《数字式温度计的设计》毕业设计[1]_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f1/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f12.gif)
![《数字式温度计的设计》毕业设计[1]_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f1/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f13.gif)
![《数字式温度计的设计》毕业设计[1]_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f1/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f14.gif)
![《数字式温度计的设计》毕业设计[1]_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f1/2e5b5c9a-4379-4acd-9401-9b8c4dfdd0f15.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该高精度数字式温度计采用了由DALLAS公司生产的单线数字温度传感器DS18B20,它具有独特的单线总线接口方式。本毕业论文详细的介绍了单线数字温度传感器DS18B2
2、0的测量原理、特性以及在温度测量中的硬件和软件设计,该温度计具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。二、总体方案设计1、数字温度计设计方案论证2.1.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.1.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温
3、度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.2方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。2、硬件设计1.1 工作原理及硬件框图基于DS18B20的温度测量装置电路图如图1所示,包括单片机最小系统、温度传感器、和显示电路。温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),单片机对接收到的数字信号进行标度变换,转换成实际的温度值并送数码管显示。D
4、S18B20传感器可置于离装置150米以内的任何地方。 STC89C51是整个电路装置的控制核心,STC89C51内带4K字节的FlashROM,用户程序存放在此。图2 系统硬件框图3、 系统分析:本设计主要的任务是单片机软件的设计,而软件中的核心在于单片机与集成温度传感器DS18B20接口程序的设计,另外一点便是对数码管扫描显示的理解与运用。由于DS18B20集成了温度数据采集、模数转换于一体,因此外围电路非常简单。在进行软件设计前,须对该芯片反复研究,掌握其核心内容,其实程序在厂家提供的应用资料中也可以找到,关键是要对其工作过程的理解。对数码管扫描显示的程序设计,只要理解了其显示的工作原理
5、,也不是可以掌握的。3.1、制作重点:读取DS18B20的时序由于对DS18B20传感器数据的读取有一定的时序要求,因此在编写软件时要特别注意,先反复读懂该器件的读、写时序,然后根据所选用的晶振计算出机器周期的时间,为了使计算简单,在设计时将晶振选用12M,因为51系列单片机一个机器周期正好是12个时钟周期,因此选用12M晶振时,一个机器周期正好是1微秒,这样计算时间比较方便。对读取数据的处理从DS18B20芯片的资料中可以看出,其数据存储器的分配为:存储数据与温度的对应关系见下表:从以上的分析可以看出,温度值存储于两个字节单元中,温度与存储器的对应关系为:整个温度值由16位二进制数表示,最高
6、的5位为符号为,为零时代表正的温度值,为“1”时,代表的是负温度值,真正表示温度的是后11位数据,最低的四位表示小数位,其中0单元的高四位和1单元的低四位组合正好形成测得的温度整数值,这样我们在对读取的数据在进行处理时,只需将0单元的高四位和1单元的低四位通过重新组合,形成一个新的8位数据,这个数据便是测得的温度数值,但这是个16进制的数据,要输出10进制数进行显示,要进行相应的转换操作,至于将16进制数转换成10进制数据的汇编程序。数码扫描输出的处理为了节省单片机端口,输出显示采用扫描的方式进行。利用人眼对光的停留效应,通过电子开关的控制,节合显示数据的配合,完成三位数码管的扫描显示。4、
7、温度测量电路目前市面上的数字温度传感器有很多,比如DS18B20、MAX6575、DS1722、MAX6635等。用DS18B20可使系统结构更简单,可靠性更高。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B2
8、0的外形如图2所示,有三个引脚,引脚定义: DQ为数字信号输入/输出端, GND为电源地, VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字
9、输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。 DS18B20与单片机的接口电路很简单,如下图3所示。DS18B20的DQ即2号端于单片机P26口相接,另外两个管脚一个接5V电源,另外一个管脚接地。上拉电阻为5.1K的上拉电阻,分别接于单片机的EA/VP端与P2.7口。上拉电阻作用主要是若温度传感器开路或没接时,能起到上拉作用,使之为高电平,使后读电路保护作用。4.3 单片机最小系统4.3.1 单片机选型在本次设计中,主要用单片机STC89C51来控制。STC89C51是与8051兼容的CHMOS微控制器。其FL
10、ASH存储器容量为2KB。与CHMOS工艺的89C51一样,支持软件选择的空闲和掉电两种节电运行方式。性能如下:8位CPU工作电压范围2.76V全静态工作方式:0Hz24 Hz ;一个可编程串行口;有片内精密模拟比较器;2KB的FLASH存储;128B的数据存储器;15根输入/输出线;2个16位定时/计数器;5个中断源,2个优先级。STC89C51的FLASH存储器编程:STC89C51单片机提供了2KB的片内FLASH程序存储器,它允许在系统改写或用非易失性存储器编程器编程。FLASH存储器加密位:STC89C51单片机有2个加密位。可以编程(P)或不编程(U)以获得不同的加密功能。4.3.
11、2 最小系统图4 单片机最小系统时钟复位电路如图4所示,采用12MHz的晶振。复位电路采用了微分型复位电路。复位电路的基本功能是:系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。4.4 显示电路主要采用四位一体共阳极LED数码管组成,采用动态法显示,直接显示当前环境温度。P0口接数码管的段码,P1.0-P1.3接数码管的位线。按钮开关可选择小数点后显示一位或两位。 4.5 电源电路市电220V经过变压器
12、T1降压,得到一个交流的16v电压,再经过四个整流二极管整流、C5滤波得到直流电压,最后经过三端集成稳压管稳压,得到一个稳定的5V直流电压。2 软件设计在此系统中,主要包括温度测量、显示、键盘。最主要的程序是温度测量部分。2.1 系统主流程图系统上电后,首先对DS18B20进行初始化设置,接着对DS18B20发出SKIP ROM指令(即跳过ROM存储器)延时5ms后,对DS18B20发出启动温度转换命令,然后,从DS18B20的暂存储器中读出温度数据,接着对该数据进行转换,转换成当前环境温度。最后将实际温度与设置温度比较,超过限制则发出报警。2.2 温度测量设计通过STC89C51芯片的一个通
13、用I/O口就可以实现对智能温度测量模块DS18B20的控制。读取DS18B20测量的温度主要是通过初始化命令、ROM功能命令、存储器功能命令、温度转换命令、读存储器命令等组成。冷端温度补偿三、系统软件算法分析程序命令时序总线命令序列如下:第一步: 初始化第二步: ROM命令(跟随需要交换的数据)第三步: 功能命令 (跟随需要交换的数据)每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则一线器件不会响应单片机。 基于一线上的所有传输过程都时以初始化开始的,初始化过程由单片机发出的复位脉冲和DS18B20的响应的应答脉冲组成。应答脉冲使单片机知道,总线上有1-WIRE设备,且准备就
14、绪。系统中CPU采用12MHz晶振,DQ端接P2.6。RESET子程序RESET:CLR P2.6 ;拉低总线至少480us,否则在温度较高时会无法完成复位。MOV R2,#130 ;在调试过程中发现延时520uS,测温值可到110,达到D1: DJNZ R2,D1 ;DS18B20的技术参数。SETB P2.6 ;释放总线MOV R2,#20D4: DJNZ R2,D4JB P2.6,D0 ;总线若为低,则复位成功;否则复位失败,返回。MOV R2,#110D2: DJNZ R2,D2 ;延时等待复位过程结束RET在单片机检测到应答(presence)脉冲后,就可以发ROM命令,命令长度为8
15、位。该命令字要通过1-WIRE通信协议规定的严格的写时隙(Write time slots),逐位写到一线上,DS18B20会自动接收到这些命令,并准备响应相应的操作。本系统是单点使用,故只须用到SKIM ROM COMMAND(0CCH),这样单片机可以同时访问总线上的所有设备,而无须发出任何ROM代码信息。例如,单片机在发出SKIP ROM命令后跟随CONVENT T (功能 COMMAND) 即启动温度转换命令(44H),值得注意的是:若SKIP ROM 命令后跟的是READ SCRATCHPAD(0BEH)命令(包含其他读操作命令),则该系统只能用于单点系统,否则将由于多个节点都响应该
16、命令而引起数据冲突。在单片机发出ROM 命令后,接着就可以发送功能命令,然后DS18B20就开始执行命令,本单点应用系统中主要用到CONVENT T和READ SCRATCHPAD在执行READ SCRATCHPAD命令时,单片机可以通过发送RESET脉冲在任何时候中断数据传输。读、写时序 在对DS18B20进行ROM或功能命令字的写入及对其进行读出操作时,都要求按照严格的1-WIRE通信协议(时序),以保证数据的完整性。其中有写0、写1、读0和读1时序。在这些时序中,都由单片机发出同步信号,并且所有的命令字和数据在传输的过程中都是字节的LSb在前,这一点于基于其他总线协议的串行通信格式(比如
17、SPI、 等)不同,它们通常是字节的MSb在前。读时序 DS18B20仅在单片机发送读时隙(READ SLOT)时才发送数据,所以单片机在发送READ SCRATCHPAD命令后必须立即产生读时隙。所有的读时隙都要至少保持60us,并且在两个读时隙间至少要有1us的恢复时间。单片机通过把总线拉低至少1us来做为一个读时隙的开始,DS18B20的输出数据在读时序下降沿过后15us内有效,所以在此期间单片机应释放总线,进入读数据状态以便读取数据,15us后一线总线被上拉电阻拉为高电平,程序延时等待读时隙结束。读一字节子程序 出口条件:读出字节数据在A中RE1W:MOV R6,#8 ;从1-Wire
18、总线读出1字节数据的子程序RE1:CLR P2.6 ;拉低总线,发出读时序NOPSETB P2.6 ;释放总线,等待输入MOV R4,#02HRE2:DJNZ R4,RE2MOV C,P2.6 ;通过RRC A指令,从低位开始依次读入数据RRC AMOV R5,#20RE3:DJNZ R5,RE3 ;延时,等待读时隙结束SETB P2.6 ;恢复时间 DJNZ R6,RE1SETB P2.6 RET写时隙 写时隙也有两种,写0和写1。主要用于单片机通过1-WIRE总线向DS18B20写入命令字。所有的写时隙也至少要保持60us,且在两个写周期之间至少要有1us的恢复时间。 单片机通过拉低一线总
19、线至少1us来产生写时隙。当写1时,单片机拉低总线,然后必须在15us内释放总线,总线被上拉电阻拉高。当写0时,单片机拉低总线后,然后必须继续保持总线为低(至少60us)。DS18B20在单片机发出写时隙后的1560us之间开始采样,在这期间内,若总线为高,则1被写入进DS18B20;若总线为低,则0被写入DS18B20。写一字节子程序入口条件:写入的字节在AWR1W:MOV R3,#08H;向1-Wire总线写入1字节数据的位数W1: SETB P2.6;恢复时间MOV R4,#02RRC A;通过RRC A指令依次向总线写入1字节的数据CLR P2.6;拉低总线,发出写时隙W2:DJNZ
20、R4,W2MOV P2.6,C MOV R4,#20W3:DJNZ R4,W3DJNZ R3,W1SETB P2.6RET结 论 通过这次高精高精度数字式温度的设计和制作,让我感觉到在大学三年里,掌握了一定的专业知识和动手能力,在制作计的过程中学到了很多东西。比如了解了温度传感器DS18B20的功能,如何编写单片机STC89C51的程序来实现数码管直接显示环境温度。还有巩固了以前学过的知识,比如用制图Protel 99 SE等等。最主要的还是使我能利用硬件和软件的结合,来完成一个产品的设计和制作! 总之,在这个毕业论文的完成过程中,让我感觉一种对知识的一种重温,让我知道如何有步骤和计划的完成一
21、项任务,不过在这个其中也让我感觉到自己所学的知识还是有限的和解决问题的不够完善,希望自己今后做好每一件事情。数字温度传感器DS18B20介绍1、DS18B20的主要特性1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯1.3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温1.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内1.5、温范围55125,在-1
22、0+85时精度为0.51.6、可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温1.7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快1.8、测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 2、DS18B20的外形和内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
23、DS18B20的外形及管脚排列如下图1: DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。图2: DS18B20内部结构图3、DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温
24、度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3: DS18B20测温原理框图MAIN:LCALLGET_TEMPER;调用读温度子程序MOVA,29HMOVC,40H;将28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42H
25、RRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAY;调用数码管显示子程序AJMP MAIN;循环显示INIT_18B20:;这是DS18B20复位初始化子程序SETBP3.2NOPCLR P3.2MOVR1,#3;主机发出延时537微秒的复位低脉冲TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBP3.2;然后拉高数据线NOPNOPNOPMOVR0,#25HTSR2:JNBP3.2,TSR3;等待DS18B20回应DJNZR0,TSR2LJMP TSR4;延时TSR3:SETBFLAG1;置标志位,表示DS18B20存在LJMP TSR5TSR4
26、:CLR FLAG1;清标志位,表示DS18B20不存在LJMP TSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6;时序要求延时一段时间TSR7:SETBP3.2RETGET_TEMPER:;读出转换后的温度值SETBP3.2LCALLINIT_18B20;先复位DS18B20JBFLAG1,TSS2RET;判断DS18B20是否存在?若DS18B20不存在则返回TSS2:;DS18B20已经被检测到!MOVA,#0CCH;跳过ROM匹配LCALLWRITE_18B20MOVA,#44H;发出温度转换命令LCALLWRITE_18B20这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALLDISPLAYLCALLINIT_18B20;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配LCALLWRITE_18B20MOVA,#0BEH;发出读温度命令LCALLWRITE_18B20LCALL READ_18B20;将读出的温度数据保存到35H/36HRETWRITE_18B20:;写DS18B20的子程序(有具体的时序要求)MOVR2,#8;一共8位数据CLR CWR1:CLR P3.2M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓储公司临时工工作合同
- 2025年养殖企业与屠宰服务综合合同书
- 2025年晋城货运从业资格考题
- 2025年医院物业托管服务合同样本
- 2025年个人存款居间合同
- 2025年鹤壁货运上岗证考试题库1387题
- 2025年商业大厦租赁合同标准文本
- 2025年南昌货运从业考试试题题库
- 2025年策划合作商业拓展协议
- 2025年住宅给水安装项目合同样本
- 2024年云南省中考物理真题含解析
- 《安防监控培训》课件
- 2025年中国艾草行业市场现状、发展概况、未来前景分析报告
- (闽教版)六年级下英语教学计划
- 氧化还原反应配平专项训练
- 人教版英语高考试卷与参考答案(2024年)
- 河砂、碎石生产质量保证措施方案
- 全国教育科学规划课题申报书:02.《铸牢中华民族共同体意识的学校教育研究》
- 三位数除以两位数过关练习口算题大全附答案
- 红楼梦服饰文化
- 外墙喷漆施工合同协议书
评论
0/150
提交评论