版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文设计提目:单片机室内温度自动控制系统的设计SCMindoortemperatureautomaticcontrolsystemdesign学院(部):班级:姓名:指导老师:2012年6月1日基于单片机室内温度自动控制系统的设计1.摘要
在人们的日常生活及生产过程中,经常要用到温度的检测和控制,在新世纪科学技术得到了空前的发展,科学技术有力推动了社会生产力的发展和社会信息化程度提高,同时也是现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。通过毕业设计学习和研究新技术具有实际意义。不仅可以学好专业知识,还可以增强动手能力。温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。关键词:AT89S51单片机DS18B20温度芯片温度控制串口通讯2.设计要求
设计基于单片机的室内温度自动控制系统,用于控制温度,具体要求如下:1.温度连续可调,范围为0℃-40℃2.超调量σ%≤20%3.温度误差≤±0.5℃3.工作原理温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S51获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。系统中将通过串口通讯连接PC机存储温度变化时的历史据,以便观察以后整个温度控制过程及监控温度变化的全过程。
PC机MAX232电平转换芯片片AT89S518BITCPU数据显示超温报警键盘电路DS18B20温度芯片数据传输输入电源继电器1继电器2加热器压缩制冷器工作原理图),
32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。主控模块采用单片机最小系统是由于AT89S51芯片内含有4KB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格低廉,批量价在10元以内。其主要功能特性:兼容MCS-51指令系统4k可反复擦写(>1000次)ISPFlashROM32个双向I/O口4.5-5.5V工作电2个16位可编程定时/计数器时钟频率0-33MHz全双工UART串行中断口线128x8bit内部RAM2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能灵活的ISP字节和分页编程双数据寄存器指针可以看出AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。AT89S51引角功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。下表为P1口第二功能。端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问8位地址的外部数据存储器(如执行:MOVX@Ri指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash编程或校验时,P2也接收高位地址和其它控制信号。)RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。AT89S51单片机内部构造及功能:特殊功能寄存器:特殊功能寄存器的片内空间分存如下图3-2所示。这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。图4-2为AUXR辅助寄存器。电源空闲标志:电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。程序存储器:如果EA引脚接地(GND),全部程序均执行外部存储器。在AT89S51,假如接至Vcc(电源+),程序首先执行从地址0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。数据存储器:在AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。引脚图详见下图:AT89S51单片机引脚图
5各单元的设计
1.键盘单元单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。键开关状态的可靠输入:为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响在这种行列式矩阵键盘非编码键盘的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图示的4*4键盘,说明线反转法工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。键盘共有16个按键,用于方便设定温度。09…数字按键,输入数字0----9
确认设置的确认,修改设置温度时进行确认
清除
设置的清除,修改设置温度时进行删除
开启开启电源
关闭关闭电源
F1
显示及设置转换到温度点1,按此按键后,显示预设置温度的数码管闪烁F2显示及设置转换到温度点2,按此按键后,显示预设置温度的数码管闪烁P2.00123P2.14567P2.289F1F2P2.3清除开启关闭确定P2.4P2.5P2.6P2.72.温度控制及超温和超温警报单元当采集的温度经处理后超过规定温度上限时,单片机通过P1.4输出控制信号驱动三极管D1,使继电器K1开启降温设备(压缩制冷设备):当采集的温度经处理后低于设定温度下限时,单片机通过P1.5输出控制信号驱动三极管D2,使继电器K2开启升温设备(加热器1)当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。具体电路连接如下图所示:单片机控制信号
其原理是:当继电器突然断电时,继电器产生很大的反向电流。二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。5.七段数码管显示单元
本部分电路主要使用七段数码管和移位寄存器芯片74LS164。单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。具体见实际连线图如下图。当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态,逻辑封装图如上图。引出端符号:CLOCK时钟输入端;CLEAR同步清除输入端(低电平有效);A,B串行数据输入端;QA-QH输出端。真值表如下表:实际连线图
6.接口通讯单元
max232资料简介:该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。主要特点:1、单5V电源工作2、LinBiCMOSTM工艺技术3、两个驱动器及两个接收器4、±30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方法3015)标准的2000V51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。在本设计中采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接,串口通讯具体如下图:通讯接口连线图
6.电源输入部分
控制系统主控制部分电源需要用5V直流电源供电,其电路如下图所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。程序结构图
7.2主程序程序开始的时候先设置初始化,然后就控制数码管显示当前温度。接着就判断F1、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温度控制点2的程序。程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。有按键按下的时候进入按键处理程序。按下“确定”按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。
7.3程序代码(详见附录程序清单)8.测设分析1、测试环境环境温度28摄氏度,室内面积20平方米测试仪器:数字万用表,温度计0----100摄氏度2、测试方法使系统运行,采用温度计同时测量室内度变化情况,得出系统测量的温度。3、测试结果设定温度由0摄氏度到40摄氏度标定温差<=1摄氏度调节时间15s(具体视现场情况)静态误差<=0.5摄氏度最大超调量1摄氏度4、通过测试分析,对于实际室内的温度控制,可以再提出以下2点方法:Ⅰ增加传感器个数,对各个温度传感器采集的数据进行求算术平均,可得到较为准确的温度值。Ⅱ对实际室内的温度控制,可采用功率较大的电炉,并且通过风扇对箱内温度进行充分搅和,降温设备可采用空气压缩机等制冷设备。5、通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到0.06℃,但测试得到的数据最小间隔为0.03℃。通过分析,当对浮点数求平均处理时,遇到同一时刻两个传感头采集的温度相差不大,使0.06℃时求出平均温度变为0.03℃为了解该数据是否真实,可采用一个高精度的数字温度计测试,发现读出的值与其基本一致,由此推断如果在同一
时间增加采集温度的个数,则可以进一步提高温度的精度。谢辞
本论文是在我的指导老师密切关心和悉心指导下完成的。老师在课题开题期间和论文写作的过程中给予了我许多指导,导师总是以认真负责、一丝不苟的工作态度阅读并修改文章中不足的地方,他优良的作风和严谨治学的态度深深影响着我,至此,向恩师致以最真挚的感谢和最崇高的敬意!同时我要感谢我的同学,特别是我的室友们,正是他们在这几年里陪我一起成长,一起学习,才让我有了今天的成绩。他们在平时的学习和生活中他们给予了我无私的关怀和帮助,在此表示我最诚挚的谢意。LCALLDELAY60US
JNBDS18DQ,SETDSDQFH;60-240US内是否有返回信号,为0跳
DJNZR6,SETDSDQ
MOVR7,#250
DJNZR7,$
CLRDS18FIG
RET
SETDSDQFH:
SETBDS18FIG
MOVR7,#250
DJNZR7,$
MOVR7,#100
DJNZR7,$
RET;数据处理程序:TEMP0:INCA
AJMPTEMP1
TEMPCOV:MOVA,DS18SL;数据处理子程序TEMPCOV
MOVB,#16
DIVAB
JBB.3,TEMP0
TEMP1:MOV34H,A;将DS18SL的高四位右移四位,存入34H中(温度值)
MOVA,B;将DS18SL的低四位X10/16得小数后一位数.
MOVB,#10
MULAB
MOVB,#16
DIVAB
MOV30H,A;将小数后一位数.存入30H中
MOVA,DS18SH;DS18SH中存放高8位数,权重16
MOVB,#16
MULAB
ADDA,34H;34H中存入温度值的整数部分
MOVB,#10DIVAB
MOV31H,B;个位存入31H中
MOVB,#10;
DIVAB;
MOV32H,B;十位存入32H中
MOVB,#10;
DIVAB;
MOV35H,B;百位存入33H中
MOVA,DS18SH
MOV33H,#10H;
JBACC.7,EXIT7
MOV33H,#00H
EXIT7:RETGET_TEMPER:;读出转换后的温度值,并显示
SETBDS18DQ
LCALLINIT_1820;先复位DS18B20
JBDS18FIG,TSS2
RET;判断DS1820是否存在?若DS18B20不存在则返
TSS2:
MOVDS18ADS,#0
DS18JX:
LCALLDS18CODP
MOVA,DS18ADS
ADDA,#9
MOVDS18ADS,A
CJNEA,#63,DS18JX
RET
DS18CODP:
LCALLMRCOVT;转换指定的DS18B20的温度
LCALLMRRDTEDP;显示温度
RET
TEMP:
LCALLINIT_1820
JBDS18FIG,NEXT4
RET
NEXT4:
MOVDS18ADS,#9
MOVA,#0CCH;SKIPROM
LCALLWRITE_1820
MOVA,#44H;温度转换命令
LCALLWRITE_1820
LCALLDELAY1S
LCALLMRRDTEDP
RET;写DS18B20的子程序(有具体的时序要求)
WRITE_1820:
;写DS18B20
MOVR5,#8
DS18JXWE:
SETBDS18DQ
;初始化
CLRDS18DQ
CLRDS18DQ
MOVR7,#5
DJNZR7,$;拉低15US内,写入数据
CLRC
RRCA
MOVDS18DQ,C
LCALLDELAY60US;持续60US
SETBDS18DQ
;写完一个位
DJNZR5,DS18JXWE
RET
REA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中数学第一章三角函数任意角和弧度制预习导航新人教A版必修教案(2025-2026学年)
- 第小学五年级品德社会下册第三单元独具魅力的中华文化课我们的国粹修改版教案(2025-2026学年)
- 汽车机械基础(教案)(2025-2026学年)
- 高一生物教案DNA的复制新课标(2025-2026学年)
- 幼儿园小班语言活动教案三字经第五节含反思(2025-2026学年)
- 硫其化合物人教版高一化学必修教案(2025-2026学年)
- 大班美术活动层叠美教案反思(2025-2026学年)
- 封皮首页教案(2025-2026学年)
- 《画家和牧童》的教案(2025-2026学年)
- 2025年大学《梵语巴利语》专业题库- 印度梵文语言历史字形
- 智慧树知道网课《农业经济学(华南农业大学)》课后章节测试答案
- 2025年辅警面试考试试题库目(答案+解析)
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
- 《创新思维》考试复习题库(含答案)
- 口腔种植学 课件 口腔种植学导论-课件
- 2021年投资学考研真题(含复试)与典型题详解
- 非谓语动词在写作上的应用 课件 【知识导航+拓展迁移】高三英语一轮复习
- GB/T 1864-2012颜料和体质颜料通用试验方法颜料颜色的比较
- GA/T 167-2019法医学中毒尸体检验规范
- 国家储备林基地建设项目实施方案
- 胸腔积液健康教育
评论
0/150
提交评论