




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)基于单片机的多通道自动温度检测系统二级学院信息科学与技术学院专业电气工程及其自动化完成日期2015年5月24日A基础理论B应用研究C调查报告D其他目录1绪论111本课题研究意义及国内发展状况112本课题的任务和系统设计目标113本课题研究内容12方案论证比较与选择221引言222方案设计2221设计方案一2222设计方案二2223设计方案三223方案的比较与选择33设计过程及工艺要求331基本功能332主要技术参数333系统设计44硬件设计441硬件部分模块组成442单片机最小系统443温度传感器DS18B205431DS18B20与单片机的典型接口设计6432DS18B20的测温原理85软件设计951主程序方案952流程图106调试仿真14参考文献16附录A17附录B18致谢基于单片机的多通道自动温度检测系统摘要随着社会的进步和工业技术的发展,人们越来越重视温度因素。许多产品对温度测量范围要求严格,而目前市场上的温度测试仪器都是单点测量,且温度信息传输是不及时的、不够精确的,从而不利于工业控制来及时做出决定。在这种形式下,制定出可以多点测量、实时性高、高精度的同步测量方案是很有必要的。关键词温度测量温度传感器DS18B20单片机BASEDONSINGLECHIPMICROCOMPUTEMULTICHANNELTEMPERATUREDETECTIONSYSTEMABSTRACTWITHSOCIALPROGRESSANDDEVELOPMENTOFINDUSTRIALTECHNOLOGY,PEOPLEPAYMOREANDMOREATTENTIONTOTHEFACTOROFTEMPERATUREMANYOFTHEPRODUCTSHAVESTRICTREQUIREMENTSINTHERANGEOFTEMPERATUREMEASUREMENT,CURRENTLYTEMPERATURETESTINSTRUMENTISASINGLEPOINTMEASUREMENTONTHEMARKET,ANDTHETEMPERATUREINFORMATIONISNOTTIMELY,NOTACCURATEENOUGH,WHICHISDISADVANTAGEOUSTOTHEINDUSTRIALCONTROLTOMAKETIMELYDECISIONSINTHISFORM,ITISNECESSARYTOWORKOUTPROGRAMTHATCANBEMULTIPOINTMEASUREMENT,REALTIMESYNCHRONIZATIONPRECISIONMEASUREMENTKEYWORDSTEMPERATUREMEASURETHERMOMETERDS18B20SINGLECHIPPROCESSOR1绪论11本课题研究意义及国内发展状况温度是单片机应用系统中一个常见的测量参数,生活中常会遇到一些需要同时获知多个位置温度的情况。比如一台电脑工作时,其主板、硬盘、显示器等的工作温度就需要同时都保持在正常温度范围内,否则电脑的整体工作就会受到影响。自18世纪工业革命以来,工业的发展与温度有着密切的联系。不管是在钢铁、水泥、冶金、石化、玻璃、医药等行业,基本上70的工业生产部门都必须考虑着温度的影响因素。温度对于工业如此重要,由此推进了温度传感器的迅速发展。随着社会的进步和工业技术的发展,人们越来越重视温度因素。许多产品对温度测量范围要求严格,而目前市场上的温度测试仪器都是单点测量,且温度信息传输是不及时的、不够精确的,从而不利于工业控制来及时做出决定。在这种形式下,制定出可以多点测量、实时性高、高精度的同步测量方案是很有必要的。12本课题的任务和系统设计目标课题的主要任务是利用80C51设计一个多通道温度检测系统,整个系统由单片机控制,要能够接收传感器的数据并显示出来,可以从软件设计命令,系统自动选择对应的传感器,并由LCD液晶显示器对温度显示。根据该课题首先要解决的问题是对相关软硬件的熟悉和了解,并学习相关知识。然后对该检测系统需要的模块包括单片机主控制器,两点温度检测,LCD显示电路等进行分析,最后用PROTEUS与KEIL连接并仿真,最终进行调试运行。开发工具PROTEUS仿真软件,KEIL编程软件1。系统总体上的设计思路是以单片机为系统的控制核心,系统硬件的部分包含控制部分、两个点的温度检测部分、LCD显示部分和系统的基本电路。然后再进行PROTEUS仿真。13本课题研究内容1利用单片机确定系统的总体设计方案,包括其功能设计、设计原则、组成与工作原理。2对单片机的应用作进一步的了解,对于温度检测要有更进一步的认识。3进行智能传感器的硬件电路设计,包括硬件电路构成及测量原理、温度传感器的选择、单片机的选择、输入输出通道设计。4该系统采用层次化、模块化设计,整个系统由数据采集系统、单片机控制系统。进行了调试和仿真,完成数据的采集和处理。2方案论证比较与选择21引言温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。对于控制系统可以采用单片机等。22方案设计221设计方案一使用模拟式分立元件如电容,电感或晶体管的非线性元件,进行A/D转换,数据处理,可以使用单片机。实现多点温度测量和显示,该方案电路设计简单,容易理解,操作简单,价格便宜,但使用分立元件分散,不容易数字化,存在较大的测量误差。222设计方案二本方案采用80C51单片机为核心,通过温度传感器AD590采集温度信号,经信号放大器放大后,送到A/D转换芯片,最终经单片机检测处理温度信号。采用该方案技术已经成熟,A/D转换电路设计较烦琐,而且使用AD590进行温度检测必须对端口进行补偿,以减小误差。系统框图如图1所示。温度传感器A/D转换变送器单片机LED显示图1方案二的框图223设计方案三本方案采用80C51作为该系统的单片机。系统整体硬件电路包括电源电路、复位电路、晶振电路、传感器电路、温度显示电路等。当DSL8B20采集到多个温度信号后,进行电信号转换送至80C51中处理,同时将温度送到LCD液晶显示器显示。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。系统框图如图2所示图2方案三的系统框图23方案的比较与选择基于数字温度计DS18B20的温度测量仪的硬件和软件开发过程中,将温度信号转换成数字信号,并实现与单片机相连,从而消除了信号调理电路的需要。该仪器具有电路简单,性能可靠,测量效率高的优点,弥补了传统的温度测量的短缺。与方案1相比,功能、性能、可操作性和其他方面的增幅较大。与方案2相比,硬件电路简单、操作方便、效益高,具有更大的市场需求。所以采用方案3完成设计方案。3设计过程及工艺要求31基本功能检测两点温度两秒间隔循环显示温度32主要技术参数测温范围30到99测量精度00625显示精度01DS18B201温度DS18B202温度单片机LCD显示器显示方法LCD循环显示33系统设计系统使用AT89C51单片机对两个DS18B20进行数据采集,并通过LCD1602液晶显示器显示所采集的温度。DS18B20以单总线协议工作,51单片机首先分别发送复位脉冲,使信号上所有的DS18B20芯片都被复位,程序先跳过ROM,启动DS18B20进行温度变换,再读取存储器的第一位和第二位读取温度,通过I/O口传到LCD1602显示。引脚定义如图3所示DS18B20123图3DS18B20引脚图4硬件设计41硬件部分模块组成单片机最小系统12M晶振、复位电路、AT89C51单片机2个DS18B20温度传感器一个LCD显示屏(配合排阻)42单片机最小系统复位电路无论哪种方式,单片机都将拥有相关的复位电路。如果复位电路是不可靠的,那么在进行工作时是非常不利。因此,单片机复位电路的好坏,直接影响到整个系统可靠性。复位操作完成初始化该芯片的单片机电路,可以使单片机从确定的开始状态运行。时钟电路80C51单片机时钟信号通常是内部振荡器和外部振荡器模式。XTAL1和XTAL2引脚连接外部晶体振荡器,可以构成内部振荡器方式。单片机有高增益反相放大器,当连接外部晶体振荡器后,它构成自激振荡器和产生振荡时钟脉冲。晶体通常用6MHZ、12MHZ或24MHZ。内部振荡器如下图37所示,电容C1、C2稳定振荡频率,快速振动的作用,电容值通常是530PF。内部振荡器模式获得的时钟信号比较稳定。外部振荡器的时钟信号送入单片机,这种方法适合用于单片机的时钟与外部信号保持统一。复位电路和时钟电路如下图图4复位电路和时钟电路43温度传感器DS18B20DS18B20型单线智能温度传感器7,属于新一代适配微处理器的智能温度传感器。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其可以75MS750MS内完成9位和12位的数字量,最大分辨率为00625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线单线接口读写。其外形和管脚如下图5所示DALLASDS18B20123GNDDQVCC123DS18B20TQ92封装低试图DS18B208脚SQIC封装图5DS18B20外部形状及管脚图1GND为电源地;2DQ为数字信号输入/输出端;3VCC为外接供电电源输入端(在寄生电源接线方式时接地)431DS18B20与单片机的典型接口设计DS18B20温度测量系统有一个简单的测温系统,测温精度高,方便连接等。DS18B20与单片机的硬件连接方式有第一VCC连接到一个外部电源,GND接地,输入/输出接口和单片机的输入/输出接口相连;第二利用寄生供电,UDD和GND接地。输入/输出接单片机的输入/输出接口。不管是何种电源方式,输入/输出端口引脚必须连接大约47K上拉电阻。图32显示了DS18B20一个典型的连接。1)DS18B20寄生电源供电方式如下图6,寄生供电模式,DS18B20从单总线上吸收能量当信号线DQ为高电平时把能量储存在内部电容里,当处于低电平时消耗它而工作。寄生电源方式有三个优点A)当测温距离较远时,不需要本地供电。B)可以读取ROM,在没有传统电源条件下。C)电路简单,只有一个输入/输出端口,实现温度的测量。为了使DS18B20温度的精确转换,输入/输出线必须保证提供足够的能量,在温度转换的过程中,因每一个DS18B20在温度转换时电流达到一定数值,当一些温度传感器挂在同一个输入/输出线上多点温度的测量,依靠47K上拉电阻将无法提供足够的能量,会造成很大的错误或不能被转换为温度。因此,该电路只适应于一个单一的温度传感器的温度测温情况,不适合电池供电系统。且VCC必须确保在工作时是5V,该电源电压降低时,获得的能量在寄生电源方式下也减少了,使温度误差较大。2DS18B20寄生电源强上拉供电方式改进的寄生供电方式如图7所示,以使在动态转换周期得到足够的电流,在温度转换或内存储器复制操作时,使用MOSFET将输入/输出线直接拉到连接电源就可以提供足够的电流,当有复制到内存储器或启动温度转换命令之后,必须在10S内将输入/输出线转换为强上拉的方式。可以解决电流供应不强拉模式这个问题,因此也适合应用在多点温度,缺点是要占用一个以上的输入/输出端口线的强上拉的变换。3DS18B20的外部电源供电方式如下面图8所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用355V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。图6DS18B20外部电源供电方式图7DS18B20寄生电源供电方式47KVCCUPI/OI/OGNDDQVDDVCC47KVCC图8DS18B20温度转换期间的强上拉供电寄生电源方式432DS18B20的测温原理DS1820测温原理如下图9所示。图中低温度系数晶振的振荡频率在很大程度上受到温度因素影响的几率很小,它的功能是产生特定频率的脉冲信号传输给计数器1。斜率累加器低温度系数晶振计数器1比较温度寄存器预置预置0计数器2高温度系数晶振0加1停止图9DS18B20测温原理DS18B20的测温电路如下图所示图10DS18B20的测温电路5软件设计51主程序方案主程序调用了4个子程序和一个欢迎开机画面的程序,4个子程序分别是液晶初始化、DS18B201的初始化、液晶显示的子程序和液晶显示数据的程序。液晶初始化程序8位数据端口、2行显示、57点阵、开启显示、无光标、清屏、AC递增、画面不动。分别对两个DS18B20温度传感器初始化程序初始化,读写一个字节。液晶显示的子程序确定液晶字符的输入位置,将字符输出到液晶显示。液晶显示温度程序先读DS18B20当前温度,将温度转化成字符显示。将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。52流程图主程序流程图图11主程序流程图开始液晶初始化两个DS18B20初始化显示开机画面延时2秒显示第一个温度延时2秒显示第二个温度延时2秒液晶初始化流程图图12液晶初始化流程图开始功能设置(0X38)162显示8位数据、57点阵不忙检测,执行三次延时5MS开显示,无光标(0XC0延时5MS设置输入模式(0X01)延时5MS清除显示器(0X01)延时5MS返回退出DS18B20的读取数据流程图图13DS18B20的读取数据流程图开始DS18B20初始化发跳过ROM命令发温度读取指令清DQ准备发送延时1US以上读一位数据延时INCLUDEINCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARTEMP_VALUE/温度值UCHARTEMPBUFFER7VOIDSHOW_TIME/液晶显示程序UCHARTEMP_VALUE1/温度值UCHARTEMPBUFFER17CHARXIAOSHU0CHARXIAOSHU10VOIDSHOW_TIME1/1602液晶显示部分子程序/CHARDONE,COUNT,TEMP,FLAG,UP_FLAG,DOWN_FLAG/PORTDEFINITIONSSBITLCDRSP20SBITLCDRWP21SBITLCDENP22SFRDBPORT0X80/P00X80,P10X90,P20XA0,P30XB0数据端口SBITDQP17/温度传送数据IO口SBITDQ1P16/内部等待函数UNSIGNEDCHARLCD_WAITVOIDLCDRS0LCDRW1_NOP_LCDEN1_NOP_LCDEN0RETURNDBPORT/向LCD写入命令或数据DEFINELCD_COMMAND0/COMMANDDEFINELCD_DATA1/DATADEFINELCD_CLEAR_SCREEN0X01/清屏DEFINELCD_HOMING0X02/光标返回原点VOIDLCD_WRITEBITSTYLE,UNSIGNEDCHARINPUTLCDEN0LCDRSSTYLELCDRW0_NOP_DBPORTINPUT_NOP_/注意顺序LCDEN1_NOP_/注意顺序LCDEN0_NOP_LCD_WAIT/设置显示模式DEFINELCD_SHOW0X04/显示开DEFINELCD_HIDE0X00/显示关DEFINELCD_CURSOR0X02/显示光标DEFINELCD_NO_CURSOR0X00/无光标DEFINELCD_FLASH0X01/光标闪动DEFINELCD_NO_FLASH0X00/光标不闪动VOIDLCD_SETDISPLAYUNSIGNEDCHARDISPLAYMODELCD_WRITELCD_COMMAND,0X08|DISPLAYMODE/设置输入模式DEFINELCD_AC_UP0X02DEFINELCD_AC_DOWN0X00/DEFAULTDEFINELCD_MOVE0X01/画面可平移DEFINELCD_NO_MOVE0X00/DEFAULTVOIDLCD_SETINPUTUNSIGNEDCHARINPUTMODELCD_WRITELCD_COMMAND,0X04|INPUTMODE/初始化LCDVOIDLCD_INITIALLCDEN0LCD_WRITELCD_COMMAND,0X38/8位数据端口,2行显示,57点阵LCD_WRITELCD_COMMAND,0X38LCD_SETDISPLAYLCD_SHOW|LCD_NO_CURSOR/开启显示,无光标LCD_WRITELCD_COMMAND,LCD_CLEAR_SCREEN/清屏LCD_SETINPUTLCD_AC_UP|LCD_NO_MOVE/AC递增,画面不动/液晶字符输入的位置VOIDGOTOXYUNSIGNEDCHARX,UNSIGNEDCHARYIFY0LCD_WRITELCD_COMMAND,0X80|XIFY1LCD_WRITELCD_COMMAND,0X80|X0X40/将字符输出到液晶显示VOIDPRINTUNSIGNEDCHARSTRWHILESTR0LCD_WRITELCD_DATA,STRSTR/DS18B20子程序/DS18B20延迟子函数(晶振12MHZ)/VOIDDELAY_18B20UNSIGNEDINTIWHILEI/DS18B20初始化函数/VOIDINIT_DS18B20VOIDUNSIGNEDCHARX0DQ1/DQ复位DELAY_18B208/稍做延时DQ0/单片机将DQ拉低DELAY_18B2080/精确延时大于480USDQ1/拉高总线DELAY_18B2014XDQ/稍做延时后如果X0则初始化成功X1则初始化失败DELAY_18B2020/DS18B20读一个字节/UNSIGNEDCHARREADONECHARVOIDUCHARI0UCHARDAT0FORI8I0IDQ0/给脉冲信号DAT1DQ1/给脉冲信号IFDQDAT|0X80DELAY_18B204RETURNDAT/DS18B20写一个字节/VOIDWRITEONECHARUCHARDATUNSIGNEDCHARI0FORI8I0IDQ0DQDATDELAY_18B205DQ1DAT1/读取DS18B20当前温度/VOIDREADTEMPVOIDUNSIGNEDCHARA0UNSIGNEDCHARB0CHARTLONGTTINIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0X44/启动温度转换DELAY_18B20100/THISMESSAGEISWERYIMPORTANTINIT_DS18B20WRITEONECHAR0XCC/跳过读序号列号的操作WRITEONECHAR0XBE/读取温度寄存器等(共可读9个寄存器)前两个就是温度DELAY_18B20100AREADONECHAR/读取温度值低位BREADONECHAR/读取温度值高位TEMP_VALUEB4TATTT625XIAOSHUTT/1000VOIDTEMP_TO_STR/温度数据转换成液晶字符显示TEMPBUFFER0TEMP_VALUE/100/十位TEMPBUFFER1TEMP_VALUE100/个位TEMPBUFFER2TEMPBUFFER3XIAOSHU0TEMPBUFFER40XDFTEMPBUFFER5CTEMPBUFFER160VOIDDELAY1MSUNSIGNEDINTCOUNTUNSIGNEDINTI,JFORI0I0IDQ10/给脉冲信号DAT1DQ11/给脉冲信号IFDQ1DAT|0X80DELAY_18B204RETURNDAT/DS18B201写一个字节/VOIDWRITEONECHAR1UCHARDATUNSIGNEDCHARI0FORI8I0IDQ10DQ1DATDELAY_18B205DQ11DAT1/读取DS18B201当前温度/VOIDREADTEMP1VOIDUNSIGNEDCHARA0UNSIGNEDCHARB0UNSIGNEDCHART0LONGTTINIT_DS18B201WRITEONECHAR10XCC/跳过读序号列号的操作WRITEONECHAR10X44/启动温度转换DELAY_18B20100/THISMESSAGEISWERYIMPORTANTINIT_DS18B201WRITEONECHAR10XCC/跳过读序号列号的操作WRITEONECHAR10XBE/读取温度寄存器等(共可读9个寄存器)前两个就是温度DELA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- TD/T 1031.5-2011土地复垦方案编制规程第5部分:石油天然气(含煤层气)项目
- JJF(纺织)108-2023口罩防护效果测试仪校准规范
- JJF(纺织)055-2023标准光源箱校准规范
- JJF(烟草)5.4-2014卷烟主流烟气中相关成分测量不确定度评定指南第4部分:巴豆醛
- 表面活性剂的特性和HLB值的计算11课件
- 考研复习-风景园林基础考研试题带答案详解(a卷)
- 风景园林基础考研资料试题及答案详解【考点梳理】
- 《风景园林招投标与概预算》试题A附参考答案详解【综合题】
- 2025-2026年高校教师资格证之《高等教育法规》通关题库附参考答案详解(典型题)
- 2025年济南四建集团有限责任公司招聘笔试备考题库有答案详解
- 木家具制造工艺学-南京林业大学中国大学mooc课后章节答案期末考试题库2023年
- 大数据与法律检索-湖南师范大学中国大学mooc课后章节答案期末考试题库2023年
- 2023年养老服务有限公司简介(4个范本)
- 天然气安全技术说明书MSDS
- 老旧住宅屋面防水工程施工方案
- 内科-心内简答题(干货分享)
- 《MTP-中层管理技能提升训练》课件
- 《抖音平台商品销售策略研究10000字(论文)》
- 会议记录(空白)
- GB/T 24338.5-2018轨道交通电磁兼容第4部分:信号和通信设备的发射与抗扰度
- GB/T 20624.2-2006色漆和清漆快速变形(耐冲击性)试验第2部分:落锤试验(小面积冲头)
评论
0/150
提交评论