基于单片机的温度控制系统的设计78378.docx
基于单片机的温度限制系统的设计摘要:本设计以AT89S51单片机为核心的温度限制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该限制系统的硬件部分,包括:温度检测电路、温度限制电路、PC机与单片机串口通讯电路和一些接口电路。单片机通过对信号进行相应处理,从而实现温度限制的目的。文中还着重介绍了软件设计部分,在这里采纳模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器限制程序、超温报警程序。关键词:AT89S51单片机DS18B20温度芯片温度限制串口通讯毕业论文外文摘要TitleBaSOdonMonOlithiCIntogLatCdCircuit'sTOmPOratUroCOntroISystem'SDeSignAbstractThisdesigntakeat89S51monolithicintegratedcircuitascoretemperaturecontrolsystem,sprincipleofworkanddesignmethod.ThetemperaturesignalbythetemperaturechipDS18B20gathering,andtransmitsbydigitalsignaswayforthemonolithicintegratedcircuit.Inthearticleintroducedthiscontrolsystem,shardwarepart,including:Temperatureexaminationelectriccircuit,temperature-controlcircuit,PCmachineandmonolithicintegratedcircuitserialportcommunicationchannelandsomeinterfacecircuit.Themonolithicintegratedcircuitthroughcarriesoncorrespondingprocessingtothesignal,thusrealizesthetemperaturecontrolgoal.Inthearticlealsoemphaticallyintroducedthesoftwaredesignpart,usesthemodularstructureinhere,themainmoduleincludes:Nixietubedisplaysequence,keyboardscanningandpressedkeydisposalprocedure,temperaturesignalprocessingprocedure,black-whitecontrolprocedure,excesstemperaturewarningprocedure.Keywords:AT89S51MonolithicIntegratedCircuit;DS18B20TemperatureChip;TemperatureControl;SerialPortCommunication1 引言12 设计要求13 工作原理14 方案设计与论证24.1 主限制部分34.2 测量部分35各单元的设计85.1键盘单元85.2 温度限制及超温柔超温警报单元105.3 温度限制器件电路115.4 温度测试单元H5.5 七段数码管显示单元115.6 接口通讯单元136 电源输入单元147 程序设计158 .1概述159 .2程序结构分析1610 3主程序178.测设分析17结论18参考文献19致谢20附录A运用说明21附录B程序清单211引言温度限制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的限制电路依据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度限制对象的运行性能始终以来都是限制人员和现场技术人员努力解决的问题。这类限制对象惯性大,滞后现象严峻,存在很多不确定的因素,难以建立精确的数学模型,从而导致限制系统性能不佳,甚至出现限制不稳定、失控现象。传统的继电器调温电路简洁好用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。限制领域还大量采纳传统的PID限制方式,但PID限制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采纳数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简洁,而且削减了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大削减了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了好用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。2设计要求设计基于单片计算机的温度限制器,用于限制温度。详细要求如下:1 .温度连续可调,范围为0-402 .超调量。国20%3 .温度误差W±0.5°C4 .人-机对话便利3工作原理温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S51获得采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再依据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。当由于环境温度变更太猛烈或由于加热或降温设备出现故隙,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。系统中将通过串口通讯连接PC机存储温度变更时的历史数据,以便视察整个温度的限制过程及监控温度的变更全过程。3-1工作原理图4方案设计4.1 温度测量部分方案DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰实力、强易配处理器等优点,特殊适合用于构成多点温度测控系统,可干脆将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚T0-92小体积封装形式,温度测量范围-55+125°C,可编程为912位A/D转换精度,测温辨别率可达0.0625°C,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采纳寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节约大量的引线和逻辑电路。从而可以看出DS18B20可以特别便利的被用于远距离多点温度检测系统。综上,在本系统中我采纳温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片干脆向单片机传输数字信号,便于单片机处理及限制。图4-1温度芯片DS18B204.2 主限制部分方案AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemProgranimable)的可反复擦写1000次的Flash只读程序存储器,器件采纳ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中心处理器和ISPFlaSh存储单元,功能强大的微型计算机的AT89S51可为很多嵌入式限制应用系统供应高性价比的解决方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为OHZ并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可接着工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLeC等三种封装形式,以适应不同产品的需求。由于系统限制方案简洁,数据量也不大,考虑到电路的简洁和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。主控模块采纳单片机最小系统是由于AT89S51芯片内含有4kB的E2PR0M,无需外扩存储器,电路简洁牢靠,其时钟频率为024MHz,并且价格低廉,批量价在10元以内。其主要功能特性:兼容MCS-51指令系统ROM32个双向I/O 口2个16位可编程定时/计数器 全双工UART串行中断口线2个外部中断源中断唤醒省电模式看门狗(WDT)电路敏捷的ISP字节和分页编程4k可反复擦写OlOOO次)ISP Flash4. 5-5. 5V工作电压时钟频率0-33MHz128x8 bit 内部 RAM低功耗空闲和省电模式3级加密位软件设置空闲和省电功能双数据寄存器指针可以看出AT89S51供应以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器刚好钟。同时,AT89S51可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统接着工作。掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它全部部件工作干脆到一个硬件复位。AT89S51引角功能说明Vcc:电源电压GND:地PO口:PO口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。Pl口:Pl是一个带内部上拉电阻的8位双向I/O11,Pl的输出缓冲级可驱动(汲取或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口运用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,Pl接收低8位地址。表4-1为Pl口其次功能。表4-1PI口其次功能端口引脚其次功能Pl.5MOSI(用于ISP编程)Pl.6MISO(用于ISP编程)Pl.7SCK(用于ISP编程)P211:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口运用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问8位地址的外部数据存储器(如执行:MOVXRi指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不变更。Flash编程或校验时,P2也接收高位地址和其它限制信号。)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(汲取或输出电流)4个HL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流IoP3口除了作为一般的I/O口线外,更重要的用途是它的其次功能,P3口的其次功能如下表4-2。表4-2P3口的其次功能端口功能其次功能端口引脚其次功能RXD(P3.0)串行输入口TO(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口Tl(P3.5)定时/计数器1外部输入INTO(P3.2)外中断0WR(P3.6)外部数据存储器写选通TNTl(P3.3)外中断1RD(P3.7)外部数据存储器读选通RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。DlSRT()位缺省为RESET输出高电平打开状态。ALE/PR0G:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要留意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。该位禁位后,只有一条MoVX和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必需保持低电平(接地)。需留意的是:假如加密位LBl被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp0XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。AT89S51单片机内部构造及功能:特殊功能寄存器:特殊功能寄存器的片内空间分存如下图3-2所示。这些地址并没有全部占用,没有占用的地址不行运用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。中断寄存器:各中断允许限制位于IE寄存器,5个中断源的中断优先级限制位于IP寄存器。图4-2为AUXR协助寄存器。AUXR地址=8EH复位状态=XXX×XOBNotBitAddressable一WDIDLEDlSRTO一DISALE7654321O-保苗为将来扩展用途位DISALEALE禁止/使能DISALE操作模式OALE输出1/6振荡时钟频率脉冲1ALE仅在执行MOVX或MOVC指令期间输出脉冲DISRTO禁止/使能复位输出DISRTOO复位弓I脚在WDT温出时变高1复位弓I脚仅为输入WDlDLE禁止/使能工DLE模式的WDTWDIDLEO工DLE模式WDT继续计数1IDLE模式WDT停止计数图4-2AUXR协助寄存器双时钟指针寄存器:为便利地访问内部和外部数据存储器,供应了两个16位数据指针寄存储器:PDO位于SFR区块中的地址82H、83H和DPI位于地址84H85H,当SFR中的位DPS=O时选择DPO,而DPS=I时选择DPI。在运用前初始化DPS。AUXR1地址=A2H不可寻址位复位状态=XXXXXXXOB-DPS7654321O保留为今后扩展用途DPS数据指针选择位DPSO选择DPTR寄存器DPOL.DPOH1选择DPTR寄存器DP1L,DP1H电源空闲标记:电源空闲标记(PoF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。存储器结构:MCS-51单片机内核采纳程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。程序存储器:假如EA引脚接地(GND),全部程序均执行外部存储器。在AT89S51,假如接至VCC(电源+),程序首先执行从地址OOOOH-OFFFH(4KB)内部程序存储器,再执行地址为IOoOH-FFFFH(60KB)的外部程序存储器。数据存储器:在AT89S51的具有128字节的内部RAM,这128字节可利用干脆或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个Mbit计数器和看狗复位SFR(WDTRST)构成。外部复位时,WDT默认为关闭状态,要打开WDT,必按依次将OlH和OEIH写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。引脚图详见图4-4Pl.0CPl.1CPl.2CPl.3CPl.4CM0SI/P1.5CMIS0P1.6CSCK/Pl.7CRSTCRXDP3.0CTXD/P3.1CIHT0/P3.2CINTiP3.3CT0P3.4CT1/P3.5C画P36CRD/P3.7CXTAL2CXTALlCPDIPGNDC1=40239338437536S35734833932103111301229132814271526162517241823192220212 Vcc3 PO.0/ADO3PO.1/AD13PO.2/AD2:PO.3/AD33P0.4/AD43PO.5/AD53PO.GZAK3PO.7/AD72EA/VPP2ALE/PROG2 PESN3 P2.7/A153P2.6/A143P2.5/A133P2.4/A123P2.3/AU2 P2.2/A103 P2.1/A94 P2.0/A85各单元的设计5.1键盘单元单片机应用系统中除了复位按键有特地的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置限制功能或输入数据。键开关状态的牢靠输入:为了去抖动我采纳软件方法,它是在检测到有键按下时,执行一个IOnIS的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,如需全文可联系QQ2537024709