




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的仓库温度监测系统设计方案第1章 绪论1.1 课题研究的背景及意义在信息高速发展的21世纪,电子科学技术的发展日新月异,社会中的诸多行业对各种信息参数的准备度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器技术作为新技术革命和信息社会的重要技术基础,是现代科技的开路先锋,也是当代科学技术发展的一个重要标志。传感器技术、通信技术、计算机技术分别对应信息技术中的采集、传输和处理,尤其是温度传感器技术,在我国各领域已经广泛使用,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。同时,温度监测控制系统已广泛应用于社会生活的各个领域,甚至在不易人们亲自接近的货物储藏的仓库已普遍使用。检测控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致检测控制系统性能不佳,甚至出现控制不稳定、失控现象。本设计采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。在此基础上本设计又采用单片机芯片AT89C51作为主控制器的核心,形成成熟的温度控制系统,结合DS18B20芯片的小型化,通过单条数据线就可以和主电路连接,把数字温度传感器DS18B20做成探头,探入到仓库中的各个地方,不但增加其实用性,更能串接多个数字温度传感器DS18B20进行多路的温度监测。1.2 温度传感器国内外现状及水平传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工业生产和生活领域,数量高居各种传感器之首。温度传感器的发展大致经历了以下三个阶段:传统的分离式温度传感器(含敏感元件)、模拟集成温度传感器/控制器和数字温度传感器。目前,国际上新型温度传感器正从模拟向数字式、由集成向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度的监测工作。但传统的方法是通过人工进行检测,对不符合温度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温度监测系统。温度监测除了用于仓库监测外,还可以广泛应用于机房、图书馆、档案馆、文物馆、生物制药、无菌室等各行各业需要温度监测的场所和领域。随着我国科技和生产各领域都取得了飞速的发展和进步,发展温度传感器为载体的温度测量技术具有重大意义。1.3 课题设计任务与目的本设计要求利用温度传感器与单片机实现多路温度采集;温度测量范围为-2033,精度为0.5;设有温度报警功能。能够根据需要方便设定上下限报警温度,当达到报警温度后,能够发出报警声。本设计目的在于加深对单片机系统的认识,掌握一个系统开发设计的过程;熟悉使用proteus进行硬件仿真,keil进行程序编译。培养分析问题、解决问题、独立设计和制作电子产品的能力。1.4 设计思路大多单片机接口输入的信号是数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性差、测量温度精度低,而且还需要经A/D转换成数字信号后才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计、方便单片机读取数据、节约成本。设计温度监测系统需要考虑以下3个方面:(1) 温度传感器芯片的选择;(2) 单片机和温度传感器的接口电路设计;(3) 控制温度传感器实现温度信息采集以及数据传输的软件。本设计是基于温度传感器的仓库温度检测系统中的温度检测、电路控制、报警系统及显示部分的实现。以智能温度传感器应用技术和单片机应用技术为核心进行开发,并且以理论分析和该技术方案为基础,在不断地研究过程中进行不断的调整,完成了一个仓库温度监测系统的设计。第2章 系统设计2.1 方案设计2.1.1 设计方案一利用LM35温度感应器在温度变化时转化成电压的等比例变换,然后通过数码管以数字显示出来。此电路图的核心元件是利用ICL7107来完成功能的转换,ICL7107是一块应用非常广泛的集成电路。它包含3个1/2位数字A/D转换器,可直接驱动LED数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动凋零功能等。制作时,数字显示用的数码管为共阳极,2K可调电阻最好选用多圈电阻,分压电阻选用误差较小的金属膜电阻,其它器件选用正品即可。该电路稍加改造,还可演变出很多电路,如数显电流表、数显温度计等。静默电流温度关系。硬件电路复杂,软件调试复杂,制作成本高,精度不高,不适合在高精度场合使用。2.1.2 设计方案二利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化易于实现。该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。该设计采用模数转换硬件电路复杂,软件调试复杂,制作成本高。故温度计精度不高,不适合在高精度场合使用。2.1.3 设计方案三在日常生活及工农业生产中经常要用到温度的监测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。本设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件。DS18B20可以直接读出温度被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路、显示电路。监测系统控制器使用单片机AT89C51,温度传感器使用DS18B20,用LCD1602液晶显示器实现温度显示。此电路温度精度高、电路简单、可靠,可以在较高环境要求下准确测温,故采用此方案。2.2 系统整体设计方框图温度监测系统电路设计总体设计方框图如图2.1所示。本系统采用单片机及外围电路完成。最重要的部分即测温电路将采用数字温度芯片测量温度,这样输出的信号为数字信号,可以直接由单片机来处理;晶振电路及复位电路将提供给单片机必不可少的时钟信号和复位信号以使单片机正常工作。报警电路用于当仓库温度超过额定范围时,及时报警通知。显示电路则是显示仓库温度。系统的运行流程为:三路温度传感器实时的采集各自的温度信号,输出的数字信号传给单片机,经单片机处理和判断分别分时显示在液晶显示器上。如果某路的温度超出或低于设定的温度范围,则报警器开始报警。完成上述任务后,返回程序起始位置,循环检测并显示。图2.1 系统总体框图 第3章 电子器件介绍本章主要介绍系统设计所需的电子元器件。电子元器件主要包括单片机(AT89C51)、温度传感器(DS18B20)、和液晶显示器(LCD1602)。3.1 单片机微型计算机的出现是数字计算机广泛应用到人们生活领域的一个重大转折点。单片微型计算机是微型计算机发展的一个重要组成部分,它以独特的结构和性能,在国民经济发展的各个领域都得到普遍应用。单片微型计算机(Single Chip Microcomputer)简称单片机。由于单片机主要用于系统的控制模块,因而又称作微控制器(Microcontroller Unit,MCU)或者嵌入式控制器(Embedded Controller)。它将计算机的基本功能部件加以微型化,并集成到一块芯片上,实现了片上系统的设计。3.1.1 单片机的结构单片机内部包含中央处理器部件(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、Flash ROM)、定时器/计数器以及各种输入/输出(I/O)接口。单片机的结构如图3.1。图3.1 单片机的结构3.1.2 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.3 AT89C51引脚功能AT89C51单片机为40引脚双列直插式封装,其引脚排列和逻辑符号如图3.2所示。图3.2 单片机引脚示意图(1)VCC:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表3.1所示:表3.1 P3口第二功能引脚功能P3.0RXD(串行接口输入)P3.1TXD(串行接口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器0输入信号)P3.5T1(定时器1输入信号)P3.6/WR(外部数据存储器读选通)P3.7/RD(外部数据存储器写选通)P3口同时为闪烁编程和编程校验接收一些控制信号。(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(10)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(12)XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2 DS18B20温度传感器DS18B20数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20如图3.3所示可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。3.2.1 DS18B20的主要特性(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电。(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4) DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。(5) 温范围55+125。(6) 可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7) 在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8) 测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。图3.3 DS18B20封装图3.2.2 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20的外形及管脚排列如图3.4:光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。图3.4 DS18B20的外形及管脚排列DS18B20的内部结构如图3.5:图3.5 DS18B20内部结构图DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB形式表达,其中S为符号位。如表3.2所示:表3.2 DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FE6FH,-55的数字输出为FC90H 。如表3.3所示表3.3 DS18B20温度数据表 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。 配置寄存器的结构见表3.4。表3.4 配置寄存器TMR1R011111低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用 户不要去改动。R1和R0用来设置分辨率,如表3.5所示:(DS18B20出厂时被设置为12位)表3.5 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms高速暂存存储器由9个字节组成,其分配如表3.6所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表2.3是对应的一部分温度值。第九个字节是冗余检验字节。表3.6 DS18B20暂存寄存器分布寄存器内容字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8 根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令见表3.7,最后发送RAM指令见表3.8,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。表3.7 ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3.8 RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第2、3字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.2.3 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。DS18B20测温原理如图3.6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.6 DS18B20测温原理框图3.2.4 DS18B20的外部电源供电方式如图3.7所示在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证 转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空 ,否则不能转换温度,读取的温度总是85。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度 监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。图3.7 外部供电方式单点测温电路3.3 LCD1602液晶显示器LCD1602液晶显示器是工业字符型液晶,能够同时显示162即32个字符。是一种专门显示字母、数据、符号等的点阵型液晶。每个点阵都可以显示一个字符。实物如图3.8。图3.8 LCD16023.3.1 引脚定义LCD1602具有16个引脚。引脚示例如图3.9。各引脚功能见表3.9。图3.9 LCD1602引脚示例表3.9 引脚功能表序号名称描述1GND接地2VCC接+5V3VL液晶显示器对比度调整端4RS寄存器选择端5RW读写控制端6EN使能端7-14D0-D7双向数据端15BL+背灯电源正极16BL-背灯电源负极3.3.2 指令介绍LCD1602液晶显示器内部共有11条指令。各指令定义及功能见表3.10。表3.10 LCD1602指令表3.3.3 显示自定义字符显示自定义字符步骤如下:(1) 先将自定义字符写入CGRAM。 LCD160内含的CGROM字符代码表中的00H07H地址中的内容没有定义,它是用户自定义区域。用户可以向CGRAM中定义内容。在设定内容时,要逐行设定,每行对应一个CGRAM,每行5点,共8行。(2) 将CGRAM中的自定义字符传送到DDRAM中。首先写入行地址。格式见表3.11。然后设定CGRAM数据的内容。见表3.12。表3.11 行地址格式RSR/WDB7DB6DB5-DB3DB2-DB00001字符地址行号表3.12 设定CGRAM中的数据格式RSR/WDB7-DB5DB4-DB010一般取000每行5点的字模数据第4章 硬件电路设计4.1 系统的硬件组成本设计使用单片机作为控制核心,采用多个温度传感器对多点温度进行检测,以液晶显示屏分别循环显示检测的温度。系统原理框图如图4.1所示。图4.1 系统原理框图4.2 单片机的典型电路单片机的典型电路包括时钟电路和复位电路。4.2.1 时钟电路如图4.2连接即可构成自激振荡电路,振荡频率取决于适应晶体的振荡频率,范围可取1.212MHz,C1、C2主要起频率微调和稳定作用,电容可取530pF。图4.2 单片机时钟电路4.2.2 复位电路上电复位电路:RC构成微分电路,在接电瞬间产生一个微分脉冲,其宽度大于2个机器周期。如图4.3所示:图4.3 单片机复位电路4.3 显示电路如图4.4所示为LCD1602液晶显示屏的接口连线,最后两个管脚LED+接高电平+5V,LED-接地。通过调节10K滑动变阻器来调节显示屏的亮度,以便清晰显示数据。图4.4 LCD1602液晶显示屏的接口连线4.4 温度检测电路如图4.5所示为温度检测电路连接图,三路DS18B20的DQ分别接单片机的P3.2、P3.3、P3.4I/O接口,DS18B20采用外部供电方式,I/O口线要接5K左右的上拉电阻,这里接4.7K,工作稳定可靠,抗干扰能力强。图4.5 温度检测电路连接图4.5 温度报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过或者低于所预设的温度时,数据口相应拉高电平,报警输出。也可采用发光二级管报警电路,如果需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM的内容是否与预设一样,如不一样,则发光报警。报警电路硬件连接图见图4.6。图4.6 报警电路硬件连接图第5章 软件设计系统程序主要包括主程序、温度检测程序、温度转换命令子程序、计算温度子程序显示数据刷新子程序等。5.1 主程序主程序调用各个子程序,并系统的控制各执行模块之间的结合与联系,处理子程序送来的数据。主程序流程图如图5.1所示。图5.1 主程序流程图5.2 温度检测程序DS18B20在单片机的控制下分三个阶段:18B20初始化、读18B20、写18B20。5.2.1 DS18B20初始化 DS18B20的初始化流程图如图5.2所示。先将数据线置高电平“1”;延时(该时间要求的不是很严格,但是尽可能的短一点), 数据线拉到低电平“0”;延时750s(该时间的时间范围可以从480到960s); 数据线拉到高电平“1”;延时等待(如果初始化成功则在15到60s时间之内产生一个由DS18B20所返回的低电平“0”;据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起最少要480s;将数据线再次拉高到高电平“1”后结束。图5.2 DS18B20的初始化流程图5.2.2 读DS18B20程序读DS18B20流程见图5.3。首先设置循环次数为8次,通过总线延迟将8位数据读入单片机内。当从DS18B20读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s内有效。因此,主机在读时间隙开始后必须把I/O脚驱动拉为的电平保持15s,以读取I/O脚状态。在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期至少1s的恢复时间。图5.3 读DS18B20流程图5.2.3 写DS18B20程序写DS18B20流程见图5.4。同样,先设置循环次数为8次,通过总线延迟将8位数据写入单片机内。当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙,写1时间隙和写0时间隙。所有写时间隙必须最少持续60s,包括两个写周期至少1s的恢复时间。I/O线电平变低后,DS18B20在一个15s到60s的窗口内对I/O线采样。如果线上事高电平,就是写1,如果是低电平,就是写0。主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15s内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保存60s。每个读时隙都由主机发起,至少拉低总线1s,在主机发起读时序之后,单总线器件才开始在总线上发送0或1。所有读时序至少需要60s。 图5.4 写DS18B20流程图5.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时,转换时间约为750ms。在本程序设计中采用1s显示程序延时法等待转换的完成。其程序流程图如图5.5所示。5.4 计算温度子程序计算温度子程序将读取值进行码的转换运算,并进行温度值正负的判定,其程序流程图如图5.6所示。图5.5 温度转换流程图图5.6 计算温度子程序流程图 5.5 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时,将符号显示位移入下一位。程序流程图如图5.7所示。图5.7 显示数据刷新子程序流程图第6章 仿真、制作及系统调试6.1 仿真结果通过Proteus软件对系统进行仿真,其仿真图如图6.1所示。因为仿真图看不出蜂鸣报警器是否响,所以这里用报警指示灯来代替蜂鸣报警电路。图6.1 系统仿真图如图6.2所示为循环显示三路温度的仿真图。液晶第一行显示仿真的日期,第二行显示分别为温度值、温度单位和温度检测的路数。其中图a为第1路DS18B20所检测的温度,其温度值为-20.5,液晶显示与DS18B20的一致,说明仿真正确。因为该温度超出了设定温度的下限,所以报警指示灯亮。图b显示为第2路DS18B20检测的温度,其温度在设定范围内,报警指示灯不亮。图c显示为第3路DS18B20所检测的温度,其温度超出了设定范围的上限,报警指示灯亮。图d为循环回来显示的1路温度值。6.2 实物制作仿真结果出来后照着系统仿真图开始进行实物制作。先从实验室获取各个模块电路所需要的所有元器件,元器件的清单如表6.1所示。然后依照电路进行焊接实物。 a b c d 图6.2 三路温度仿真图6.3 系统调试本次设计系统的调试以程序的调试为主。先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编程及调试。表6.1 元器件清单序号名称型号单位数量备注1电阻10K支22电容30pF支23晶振12MHz支14三极管9012支15蜂鸣器支16滑动变阻器10K支17电阻5K支38液晶显示器LCD1602支19单片机AT89C51支1由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时,必须严格的保证读/写时序,否则将无法读取测量结果。本程序采用单片机C语言编写,用Keil C编译器编程调试。软件调试到液晶能显示温度值,而且在有温度变化时(例如改变传感器的温度值)显示温度能改变。软硬件分别调试完成以后,将程序下载入单片机中,电路板接上电源,系统开始运行。如图6.3所示 图6.3 系统初始调试图由于刚上电时DS18B20还没有初始化成功,所以三路都显示为85。经过一个循环周期后,开始显示各路温度。如图6.4所示 a b c d图6.4 各路温度显示图图中a、b、c图分别为第1路、第2路、第3路检测的温度,图d为循环一周期后重新显示的第1路温度。由于我们在用软件仿真的时候都是假设所有的元件为理想状态,但是在现实中,远远达不到理想状态,元器件总是或多或少存在一些问题,所以成品有可能和仿真出的结果有一些误差。但只有能够实现正常循环显示温度值,那么本次设计基本成功。结论本设计利用AT89C51芯片控制温度传感器DS18B20,再辅之以部分外围电路实现对环境温度的监测,性能稳定,精度教高,而且扩展性能很强大。由于DS18B20支持单总线协议,我们还可以将多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用较少的微处理器的端口就可以实现多点测温监控系统。由于DS18B20的测量精度只有0.5度,往往很多场合需要更加精确的温度,在所测温度精度不变的基础上必须对数据进行校正。由于DS18B20是基于带隙结构的数字式温度传感器,PN结增量电压正比于IC绝对温度(PTAT),它的测温精度较高,但存在着一定的误差.不过,其误差在时间和外部环境变化的条件下,保持相当高的稳定性。通过本次设计,让我对单片机AT89C51的原理应用以及与周边系统的连接融合环节有了深入的认识,针对温度传感器DS18B20芯片的原理我通过网络资料对其有了更深刻的理解。并且能够熟悉使用proteus进行硬件仿真,keil进行程序编译,培养了分析问题、解决问题、独立设计和制作电子产品的能力。参 考 文 献1 常喜茂,孔英会,付小宁C51基础与应用实例M电子工业出版社,2009.12 余永权.ATMEL89系列单片机应用技术M北京:航空航天大学出版社,2002.43 江思敏,陈明Protel电路设计教程M北京:清华大学出版社,200834 陆子明,徐长根单片机设计与应用基础教程M.北京:国防工业出版社,2005.15 张文娜,叶湘滨传感器接口电路的抗干扰技术及其应用J.计算机自动测量与控制, 2011,9(3)6 赵华峰,李龙洲MCS-51单片机多分支程序的实现J.渭南师范学院学报,2009,(2)7 刘笃仁,韩保君.仓库温湿度的多点移动监测系统设计J.大连民族学院学报, 2010.12(3)8 张伟,戈振扬烤烟房温湿度无线数据采集系统J.计算机工程.2010.369 51单片机学习网论坛. http//bbs.10 Single-ChipMicrocomputer/view/112656649b6648d7c1c746f3. html11 W.Wjciak,NAPIERALSKIAAnanaOoguehumidsensorintegratedintheCMOS technologyIn:Proc.THERMINIC95Workshop,France:Grenoble,1995,15-20,25-2612JonTitas.ENDs15thAnnualuP/uCChipDirectoryEDN,1988,3:112-13213 ARABIK,KAMINSKABBuilt-inhumidsensorsforon-linethermalmonitoringof microelectronicstructuresIEEEInternationalConference,1997,12:462-46733致 谢毕业设计是对我们知识运用能力的一次全面的考核,也是对我们进行科学研究基本功的训练,培养我们综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写专业学术论文和工作打下良好的基础。本次设计能够顺利完成,首先我要感谢我的母校-大连海事大学,是她为我们提供了学习知识的土壤,使我们在这里茁壮成长。其次我要感谢电子信息科学与技术专业的老师们,他们不仅教会我们专业方面的知识,而且教会我们做人做事的道理;尤其要感谢本次设计中给我大力支持和帮助的金老师,也就是我的指导老师,每有问题金老师总是耐心的解答,使我能够充满热情的投入到毕业设计中去,还要感谢我的同学们他们热心的帮助,还需感谢相关资料的编著和给予我们支持的社会各界人士,感谢你们为我们提供一个良好的环境,使本次设计圆满完成。最后我要特别感谢我的父母,是他们最先教会了我为人处事的道理,给了我学习的机会。大学四年来他们一直在背后默默地支持着、关心着、牵挂着我,给我精神上的鼓励和安慰。是他们无言的眷顾和送赠让我愉快而又顺利的度过我的大学生活。附录1#include#include#define uchar unsigned char#define uint unsigned intuchar code table=0123456789.-;uchar code ditab16=0x00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力如何赋能人文发展
- 2025年建筑医院环境设计与规划试题答案及解析
- 2025年内科疾病临床诊断考试答案及解析
- 2025年药学学习药物不良反应的模拟测试答案及解析
- 2025年皮肤科皮肤疾病诊断鉴别考核答案及解析
- 2025年急诊医学生命体征监测技能考核答案及解析
- 湾区新质生产力布局
- 民族团结与爱国主义课件
- 吉林省新质生产力的发展探索
- 2025年全科护理围手术期护理技能测评答案及解析
- 超级充电综合站及配套设施建设项目可行性研究报告
- 中国心房颤动管理指南2025解读
- 《云计算与大数据》课件第3章“大数据”关键技术与应用
- 2025-2026学年人教大同版(2024)小学英语三年级上册教学计划及进度表
- 2025-2026学年陕旅版(三起)(2024)小学英语四年级上册(全册)教学设计(附目录)
- 2025年血液净化护理知识测试题库附答案
- 心电监护血氧饱和度监测技术
- 局工作秘密管理暂行办法
- 智能仓储物流管理平台的设计与开发
- 2025上海戏剧学院辅导员考试试题及答案
- 2023年黑龙江省汤原县事业单位公开招聘辅警31名笔试题带答案
评论
0/150
提交评论