室内温度智能控制系统设计_第1页
室内温度智能控制系统设计_第2页
室内温度智能控制系统设计_第3页
室内温度智能控制系统设计_第4页
室内温度智能控制系统设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第i页室内温度智能控制系统【摘要】:本设计采用现在流行的AT89S52单片机,配以DS18B20数字温度传感器,该设计可自行设置温度上下限。单片机将检测到的温度信号与输入的温度上、下限进行比较,由此作判断是否启动继电器以开启设备。本设计还加入了常用的液晶显示及状态显示灯常用电路,使得整个设计更加完整,更加灵活。该设计可应用于室内,可对室内温度进行智能监控。【关键词】:温度箱;单片机;控制;模拟第ii页Abstract:ThetemperaturewasdesignedwiththenowpopularAT89S51SCM,andwithDS18B20digitaltemperaturesensor,Thetemperaturesensorcansetuptheirowntemperaturecollars.SCMwilldetectthatthetemperatureoftheinputsignalandtemperature,thelowercomparisonsthisjudgmentwhethertoactivatetherelaytoopentheequipment.Thedesignalsoincludescommonlyuseddigitaldisplayandcontrolstatelightscommonlyusedcircuit,makingthewholedesignmoreflexible.Thedesignhasbeenappliedtosomeone,tosomeoneintelligenttemperaturecontrol.Keywords:Temperature;SCM;Control;Simulation-目录前言.1第1章总体方案论证与设计.2第1.1节主控模块的设计.2第1.2节显示模块的选型和论证.2第1.3节温度检测模块的选型和论证.2第1.4节系统整体设计概述.3第2章硬件设备设计.4第2.1节主控模块.4第2.2节LCD液晶显示器简介.7第2.3节键盘模块设计.9第2.4节语音报警模块设计.10第2.5节温度检测模块设计.12第2.6节加热和冷却模块设计.15第3章系统的软件设计.17第3.1节主程序.17第3.2节读出温度子程序.17第3.3节温度转换命令子程序.18第3.4节计算温度子程序.18第3.5节显示数据刷新子程序.19第3.6节1602液晶显示.19第3.7节程序设计原理.20第4章系统硬件调试.21第4.1节设置温度上下线.21第4.2节低温报警.22第4.3节高温报警.23结论.24参考文献.25致谢.26附录.27附录1原理图.27附录2程序.28第0页前言设计意义和目的:温度控制无论是在工业生产中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使资源失去应有的作用,从而造成资源的巨大浪费。为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对温度进监测、显示、控制,使之达到工艺标准,满足需要。由于电子行业的迅猛发展,计算机技术和传感器技术的不断改进,而且计算机和传感器的价格也日益降低,可靠性逐步提高,用信息技术来实现温度控制并提高控制的精确度不仅是可以达到的而且是容易实现的。其发展必将带来新一轮的工业化的革命和社会发展的飞跃。国内现状:我国对于温度控制技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度控制技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。温度控制设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度控制控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,如软硬件资源不能共享和可靠性比较差。国外现状:国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度控制技术发展很快,一些国家在实现自动化的基础上正在向着完全自动化、无人智能化的方向发展。本系统设计制作一个基于单片机的温度控制系统。能实现以下几种功能:(1)键盘扫描,通过单片机检测用户按下的是哪个按键并执行相应的功能。(2)通过液晶显示模块实时显示当前的温度。(3)用户可以设置上限和下限温度,当高于上限温度时单片机通过控制继电器使冷却模块工作,当低于下限温度时单片机通过继电器使加热模块工作。(4)当系统检测到温度超过上限或者下限的时候,单片机会驱动语音芯片语音提示,语音内容可以由用户自行录制。第1页第1章总体方案论证与设计第1.1节主控模块的设计方案1:采用MSP430系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电路和微处理器,提供强大的功能。不过该芯片昂贵不适合一般的设计开发。方案2:采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个IO口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。因此选用方案2中的51系列单片机作为主控芯片。第1.2节显示模块的选型和论证方案1:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。方案2:采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用单片机口线少。但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往有很多障碍,所以不采用LED数码管作为显示。方案3:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,对于本设计而言一个LCD1602的液晶屏即可,价格也还能接受,需要的借口线较多,但会给调试带来诸多方便。所以本设计中方案3中的LCD1602液显示屏作为显示模块。第1.3节温度检测模块的选型和论证方案1:AD590是美国ANALOGDEVICES公司的单片集成两端感温电流源,其输出电流与绝对温度成比例。在4V至30V电源电压范围内,该器件可充当一个高阻抗、恒流调节器,调节系数为1A/K。片内薄膜电阻经过激光调整,可用于校准器件,使该器件在298.2K(25C)时输出298.2A电流。由于该芯片输出为模拟量还同时需要AD转换器对其进行采集。因此不适用于本设计方案2:DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循第2页环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。因此本设计采用方案2中的DS18B20芯片进行温度采集第1.4节系统整体设计概述根据以上设计需要,系统拟采用以下方案,系统的结构框图如图1-1所示。液晶显示模块LCD1602按键模块主控模块STC89C52温度检测模块DS18B20语音报警模块加热模块冷却模块图1-1系统结构框图系统由单片机STC89C52、液晶显示模块LCD1602、温度检测模块、按键模块、语音报警模块、加热模块、冷却模块所组成。系统能完成以下功能,系统采用DS18B20对温度进行检测,并且能在LCD1602上实时显示温度。用户可以通过按键设置上限和下限温度,当温度超过上限温度时,系统通过继电器使冷却器件导通工作,当温度低于下限温度时,系统通过继电器使加热器件工作。当温度在上限和下限之间时维持原状态。第3页第2章硬件设备设计第2.1节主控模块主控模块在整个系统中起着统筹的作用,需要检测键盘,温度传感器等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C52单片机作为本系统统的主控芯片。51系列单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel等大公司。因此市面上出现了各式各样的均以51为内核的单片机。这些各大电子生产商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内部结构是与51一致的。STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。STC89C52单片机的基本组成框图见图2-1。时钟电路ROM/EPROM/Flash4KB定时/计数器2个RAM12BSFR21个CPU总线控制中断系统5个中断源2个优先级串行口全双工一个4个并行口P0P1P2P3VCCVSSXTAL1XTAL2图2-1STC89C52单片机结构图2.1.1.STC89C52单片机主要特性1.一个8位的微处理器(CPU)。2.片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及将要显示的数据等。3.片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。目前单片机的发展趋势是将第4页RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。4.四个8位并行IO接口P0P3,每个I/O口即可以用作输入也可以用作输出。5.两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6.五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。7.一个全双工UART(通用异步接收发送器)的串行IO口,用于实现单片机之间或单机与微机之间的串行通信。8.片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD最高允许振荡频率达40MHz,大大的提高了指令的执行速度。(1)部分引脚说明:1.时钟电路引脚XTAL1和XTAL2:XTAL2(18脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2.控制信号引脚RST,ALE,PSEN和EA:RST/VPD(9脚):RST是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源VCC发生故障,降低到低电平规定值时,将5V电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率FOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。PSEN(29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM的OE端(见后面几章任何一个小系统硬件图)。PSEN端有效,即允许读出EPROMROM中的指令码。PSEN端同样可驱动8个LS型TTL负载。要检查一个8051/8031小系统上电后CPU能否正常到第5页EPROMROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。EA/VPP(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。此引脚的第二功能是VPP是对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932脚):P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口(P1.0P1.7,18脚):P1口是一个带内部上拉电阻的8位准双向I/O口。P1口每位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口(P2.0P2.7,2128脚):P2口是一个带内部上拉电阻的8位准双向I/O口。P2口每位能驱动4个LS型TTL负载。在访问片外EPROM/RAM时,它输出高8位地址。P3口(P3.0P3.7,1017脚):P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下:P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中断0输入。P3.3:(INT1#)外部中断1输入。P3.4:(T0)定时/计数器0的外部计数输入。P3.5:(T1)定时/计数器1的外部计数输入。P3.6:(WR#)外部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。2.1.2.STC89C52单片机的中断系统第6页STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。2.1.3.单片机最小系统设计P1.034MOSI7CK8RET9XALVNU冷+YHZpFW-Bu图2-2单片机最小系统电路图图2-2为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0口跟其他IO结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用。第2.2节LCD液晶显示器简介由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进行显示。2.2.1.液晶原理介绍液晶显示器(LCD)英文全称为LiquidCrystalDisplay,它一种是采用了液晶控制透光度技术来实现色彩的显示器。和CRT显示器相比,LCD的优点是很明显的。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问第7页题。显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个162的字符型液晶显示模块。点阵图形式液晶由M行N列个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1个字节的8个位,即每行由16字节,共168=128个点组成,屏上6416个显示单元和显示RAM区1024个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由68或88点阵组成,即要找到和屏上某几个位置对应的显示RAM区的8个字节,并且要使每个字节的不同的位为1,其它的为0,为1的点亮,为0的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。2.2.2.液晶模块简介LCD1602液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM,LCD1602液晶模块的引脚图如图2-3所示。图2-3LCD1602引脚图第8页表2-1寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busyflag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据2.2.3.液晶显示部分与STC89C52的接口如图2-4所示。用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为57点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。P345/MOSI67CKRET9XALVNU冷+YHZpFWDBlcd-u图2-4LCD1602与STC89C52的接口第9页第2.3节键盘模块设计本按键模块使用的是多位独立按键,按键一端接IO口,一端接地,由于单片机的IO口都有内部上拉,因此当按键没有按下的时候,IO检测到的时候高电平,当按键按下的时候,相当于IO短接地,因此这时候单片机检测到的电平为低电平,通过检测不同时刻的IO口状态就可以判断按下的是那个按键。3个按键分别代表以下功能,第一为功能按键,可以切换不同参数设置界面,可以切换上限或下限温度的设置,第二个为增加按键,第三个为减少按键。键盘模块电路图如图2-5所示P1.0245/MOSI67CK8RETXALVNU冷W-B图2-5键盘模块电路图第2.4节语音报警模块设计2.4.1.ISD1820芯片介绍语音报警模块选用了ISD1820芯片,美国ISD公司于2001年最新推出一种单片820秒单段语音录放电路ISD1810,采用CMOS技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及FLASH阵列。主要特征如表2-2与所示:表2-2ISD1820语音芯片主要特性使用方便的单片8至20秒语音录放外接电阻调整录音时间高质量、自然的语音还原技术内置喇叭驱动放大电路边沿/电平触发放音10,000次录音周期(典型)自动节电、维持电流0.5uA35V单电源工作不耗电信息保存100年(典型值)借助专用设备可以批量拷贝第10页通过震荡电阻和取样率表可以看出,将ROSC端所接的振荡电阻改为电位器可以无级调节语音的快慢,录入的时间越短音质越好,录入的时间越长音质越差。芯片引脚如图2-6所示:图2-6芯片引脚图电源(VCC)芯片内部的模拟和数字电路使用的不同电源总线在此引脚汇合,这样使得噪声最小。去耦电容应尽量靠近芯片。地线(VSSA,VSSD)芯片内部的模拟和数字电路的不同地线汇合在这个引脚。录音(REC)高电平有效。只要REC变高(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,REC必须保持为高。REC变低或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可以及时停止。然后芯片自动进入节电状态。注:REC的上升沿有84毫秒防颤,防止按键误触发。边沿触发放音(PLAYE)此端出现上升沿时,芯片开始放音。放音持续到EOM标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放PLAYE。电平触发放音(PLAYL)此端从低变高时,芯片开始放音。放音持续至此端回到低电平,或遇到EOM标志,或内存结束。放音结束后芯片自动进入节电状态。录音指示(RECLED)处于录音状态时,此端为低,可驱动LED。此外,放音遇到EOM标志时,此端输出一个低电平脉冲。此脉冲可用来触发PLAYE,实现循环放音。话筒输入(MIC)此端连至片内前置放大器。片内自动增益控制电路(AGC)控制前置放大器的增益。外接话筒应通过串联电容耦合到此端。耦合电容值和此端的10K输入阻抗决定了芯片频带的低频截止点。话筒参考(MICREF)此端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。自动增益控制(AGC)动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持最小。通常4.7uF的电容器在多数场合下可获得满意的效果。第11页喇叭输出(SP+,SP-)这对输出端可直接驱动8以上的喇叭。单端使用时必须在输出端和喇叭之间接耦合电容,而双端输出既不用电容又能将功率提高至4倍。SP+和SP-之间通过内部的50K的电阻连接,不放音时为悬空状态。外部时钟(XCLK)此端内部有下拉元件,只为测试用,不用接。振荡电阻(ROSC)此端接振荡电阻至VSS,由振荡电阻的阻值决定录放音的时间。直通模式(FT)此端允许接在MIC输入端的外部语音信号经过芯片内部的AGC电路、滤波器和喇叭驱动器而直接到达喇叭输出端。平时FT端为低,要实现直通功能,需将FT端接高电平,同时REC、PLAYE和PLAYL保持低。2.4.2.ISD1820电路设计图2-7ISD1820电路原理图图2-7为ISD1820的电路原理图,当用户按下按键后,REC变成高电平,语音芯片进入录音状态,用户这时只需通过对麦克风说下录音内容变成录入,当需要播放已录制的内容,只需要给PLAYE的引脚输入一个上升沿便可播放内容。第2.5节温度检测模块设计2.5.1.DS18B20简介DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125摄氏度,可编程为9位12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就第12页能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,十分方便。DS18B20引脚如图2-8所示。图2-8DS18B20引脚图2.5.2.温度传感器工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。(1)DS18B20功能特点:1)采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。2)每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。3)低压供电,电源范围从35V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。4)测温范围为-55+125,在-1085范围内误差为0.5。5)可编辑数据为912位,转换12位温度时间为750ms(最大)。6)用户可自设定报警上下限温度。7)报警搜索命令可识别和寻址哪个器件的温度超出预定值。8)DS18B20的分辩率由用户通过EEPROM设置为912位。9)DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。(2)DS18B20有4个主要的数据部件:a.光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的第13页地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。b.DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。c.DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。d.配置寄存器。(3)DS18B20内部结构及功能:DS18B20的内部结构主要包括:寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分2.5.3.DS18B20相关介绍温度的读取:DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的为正数。(1)DS18B20的初始化:1)先将数据线置高电平“1”。2)延时(该时间要求的不是很严格,但是尽可能的短一点)。3)数据线拉到低电平“0”。4)延时750微秒(该时间的时间范围可以从480到960微秒)。5)数据线拉到高电平“1”。6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。8)将数据线再次拉高到高电平“1”后结束。(2)DS18B20的写操作:1)数据线先置低电平“0”。第14页2)延时确定的时间为15微秒。3)按从低位到高位的顺序发送字节(一次只发送一位)。4)延时时间为45微秒。5)将数据线拉到高电平。6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。7)最后将数据线拉高。(3)DS18B20的读操作:1)将数据线拉高“1”。2)延时2微秒。3)将数据线拉低“0”。4)延时15微秒。5)将数据线拉高“1”。6)延时15微秒。7)读数据线的状态得到1个状态位,并进行数据处理。8)延时30微秒。2.5.4.DS18B20使用中的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1)DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。2)在实际使用中发现,应使电源电压保持在5V左右,若电源电压过低,会使所测得的温度精度降低。3)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。第2.6节加热和冷却模块设计加热和冷却模块利用继电器控制外部电器来进行加热和冷却操作。继电器通过三极管开关电路来控制,开关电路的控制端连接三极管开关电路的通断。当单片机给低电平的第15页时候,继电器导通(即用电器工作)。加热与冷却模块如图2-9所示。Q2N39061KR8elay-SPDT+5VG.7冷4图2-9加热和冷却模块设计第16页第3章系统的软件设计第3.1节主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3-1所示。图3-1主程序流程图第3.2节读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3-2所示。调用使用子程序初始化1S到?初次上电读出温度值温度计算处理显示数据刷新Y发送温度转换开始指令始NYN第17页发送ds18b20复位命令发送跳过rom命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正移入温度暂存器结束YNYN图3-2读出温度第3.3节温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。发送DS18b20复位命令发跳过ROM命令发温度转换开始指令结束图3-3读温度流程图第3.4节计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图所示。第18页开始温度零下?温度值取补码值“”标志置“+”标志计算小数位温度BCD计算整数位温度BCD结束NY图3-4计算温度流程图第3.5节显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。十位数0?百位数0?温度数据移入显示寄存十位数显示符号百位数不显示百位数显示数据YY结束NN图3-5显示数据刷新流程图第3.6节1602液晶显示第19页初始化1602延时开始调用子程序设置第一行显示位置与内容调用子程序设置第二行显示位置与内容图3-61602液晶显示流程图第3.7节程序设计原理软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十ms甚至几百ms也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰。第20页第4章系统硬件调试第4.1节设置温度上下线在单片机的P3.1(选择)、P3.2(增加)、P3.3(减少),根据自家的实际情况调节温度的上下线。仿真如图4-1,实物如图4-2.XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2.2/A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427U1单片机234567891RP1RESPACK-826.0DQ2VC3GND1U2DS18B20R210kD714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3LCD1LM016LP1.0P1.P1.2P1.2P1.P1.023%RV21kP3.7R41kR51kD2LED-GRENP3.7R74k7R81kD4LED-REDP1.6P1.6图4-1调节上下限仿真图图4-2调节上下限仿真图第21页第4.2节低温报警当温度当温度小于设置最低值(本文为20摄氏度)时,加热继电器吸合外部加热部件开始工作,同时加热指示灯亮起并语音警报想起。仿真如图4-3,实物如图4-4。XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.0/T211./T2EX2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/INT0123./IT113P3.4/T014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1单片机234567891RP1RESPACK-819.0DQ2VC3GND1U2DS18B20R210kD714613D51241D31029D1807E6RW5S4VS1D2VE3LCD1LM016LP1.21.P1.023%RV21kP3.7Q22N3906R41kRL1OMIH-SH-105DD11N407R51kD2LE-GRENP3.7Q32N3906RL2OMIH-SH-105DD31N407R64k7R74k7R81kD4LE-REDP1.6图4-3低温警报仿真图图4-4实物图低温警报第22页第4.3节高温报警当温度大于设置最高值(本文为28摄氏度)时,加热继电器吸合外部制冷部件开始工作,同时制冷指示灯亮起并语音警报想起。仿真如图4-5,实物如图4-6。XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.0/T211./T2EX2P1.231.34P1.451.56P1.671.78P3.0/RXD103.1/T1P3.2/INT0123./IT113P3.4/T014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1单片机234567891RP1RESPACK-829.0DQ2VC3GND1U2DS18B20R210kD714613D51241D31029D1807E6RW5S4VS1D2VE3LCD1LM016LP1.01.P1.2P1.21.P1.023%RV21kP3.7Q22N3906R41kRL1OMIH-SH-105DD11N407R51kD2LE-GRENP3.7Q32N3906RL2OMIH-SH-105DD31N407R64k7R74k7R81kD4LE-REDP1.6P1.6图4-5仿真图高温报警图4-6实物图高温报警第23页结论通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能

温馨提示

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

最新文档

评论

0/150

提交评论