课程设计(论文)-基于单片机和温度传感器ds18b20、hs1101是电容式空气湿度传感器_第1页
课程设计(论文)-基于单片机和温度传感器ds18b20、hs1101是电容式空气湿度传感器_第2页
课程设计(论文)-基于单片机和温度传感器ds18b20、hs1101是电容式空气湿度传感器_第3页
课程设计(论文)-基于单片机和温度传感器ds18b20、hs1101是电容式空气湿度传感器_第4页
课程设计(论文)-基于单片机和温度传感器ds18b20、hs1101是电容式空气湿度传感器_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

摘要此温湿度测量系统是基于单线式温度传感器DS18B20、电容式湿度传感器单片机STC89C52对温度湿度分别测量并通过液晶显示屏1602经行显示。温度传感器DS18B20是单线式,体积超小,硬件开消超低,抗干扰能力强,精度高,附加功能强的理想单片机温度传感器,可实时根据指令给出温度数据,可读性高。HS1101是电容式空气湿度传感器,在不同的湿度环境下呈现出不同的电容值,0100RH湿度范围内,电容从162PF变化到200PF,误差误差为2RH。可见其精度非常高,为了反映出其电容的变化,本系统采用555多谐震荡电路产生不同的频率,用于检测湿度。单片机采集到两个传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。关键词温湿度测量系统精度高速度快体积小ABSTRACTTHETEMPERATUREANDHUMIDITYMEASUREMENTSYSTEMISBASEDONSINGLELINETYPETEMPERATURESENSORDS18B20,CAPACITIVEMOISTURESENSORSCMSTC89C52FORTEMPERATUREHUMIDITYMEASUREMENTANDRESPECTIVELYBYLCDDISPLAYTHELINE1602TEMPERATURESENSORDS18B20ISSINGLELINETYPE,VOLUMESUPERSMALL,HARDWAREKAIXIAOULTRALOW,STRONGANTIJAMMINGCAPABILITY,HIGHPRECISION,ADDITIONALFEATURESSTRONGIDEALSINGLECHIPMICROCOMPUTERTEMPERATURESENSOR,REALTIMETEMPERATUREDATA,DEPENDINGONTHEDIRECTIVEGIVENREADABLEHS1101ISCAPACITIVESENSOR,AIRHUMIDITYINDIFFERENTHUMIDITYPRESENTSDIFFERENTCAPACITANCE,0100RHHUMIDITY,WITHINTHESCOPEOFCAPACITANCECHANGETO200PF,FROM162PFERRORFOR2RHERRORECANSEEITSPRECISIONISVERYHIGH,INORDERTOREFLECTTHECAPACITANCECHANGE,THESYSTEMUSESTHE555MOREHARMONICCONCUSSIONCIRCUITSPRODUCEDIFFERENTFREQUENCY,WHICHISUSEDTODETECTHUMIDITYSCMACQUISITIONTOTWOSENSORGIVESDATAPROCESSINGANDCALCULATED,THECURRENTTEMPERATUREANDHUMIDITYANDGIVETHEDISPLAYONTHELCDPANELTHISSYSTEMHASAREADABLE,HIGHSTABILITY,REACTIONSPEED,MEASUREDVALUESEXACTCHARACTERISTICKEYWORDSTEMPERATUREANDHUMIDITYMEASUREMENTSYSTEMHIGHPRECISIONSPEEDSMALLVOLUME目录1设计要求22方案设计及论证221总体方案设计222系统主要单元的选择与论证2221单片机控制模块的选择论证2222温度湿度检测模块的选择与论证2223显示模块的选择与论证223系统组成33理论分析及计算33133234系统电路设计341单片机主控电路设计342DS18B20温度检测模块和HS1101湿度检测模块电路设计4421HS1101湿度检测传感器工作原理4422DS18B20温度检测传感器工作原理4443蜂鸣器电路原理4431602液晶显示模块电路设计55系统软件设计651软件设计流程图652软件设计分析66系统测试661主要指标测试662测试结果分析67结论6参考文献7附录8附录一系统的总原理图8附录二系统的PCB元件分布图9附录三程序清单10附录五元器件清单101方案设计及论证21总体方案设计经分析,将系统分为两个部分,一个是由温湿度传感器组成的检测部分,另一个是由单片机和1602液晶组成的主控与显示部分。如图所示DS18B20和HS1101湿度检测电路将检测到的数送到单片机,单片机对接收到的数据进行处理并送到1602显示,5V稳压电源给各个部分供电。图21系统组成框图22系统主要单元的选择与论证221单片机控制模块的选择论证方案一采用XC9000系列的FPGA。该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。方案二采用单片机作为控制核心,单片机数学运算功能较强。在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成熟,价格便宜。基于以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案二。222温度湿度检测模块的选择与论证方案一选用DHT11作为温湿度检测模块。DHT11是一款数字输出的复合传感器,包含一个电阻式感湿元件和NTC式温度检测元件,可测2090RH湿度,误差5RH,050摄氏度,误差2摄氏度。方案二选用DS18B20温度传感器和HS1101湿度传感器。是一线式数字温度传感器,具有独特的单线式接口方式,测量范围在,误差为05。最高精度可达00625。HS1101是电容式湿度传感器,可测相对湿度范围在0100RH,误差为2RH。方案选择,有上述数据可知,根据设计要求(温度测量范围为1050,湿度为0100;温度测量误差为01,湿度测量误差为3;),从设计要求的精度来看,本方案更优。综上所述,虽然方案一具有综合作用,但是方案二的测试范围和精度都由于方案一,故本模块采用方案二。223显示模块的选择与论证方案一采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864液晶模块价格昂贵,接线复杂,故不采用。方案二采用1602液晶模块显示所测数据,1602液晶接线简单方便,同时也能满足显示需要,价格远低于12864液晶。因此,本方案为首选方案。综上所述,显示模块选择方案二。23系统组成本系统由单片机主控电路、DS18B20温度检测模块、HS1101湿度检测模块、1602液单片机显示模块HS1101湿度检测电路DS18B20温度检测电源晶显示模块4部分组成,其中单片机主控电路2理论分析及计算31HS1101的湿度测量方法分析HS1101是电容式湿度传感器,由于电容不可直接测量,故选用555多谐震荡电路检测到频率,然后由单片机计算的电容值,再根据电容值算出相应的湿度值。31HS1101的湿度测量计算电路如图42,由电路可知图31电容值与相对湿度值的关系T充电CR2R1LN2T放电CR4LN2因而,输出的方波率F1/T充电T放电1/CR22R1LN2由图31可知相对湿度与电容的关系可看成直线段,所以有相对湿度RH27C163所以有3系统电路设计41单片机主控电路设计单片机主控电路原理图如下所示图41单片机主控电路原理图单片机主控模块包括了振落电路、复位电路,同时接入了各个模块的接口,保证了整个系统的灵活性。单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。控制电路的核心器件是由美国ATMEL公司生产的AT89S52单片机,属于MCS51系列。AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程FLASH存储器,采用的工艺是ATMEL公司的高密度非易失存储器技术;片上FLASH允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。42DS18B20温度检测模块和HS1101湿度检测模块电路设计DS18B20温度检测模块和HS1101湿度检测模块电路原理图如下所示图421DS18B20温度检测模块和HS1101湿度检测模块电路原理图图422DS18B20温度检测模块和HS1101湿度检测模块电路仿真图图423DS18B20温度检测模块和HS1101湿度检测模块电路仿真结果图421HS1101湿度检测传感器工作原理T1为HS1101湿度检测传感器,其工作电路由555多谐振荡器来实现,HS1101作为电容变量接在555芯片的2、5脚之间,引脚7用作电阻R2的短路,等量电容HS1101通过R1、R2充电到门限电压(约067V),通过R4放电到触发电平,然后R2通过7短路到地,传感器由不同的电阻R1、R2充放电,进行工作循环,形成方波。其周期计算如下T充电C(R1R2)IN2;T放电CR1IN2;由此可知输出方波频率为F1/(T充电T放电)1/C(R22R1)IN2;可见空气湿度通过555测量振荡电路,就转变为与之呈反比例的频率信号。422DS18B20温度检测传感器工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。443蜂鸣器电路原理蜂鸣器额定电流IB30MA,而对于AT89S52单片机,P1口的灌电流为16MA,拉电流为60A,由此可见,仅靠单片机的P1口电流是不能驱动蜂鸣器的,必须使用集晶体管放大电路,为了使单片机消耗的功率更小,所以使用PNP型晶体管9012。AT89S52采用的晶振电路采用110592MHZ的无源晶振,微调电容大小取30PF。显示模块选用1602字符型液晶模块,是目前工控系统中使用最为广泛的液晶屏之一,电路图如图6所示。1602字符型液晶模块是点阵型液晶,驱动方便,经编码后显示内容多样化。系统的输入模块采用中断扫描的44矩阵键盘,相比定时扫描方式,提高了MCU的使用效率。431602液晶显示模块电路设计1602液晶显示模块电路原理图如下所示图431602液晶显示模块电路原理图在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种发光管、LED数码管、液晶显示器。在单片机系统中应用晶液显示器作为输出器件有以下几个优点显示质量高、数字式接口、体积小、重量轻、功耗低、1602LCD主要技术参数显示容量162个字符芯片工作电压4555V工作电流20MA50V模块最佳工作电压50V字符尺寸295435WHMM引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,第1脚VSS为地电源。第2脚VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极。4系统软件设计51软件设计流程图主程序流程图液晶显示程序流程是是否否是否图511主程序流程图图512液晶显示程序流程开始KEY1键按下显示湿度KEY2键按下显示温度开始是否忙碌写指令写数据设置显示位初始化显示温度检测程序流程湿度检测流程图否否是是图513温度检测程序流程图514湿度检测流程图52软件设计分析主程序进行键盘扫描,单片机根据判断键盘那个键按下,显示温度或湿度。如果KEY1键按下就调用温度检测程序,单片机对18B20进行初始化,成功则读字节,再写入字节,读取温度数据送到1602显示。如果KEY2键按下,就调用湿度显示程序,开启定时中断T0、T1,T0进行定时,T1对湿度电路给的频率计数,当计满1S时关闭T1,单片机对计的数进行运算,的出湿度值,送往液晶显示。56系统测试61主要指标测试本系统主要指标就在于所测得的温湿度的数据是否达到了题目要求,本系统测量范围为1050,湿度为0100;温度测量误差为01,湿度测量误差为2;在8开始初始化是否成功初始化从18B20读字节向18B20写字节读取温度显示温度开始开定时T0,T1是否计满1S关闭T0并根据频率算出湿度值显示湿度栋111测试温度为167度,湿度为41。62测试结果分析通过测试,与标准仪器所测得的温湿度相比较,可得系统的误差为信号传输过程中可能存在误码,及误判。6结论本温湿度计的制作基本上达到了题目要求的技术指标,温度测量范围为1050,湿度为0100;温度测量误差为01,湿度测量误差为3;实现了量程自动转换功能。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。参考文献(1)康华光等电子技术基础M北京高等教育出版社(2)彭介华电子技术课程设计指导M北京高等教育出版社(3)郭天祥新概念51单片机C语言教程入门、提高、开发、拓展全攻略M电子工业出版社,2009(3)黄智伟全国大学生电子设计竞赛制作实训M北京北京航空航天大学出版社,2007(4)黄智伟全国大学生电子设计竞赛系统设计M北京北京航空航天大学出版社,2006(5)黄智伟全国大学生电子设计竞赛技能训练M北京北京航空航天大学出版社,2007(6)黄智伟全国大学生电子设计竞赛电路设计M北京北京航空航天大学出版社,2006(7)黄智伟全国大学生电子设计竞赛常用电路模块制作M北京北京航空航天大学出版社,2010(8)黄智伟等基于NIMULTISIM的电子电路计算机仿真设计与分析M北京电子工业出版社,2007(9)黄智伟印制电路板(PCB)设计技术与实践M北京电子工业出版社,2009(10)高吉祥等电子技术基础实验与课程设计M北京电子工业出版社,2002(11)吴运昌模拟集成电路原理与应用M广州华南理工大学出版社,2001年(12)谭博学等集成电路原理及应用M北京电子工业出版社,2003(13)魏立军CMOS4000系列60种常用集成电路的应用M北京人民邮电出版社,1993(14)杨宝清实用电路手册M北京机械工业出版社2002(15)陈有卿报警集成电路和报警器制作实例M人民邮电出版社1996附录附录一系统的总原理图图附11系统总原理图附录二系统的PCB图及元件分布图图附21单片机主控电路及液晶PCB布线图图附22DS18B20温度检测模块和HS1101湿度检测模块PCB布线图图附23单片机主控电路及液晶PCB元件分布图图附224DS18B20温度检测模块和HS1101湿度检测模块PCB元件分布图附录三程序清单INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITDQP20/定义DS18B20端口DQSBITBEEPP22/蜂鸣器驱动线BITPRESENCESBITLCD_RSP12SBITLCD_RWP11SBITLCD_ENP10SBITLEDP21SBITKEY1P23SBITKEY2P24UCHARCODECDIS1“WENDUJISHIYAN“UCHARCODECDIS2“TC“UCHARCODECDIS3“SHIDUJISHIYAN“UCHARCODECDIS4“SHIDU“UCHARCODECDIS5“THESYSTEMOF“UCHARCODECDIS6“TEMPANDHUM“UNSIGNEDCHARDATATEMP_DATA20X00,0X00UNSIGNEDCHARDATADISPLAY50X00,0X00,0X00,0X00,0X00UNSIGNEDCHARCODEDITAB160X00,0X01,0X01,0X02,0X03,0X03,0X04,0X04,0X05,0X06,0X06,0X07,0X08,0X08,0X09,0X09VOIDBEEPUNSIGNEDCHARCODEMYTAB80X0C,0X12,0X12,0X0C,0X00,0X00,0X00,0X00BITINT_FLAG/定时器01S到标志位UNSIGNEDCHARVOLATILEINT_COUNT/定时器0中断次数UNSIGNEDCHARVOLATILET1COUNT/定时器1中断次数UNSIGNEDLONGSUM,WET/1S内脉冲总个数UNSIGNEDCHARLE6/LED显示缓存DEFINEDELAYNOP_NOP_NOP_NOP_NOP_/VOIDDELAY1INTMSUNSIGNEDCHARYWHILEMSFORY0Y0IDQ0/给脉冲信号DAT1DQ1/给脉冲信号IFDQDAT|0X80DELAY4RETURNDAT/写一个字节/WRITEONECHARUNSIGNEDCHARDATUNSIGNEDCHARI0FORI8I0IDQ0DQDATDELAY5DQ1DAT1/读取温度/READ_TEMPERATUREVOIDINIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0X44/启动温度转换INIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0XBE/读取温度寄存器TEMP_DATA0READONECHAR/温度低8位TEMP_DATA1READONECHAR/温度高8位/数据转换与温度显示/DISP_TEMPERATUREDISPLAY4TEMP_DATA0DISPLAY0DITABDISPLAY40X30/查表得小数位的值DISPLAY4TEMP_DATA0ELSEBEEP0/湿度测量/软件延时/VOIDDELAYSUNSIGNEDINTCNTWHILECNT/定时器0初始化VOIDINIT_T0VOIDTMODTMOD/定时器0工作于方式1/TH06553650000/256/定时50MS/TL06553550000256TH00X4CTL00X00/定时器1初始化VOIDINIT_T1VOIDTMODTMOD/定时器1用作计时TH10X00TL10X00/定时器0中断服务程序VOIDINT_T0VOIDINTERRUPT1TH06553550000/256TL06553550000256INT_COUNTIFINT_COUNT20TR10INT_FLAG1INT_COUNT0X00/定时器1中断服务程序VOIDINT_T1VOIDINTERRUPT3T1COUNTVOIDDISPVOID/湿度显示函数INT_FLAG0SUMTL1TH1256T1COUNT65536/计算1秒内的脉冲个数/以下将数据格式化,转成LED可显示的BCD码WET100SUM4000/50/湿度计算公式LE0WET10/最低位WETWET/10LE1WET10/第二位WETWET/10LE2WET10/第三位WETWET/10INT_COUNT0X00T1COU

温馨提示

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

评论

0/150

提交评论