闫少景传感器_第1页
闫少景传感器_第2页
闫少景传感器_第3页
闫少景传感器_第4页
闫少景传感器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

15基于DS18B20温度传感器的智能测温仪姓名:闫少景学号:123787指导教师:庞晶目录目录1摘要2传感器概诉31、传感器及温度传感器发展现状32、主要元器件介绍3课程设计主要内容61、课程设计名称62、设计要求、目的及意义6设计达到的指标7传感器设计原理71、三个重要组成部分72、DS1802工作原理73、DS1802内部结构图84、程序流程图95、proteus仿真原理图9实验过程101、前期准备102、课程设计过程103、个人主要工作及遇到问题11数据分析与结论11课程设计总结、思考与致谢12参考文献14附录15摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域。一种数字式温度计以数字温度传感器作感温元件,它以单总线的连接方式,使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了传统的温度测量方法,利用单片机对传感器进行控制。这样易于智能化控制。文中给出了系统实现的硬件原理图及软件流程图。经实验测试表明,该系统测量精度高、抗干扰能力强,具有一定的参考价值。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。关键词:数字测温;温度传感器DS18B20;单片机STC89C52;LCD1602显示器。一、传感器的概诉1、传感器及温度传感器的发展现状国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。传感器是能感受规定的被测量并按照一定的规律转换成可用输出信号的器件和装置。传感器技术渗透带了各个领域,但他们的共性是利用物理定律和物质的物理、化学和生物特性,将非电量转换为电量。由此可见,传感器技术在发展经济、推动社会进步方面的重要作用。传感器从功能上可分为雷达传感器、电阻式传感器、电阻应变式传感器、压阻式传感器、热电阻传感器、温度传感器、光敏传感器、湿度传感器、生物传感器、位移传感器、压力传感器、超声波测距离传感器等,本文所研究的是温度传感器。温度传感器是最早开发,应用最广泛的一类传感器。温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有半导体。温度传感器是温度测量仪表的核心部分,品种繁多。随着科学技术的发展,测温系统已经被广泛应用于社会生产、生活的各个领域,在工业、环境监测、医疗、家庭多方面均有应用。从而使得现代温度传感器的发展。微型化、集成化、数字化正成为发展的一个重要方向。2、主要应用元器件及基本要求该设计是以单片机STC89C52为控制核心,通过温度传感器DS18B20感受温度,实现温度测量功能并显示在LCD1602上。STC89C52单片机简介STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图1:图4—1单片机总控制电路其性能指标为:工作电压:5.5v~3.3v(5v单片机)/3.8v~2.0v(3v单片机)工作频率范围:0~40MHZ,相当于8051的0~80MHZ,实际工作频率可大48MHZ。用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口使用时,需加上拉电阻。具有EEPROM功能与看门狗功能具有3个16位的定时器/计数器。及定时器T0.T1.T2。二、任务要求:基于DS18B20温度传感器的智能测温仪设计要求:该设计是以单片机STC89C52为控制核心,通过温度传感器DS18B20感受温度,实现温度测量功能。目的及意义:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,一种数字式温度计以数字温度传感器作感温元件,它以单总线的连接方式,使电路大大的简化;传统的温度检测大多以热敏电阻为传感器,这类传感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了传统的温度测量方法,利用单片机对传感器进行控制。这样易于智能化控制。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。四、传感器设计原理1、三个重要组成部分:温度检测模块:温度检测模块主要使用的是DS18B20为传感器。该芯片性价比很高,可达到精度11位的精度,即最小分辨率可达0.0625摄氏度,测温范围为(-55,125)。MCU信号控制模块:STC89C52RC单片机,是整个系统的核心文件,用来存储和控制输出温度信号。液晶显示模块:显示模块主要用来显示是测得的当前的温度值,选用1602,该模块还配有3个按键,可设置温度控制值。见图3(图3)2、DS18B20工作原理:DS18B20的工作原理如图4所示,是用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。4、程序流程图:(图6)5、proteus仿真原理图:仿真过程:DS18B20的DQ端与STC89C52单片机的外部中断1相连接,另外的VCC与GND端分别接电源的输出端与地端。液晶显示屏的D0~D7端口分别与单片机的P0~P7口相连接,仿真图上未予显示的BLA和BLK端分别接地与电源,而显示屏的第三个接口可以悬空,也可以外接电阻调试显示屏的背光与亮度。在单片机的18脚与19脚端用22PF的电容接上12MHZ的晶振,持续给单片机提供振荡周期。单片机的EA接口外接高电平。整体的电路在PROTUES上仿真如下图,因为在仿真库中没有STC89C52RC这一元件,所以用AT89C51予以替代。原理图如图7。(图7)五、实验过程1、课程设计过程设计电路图,并根据所设计电路图和传感器的工作原理,为实现测温目的,进行编写程序。经反复调试和修改,最终编译通过,proteus仿真成功,LCD显示器能根据温度传感器的测得温度显示数据。将所编程序置入单片机内,并按照所设计电路图在面包板上连线。经反复连线、检查元件、检查线路、检验程序,最终终于演示通过。按照电路图,将各元器件焊接在电路板上,再经检验是否有空焊、短路等情况,进一步处理。显示器正常显示所测温度,早中晚温度各不相同,且用手触碰温度传感器,显示器显示温度也随之上升。课程设计完成。3、遇到问题过程中遇到了各种问题,在面包板上几次调试都不成功,显示器亮的却不显示数字。曾怀疑线路连错、元器件有损坏、背光没有调好等问题,后经一一排除。接着就用万用表测每条线路是否正常,终于发现有些应该是高电平却不是,经过分析讨论,认为可能是有接触不良。后借了其他组的面包板尝试,几经波折,终于演示成功。焊接过程也是很容易出错。焊好后接通电源,显示屏不亮,经检查,发现有一处短路。稍作处理后,我们努力了一个星期的数字测温仪就成功了。七、课程设计总结这次的课程设计,是一个崭新的体验,是一个学习的平台,是一次兴趣的启迪,是尝试着自己动手实践的开始,是现实与需求之间差距的体现,也是一个认识与改变的过程。安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。尤其是观察、分析和解决问题的实际工作能力。作为整个学习体系的有机组成部分,课程设计虽然安排在两周进行,但并不具有绝对独立的意义。对于我们理工类的本科生来说,实践能力如何是至关重要的。而这种能力在课堂上是学习不到的,必须从书本走向实践。无论课本上的原理如何经典,课文中的描述如何生动,我们都只能理解,只能想象。课程设计过程中,我们也遇到了各种各样问题,在面包板上几次调试都不成功,显示器亮的却不显示数字。曾怀疑线路连错、元器件有损坏、背光没有调好等问题,后经一一排除。八、参考文献[1]施昆松.多个数字温度传感器DS1820地址的自动搜寻[J]国外电子元器件,1997,(01)[2]赵旦峰,刘昕.集成温度传感器在多点温度测量中的应用[J]传感器技术,1997,(01).[3]张西.基于MCS-51单片机的测温系统[J]电子工程师,2002,(06).[4]杨恢先:黄辉先.单片机原理及应用.北京.中国邮电出版社.2010.[5]刘迎春等.传感器原理设计与应用.长沙.国防科学技术大学出版社.2004.[6]李海玲、王航宇等.基于AT89C51&DSl8B20的数字温度计设计[J].新特器件应用.[7]张天鹏,魏蔚.“一线式”数字温度计DS18B20原理与应用[J].办公自动化(综合版),2009(2):24-26附录1:(程序)#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#definedelayNOP(){_nop_();_nop_();_nop_();_nop_();}sbitDQ=P3^3;sbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;ucharcodeTemp_Disp_Title[]={"CurrentTemp:"};ucharCurrent_Temp_Display_Buffer[]={"TEMP:"};ucharcodeTemperature_Char[8]={ 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00};ucharcodedf_Table[]={ 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};ucharCurrentT=0;ucharTemp_Value[]={0x00,0x00};ucharDisplay_Digit[]={0,0,0,0};bitDS18B20_IS_OK=1;voidDelayXus(uintx){ uchari; while(x--) { for(i=0;i<200;i++); }}bitLCD_Busy_Check(){ bitresult; LCD_RS=0; LCD_RW=1; LCD_EN=1; delayNOP(); result=(bit)(P0&0x80); LCD_EN=0; returnresult;}voidWrite_LCD_Command(ucharcmd){ while(LCD_Busy_Check()); LCD_RS=0; LCD_RW=0; LCD_EN=0; _nop_(); _nop_(); P0=cmd; delayNOP(); LCD_EN=1; delayNOP(); LCD_EN=0;}voidWrite_LCD_Data(uchardat){ while(LCD_Busy_Check()); LCD_RS=1; LCD_RW=0; LCD_EN=0; P0=dat; delayNOP(); LCD_EN=1; delayNOP(); LCD_EN=0;}voidLCD_Initialise(){ Write_LCD_Command(0x01); DelayXus(5); Write_LCD_Command(0x38); DelayXus(5); Write_LCD_Command(0x0c); DelayXus(5); Write_LCD_Command(0x06); DelayXus(5); }voidSet_LCD_POS(ucharpos){ Write_LCD_Command(pos|0x80); }voidDelay(uintx){ while(--x);}ucharInit_DS18B20(){ ucharstatus; DQ=1; Delay(8); DQ=0; Delay(90); DQ=1; Delay(8); DQ=1; returnstatus;}ucharReadOneByte(){ uchari,dat=0; DQ=1; _nop_(); for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1; _nop_(); _nop_(); if(DQ) dat|=0X80; Delay(30); DQ=1; } returndat;}voidWriteOneByte(uchardat){ uchari; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01; Delay(5); DQ=1; dat>>=1; }}voidRead_Temperature(){ if(Init_DS18B20()==1) DS18B20_IS_OK=0; else { WriteOneByte(0xcc); WriteOneByte(0x44); Init_DS18B20(); WriteOneByte(0xcc); WriteOneByte(0xbe); Temp_Value[0]=ReadOneByte(); Temp_Value[1]=ReadOneByte(); DS18B20_IS_OK=1; } }voidDisplay_Temperature(){ uchari; uchart=150,ng=0; if((Temp_Value[1]&0xf8)==0xf8) { Temp_Value[1]=~Temp_Value[1]; Temp_Value[0]=~Temp_Value[0]+1; if(Temp_Value[0]==0x00) Temp_Value[1]++; ng=1; } Display_Digit[0]=df_Table[Temp_Value[0]&0x0f]; CurrentT=((Temp_Value[0]&0xf0)>>4)|((Temp_Value[1]&0x07)<<4); Display_Digit[3]=CurrentT/100; Display_Digit[2]=CurrentT%100/10; Display_Digit[1]=CurrentT%10; Current_Temp_Display_Buffer[11]=Display_Digit[0]+'0'; Current_Temp_Display_Buffer[10]='.'; Current_Temp_Display_Buffer[9]=Display_Digit[1]+'0'; Current_Temp_Display_Buffer[8]=Display_Digit[2]+'0'; Current_Temp_Display_Buffer[7]=Display_Digit[

温馨提示

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

评论

0/150

提交评论