温度传感器试验设计概要_第1页
温度传感器试验设计概要_第2页
温度传感器试验设计概要_第3页
温度传感器试验设计概要_第4页
温度传感器试验设计概要_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成都理工大学工程技术学院本科课程设计报告成都理工大学工程

技术学院单片机课程设计报告数字温度计设计成都理工大学工程技术学院本科课程设计报告摘要在这个信息化高速发展的时代,单片机作为一种最经典的微控制器,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,作为自动化专业的学生,我们学习了单片机,就应该把它熟练应用到生活之中来。本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。关键词:单片机,数字控制,数码管显示,温度计,DS18B20,AT89S52。成都理工大学工程技术学院本科课程设计报告目录TOC\o"1-5"\h\z\o"CurrentDocument"1概述 4设计目的 4设计原理 4设计难点 42系统总体方案及硬件设计 错误!未定义书签。2.1数字温度计设计方案论证 42.2.1主控制器 52.4系统整体硬件电路设计 7\o"CurrentDocument"3系统软件设计 8初始化程序 8读出温度子程序 9读、写时序子程序 10温度处理子程序 11显示程序 12\o"CurrentDocument"4Proteus软件仿真 135硬件实物 14\o"CurrentDocument"6课程设计体会 15\o"CurrentDocument"附录1: 14附录2: 21成都理工大学工程技术学院本科课程设计报告1概述设计目的随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,可广泛用于食品库、冷库、粮库、温室大棚等需要控制温度的地方。目前,该产品已在温控系统中得到广泛的应用。设计原理本系统是一个基于单片机AT89S52的数字温度计的设计,用来测量环境温度,测量范围为-50℃—110℃度。整个设计系统分为4部分:单片机控制、温度传感器、数码显示以及键盘控制电路。整个设计是以AT89S52为核心,通过数字温度传感器DS18B20来实现环境温度的采集和A/D转换,同时因其输出为数字形式,且为串行输出,这就方便了单片机进行数据处理,但同时也对编程提出了更高的要求。单片机把采集到的温度进行相应的转换后,使之能够方便地在数码管上输出。LED采用三位一体共阳的数码管。设计难点此设计的重点在于编程,程序要实现温度的采集、转换、显示和上下限温度报警,其外围电路所用器件较少,相对简单,实现容易。2系统总体方案及硬件设计数字温度计设计方案论证由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机人189552,温度传感器采用DS18B20,用3位共阴LED数码管以串口传送数据实现温度显示。成都理工大学工程技术学院本科课程设计报告图1总体设计框图主控制器单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,适合便携手持式产品的设计使用。AT89S52单片机芯片具有以下特性:1)指令集合芯片引脚与Intel公司的8052兼容;2)4KB片内在系统可编程FLASH程序存储器;3)时钟频率为0~33MHZ;4)128字节片内随机读写存储器(RAM);5)6个中断源,2级优先级;6)2个16位定时/记数器;7)全双工串行通信接口;8)监视定时器;9)两个数据指针;成都理工大学工程技术学院本科课程设计报告显示电路温度传感器DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下:.全数字温度转换及输出。.先进的单总线数据通信。.最高12为'位分辨率,精度可达±0.5摄氏度。.12位分辨率时的最大工作周期为750毫秒。.可选择寄生工作方式。.检测温度范围为+55℃〜+125℃(-67°F〜+257°F)。.内置EEPROM,限温报警功能。.64位光刻ROM,内置产品序列号,方便多机链接。9.多样封装形式,便于不同硬件系统。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据

成都理工大学工程技术学院本科课程设计报告DS18B20温度传感器与单片机的接口电路系统整体硬件电路设计主板电路系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,单片机主板电路如图5所示:7SEG-MPX2-CA7SEG-MR<4-CA74LS47AT89C51BUFFERCAPCAP-ELECCRYSTAL#2DS1EIB20RESRESPACK-7EN5551DEVICES以一号小接回0>加叟/口。事「G3厂73TemperaturemeterwithDS18B207SEG-MPX2-CA7SEG-MR<4-CA74LS47AT89C51BUFFERCAPCAP-ELECCRYSTAL#2DS1EIB20RESRESPACK-7EN5551DEVICES以一号小接回0>加叟/口。事「G3厂73TemperaturemeterwithDS18B20了,开始|白单片机福昕阅读器更新|电单片机课程设计(模...|囱DS18B20中文资料.pdf...|匕单片机未命名-画图| 遛11团,田够嗫旦Q—14:37图5单片机主板电路成都理工大学工程技术学院本科课程设计报告2.4.2显示电路)S18B20mperatureheLCD.P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD72.4.2显示电路)S18B20mperatureheLCD.P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INTQP3.3/INTTP3.4/T0P3.5/T1P3.6/WRRp4.7k图6温度显示电路3系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。初始化程序复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。

成都理工大学工程技术学院本科课程设计报告图7初始化程序流程图读出温度子程序读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1us的低电平,表示读时间的起始。随后在总线被释放后的15us中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。每一位的读取之前都由控制器加一个起

成都理工大学工程技术学院本科课程设计报告始信号。读出温度子程序的主要功能是读出RAM中的2字节,读出温度的低八位和高八位,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8示图8读温度程序流程图读、写时序子程序读写的程序是本次设计中的重点和难点,通过我们对其时序的分析,从而写出高效的程序。1-W1REWRITEONETIMESLOT10成都理工大学工程技术学院本科课程设计报告写时序子程序流程图写时序子程序流程图温度处理子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图11所示11

成都理工大学工程技术学院本科课程设计报告图11温度处理程序流程图显示程序此函数实现的对数码管显示的处理,其亮点在于可以直接对数码管进行操作,其本身是个两变量函数,第一个变量是要开通的位选,第二个变量是要显示的数据,这样我们可以直接方便而又简单直观的对数码管进行操作。程序流程图如图12。12

成都理工大学工程技术学院本科课程设计报告4Proteus软件仿真7SEG-MFX2-C47SEG-MR"::4-CA74LS47AT89C51BUFFERCAPCAP-ELECCRYSTALH2DS18B20RESRESPACK-7-]□需他团U薯型性曳曳曳而少8 玻岂1tm画国胭7SEG-MFX2-C47SEG-MR"::4-CA74LS47AT89C51BUFFERCAPCAP-ELECCRYSTALH2DS18B20RESRESPACK-7-]□需他团U薯型性曳曳曳而少8 玻岂1tm画国胭flrAte回@z>皆一/口0484国+一一C匕单片机DS18B20-ISISProf...号未命名-画图罩0与14:44DS18E20中文资料.pd£..|匕单片机6课程设计体会通过为时2周的单片机课程设计,在老师的知道和帮助下我我和我的搭档共同完成数值温度级的设计学习。其中包扩了程序的学习与修改,程序的仿真,电路的仿真以及实体电路的搭建,使之可以初略的读出温度值。通过这次课程设计我学到了许多的知识,了解了DS18B20的使用和接线的方法,了解了数码管的显示原理。学会了单片机程序写入的方法,更加熟悉了单片机的一些常用管脚的功能。同时,在课程设计的过程中,我也发现了自己很多的不足之处,一些单片机用到的汇编指令不熟悉。也暴露了在单片机理论课上学到的知识掌握的不好。还有一点就是理论与实际的联系对我们学习和掌握单片机是非常有帮助的。13成都理工大学工程技术学院本科课程设计报告参考文献[1]DS18b20数据手册。⑵求是科技编著8051系列单片机C程序设计完全手册北京:人民邮电出版社,2006[3]余发山,王福忠.单片机原理及应用技术徐州:中国矿业大学出版社,2003附录1:程序DQ BITP3.7;1wirelineDPBITP2.0swpH equ0d2HswpL equ0ffHWDLSB DATA30H;WDMSB DATA31H;ORG0000HLJMPMAINORG000BHLJMPTMR0;Timer0isr;Timer0InterruptServiceRoutineTMR0: MOVTH0,#swpH ;轮流送温度值的高低两位到数码管.swph为0d2HMOVTL0,#swpLJB 21H,DSLJB 22H,DSL1MOVP0,43HORLP0,#01000000B ;十位位选SETBP2.0;小数点不亮SJMPEXITDSL:MOVP0,42HORLP0,#00100000B;个位位选CPLP2.0 ;个位后面小数位亮SJMPEXIT1DSL1:14

成都理工大学工程技术学院本科课程设计报告MOVORLP0,41HP0,#00010000B;小数位位选SETBP2.0 ;小数点不亮;DSL2:SJMPEXIT2;MOVP0,40H;ORLP0,#10000000B;SETBP2.0EXIT:;SJMPEXIT3EXIT1:CPLRETI21H;21h取反,即21h=1CPL22H;22h=1EXIT2:CPLRETI21H ;21h=0;CPL23H;CPLRETI22H;22h=0;MainprogramMAIN:TOINIT:CLREAMOVTMOD,#01HMOVTH0,#swpHMOVTL0,#swpLSETBEASETBET0SETBTR0;;41H-43H清零MOVR2,#3MOVR0,#41HOVER:MOV@R0,#00HINCR0DJNZR2,OVER;OVER执行完LOOP:LCALLDSWDSJMPLOOP15

成都理工大学工程技术学院本科课程设计报告;;ReadatemperaturefromtheDS18B20DSWD:LCALLRSTSNR ;InitoftheDS18B20JNBF0,KENDMOVR0,#0CCH;要写的数给R0LCALLSEND_BYTE;调用写程序MOVR0,#44HLCALLSEND_BYTE;SendaConvertCommand(送一个温度转换指令)SETBEA诞迟MOV48H,#1 ;1usSS2:MOV49H,#255 ;1usSS1:MOV4AH,#255 ;1usSS0:DJNZ4AH,SS0 ;2us/次,255*2DJNZ49H,SS1 ;2us/次,255次DJNZ48H,SS2 ;2us 总时间1+1+(1+255*2+2)*255+2CLREA ;进入读时序禁用任何中断LCALLRSTSNRJNBF0,KENDMOVR0,#0CCHLCALLSEND_BYTEMOVR0,#0BEHLCALLSEND_BYTE ;SendReadScratchpadcommandLCALLREAD_BYTE ;ReadthelowbytefromscratchpadMOVWDLSB,A ;Savethetemperature(lowbyte)LCALLREAD_BYTE ;ReadthehighbytefromscratchpadMOVWDMSB,A ;Savethetemperature(highbyte)LCALLTRANS12KEND:SETBEARET;TRANS12:MOVA,30H;30H存从1820取的温度值ANLA,#0F0H;取WDLSB高4为(低位置0)MOV3AH,AMOVA,31HANLA,#0FH;取WDMSB的低4位(高位置0)16成都理工大学工程技术学院本科课程设计报告ORLA,3AH ;将WDLSB的高4为与WDMSB的低4位组合SWAPA ;高低位互换A温度MOVB,#10 ;转换为10进制DIVAB ;A/BA为商B为余数MOV42H,B ;B为个位42H中放个位MOVb,#10DIVabMOV43H,B ;43十位MOVA,30HANLA,#0FHMOVDPTR,#tab1MOVCA,@a+DPTRMOVRET41H,A;;Sendabytetothe1wireline写SEND_BYTE:;MOVA,R0MOVR5,#8;设置写位个数SEN3: CLRCRRCA;把一个字节data(A)分成8个bit环移给CJCSEN1LCALLWRITE_0 ;等待60usSJMPSEN2SEN1: LCALLWRITE_1SEN2: DJNZR5,SEN3;写下一位RET;;Readabytefromthe1wireline读READ_BYTE:MOVR5,#8READ1:LCALLREADRRCADJNZR5,READ1MOVR0,ARET;;Reset1wireline初始化RSTSNR:SETBDQNOPNOPCLRDQ;发送一复位脉冲MOVR6,#25017

成都理工大学工程技术学院本科课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论