ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:292.35KB ,
资源ID:23601696      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23601696.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的温度控制系统毕业设计论文.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的温度控制系统毕业设计论文.docx

1、基于单片机的温度控制系统毕业设计论文基于单片机的温度控制系统目录第一章 绪论 11.1 技术指标 11.2 控制方案 1第二章 系统结构及主要元器件 22.1电烤箱温度控制系统结构 22.2制作电烤箱主要的元器件 22.3 部分元器件的简单介绍 2第三章 硬件设计 53.1 AT89C51单片机与ADC0809接口 53.2 放大器电路设计 53.3 键盘及显示电路的设计 6第四章 软件部分设计 94.1 工作流程 94.2 功能模块 94.3 资源分配 94.4 功能软件设计 10第五章 系统仿真与调试 155.1 软件简介 155.2 仿真与调试 16结 论 17参考文献 18第一章 绪论

2、随着社会的不断发展,人们改造自然的能力也在不断的提高。机器的诞生,为我们减少了部分或者全部的脑力劳动和体力劳动。电子技术的诞生更是带来了翻天覆地的变化。机电控制系统成为机械技术与微电子技术集成的共性关键技术。人们通过它可以使机械完全按照自己的意愿来执行。本文介绍了以AT89C51单片机为核心的电烤箱温度控制系统。电烤箱的温度控制系统有两个部分组成:硬件部分和软件部分。其中硬件部分包括:单片机电路、传感器电路、放大器电路、转换器电路、以及键盘和显示电路。软件部分包括:主程序、运算控制程序、以及各功能实现模块的程序。文章最后对本设计进行了总结。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过

3、程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。根据温度变化快慢,并且控制精度不易掌握等特点,本文电烤箱的温度控制为模型,设计了以AT89C51单片机为检测控制中心的温度控制系统。温度控制采用PID数字控制算法,显示采用3位LED静态显示。该设计结构简单,控制算法新颖,控制精度高,有较强的通用性。 1.1 技术指标电烤箱的具体指标如下:1、电烤箱由1kW电炉加热,最高温度为120; 2、电烤箱温度可设置,电烤过程恒温控制,温度控制误差2;3、实时显示温度和设置温度,显示精度为1;4、温度超出设置温度5时发超限报警,对升温和降温过程不作要求。1.2 控

4、制方案产品的工艺不同,控制温度的精度也不同,因而所采用的控制算法也不同。就温度控制系统的动态特性来讲,基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用PID算法来实现温度控制。 本系统是一个典型的闭环控制系统。从技术指标可以看出,系统对控制精度的要求不高,对升降温过程的线性也没有要求,因此,系统采用最简单的通断控制方式,即当烘干箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控制。 第二章 系统结构及主要元器件 2.1电烤箱温度控制系统结构温度检测部分人机对话部分热电偶变送器A/D转换器器温度显示键盘温度控制部分主机可控硅调功器光耦

5、电炉声音报警驱动器 图2-1 电烤箱温度控制系统结构2.2制作电烤箱主要的元器件1、AT89C51单片机2、传感器3、A/D转换器4、放大器5、键盘及显示2.3 部分元器件的简单介绍2.3.1 AT89C51单片机1.概述AT89C51单片机是美国Intel公司的8位高档单片机系列。也是目前应用最为广泛的一种单片机系列。其内部结构简化框图如下所示。AT89C51系列单片机主要有CPU、存储器(包括RAM和ROM)、IO接口电路及时钟电路等部分组成。2. AT89C51单片机引脚功能IO引脚共32根。 PO口:P0.0-P0.7统称为PO口是8位双向I/O口线。P0口即可作为地址/数据总线使用,

6、又可作为通用的I/O口线。在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O时,P0口分时复用为低8位地址总线和双向数据总线。 P1口:P1.0-P1.7统称为P1口。是8位准双向I/O口线。P1口作为通用的I/O口使用。 P2口:P2.0-P2.7统称为P2口。是8位准双向I/O口线。P2口即可作为通用的I/O口使用。也可作为片外存储器的高8位地址线。与P0口组成16位片外存储器单元地址。 P3口:P3.0-P3.7统称为P3口。是8位准双向I/O口线。P3口除作为准双向口使用外。每个引脚还具有第二功能。P3口的每一个引脚均可独立定义为第一功能的输入输

7、出或第二功能,P3口的第二功能如下表所示:P3口的第二功能P3.0 RXD 串行口输入P3.1 TXD 串行口输出P3.2 /IM0 外部中断0输入P3.3 /IM1 外部中断1输入P3.4 T0 定时/计数器0计数输入P3.5 T1 定时/计数器1输入P3.6 /WR 片外RAM写选通信号(输出)P3.7 /RD 片外RAM读选通信号(输出)2.3.2 传感器传感器一般由敏感元件,转换元件和转换电路三部分组成。其组成框图如2-7所示。 图2-2 传感器组成框图敏感元件,它是直接感受被测量并输出与被测量成确定关系的某一种量的元件。转换元件,敏感元件的输出就是它的输入。它把输入转换成电路参量。转

8、换电路,上述电路参数接入转换电路,便可转换成电量输出。2.3.3 A/D转换器ADC08091.ADC0809的内部逻辑结构(如图2-9)如图,多路开关可达通讯员89模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。地址锁存与译码电路完成对A、B、C三个地址供进行锁存和译码,其译码输出用于通道选择。 8位A/D转换器是逐次逼近式,由控制时序电路,逐次逼近寄存器,树状开关以及其256R电阻下型网络等组成 输出锁存器用于存放和输出转换得到的数字量2.ADC0809的引脚及各引脚功能 图2-3 ADC0809内部逻辑结构图各引脚功能如下:、INT2NO:8咱模拟量输入引脚,ADC080

9、9对输入模拟量的要求主要有二信号单极性,电压范围05V;若信号过小还需要进行放大。另外,在A/D转换过种中,模拟量输入的值不应变化太快,因此,对变化速度快的模拟量在输入前应增加采样保持电路。、A、B、C:地址线,A为低位地址,C为高位地址用于对模拟通道进行选择、ALE:地址锁存允许信号,在对应ALE 跳转,A、B、C地址状态送入地址锁存器中。 、START:转换启动信号。START上跳转时,所有内部寄存器清0;START下跳转时,开始进行A/D转换;在A/D转换;在A/D转换期间,START应保持低电平、DTD0:数据输出线,其为三态缓冲输出形式,可以和单片机的数据线直接相连、DE:输出允许信

10、号,ADC0809的内部设有时钟电路,所需时钟,信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHZ的时钟信号。、CLK:时钟信号,ADC0809的内部设有时钟电路,所需时钟信号由外界提供,因此有时钟信号,通常使用频率为500KHZ的时钟信号、EOC:转换给结束状态信号,EOC=0,正在进行转换;EOC=1,转换结束。该状态信号即可作为查询的状态标志,又可以作为中断请求信号时使用。、Vcc:+5电源、Vref:参考电压正端参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准,其曲型值为+5V(Vref(+)=+5V,Vref(-)=0)第三章 硬件设计系统的硬件部分包括单片机电路

11、、A/D转换器电路、传感器电路、放大器电路、键盘及显示电路五部分。其各部分连接关系已在第二章介绍过了如图2-1所示。3.1 AT89C51单片机与ADC0809接口ADC0809与AT89051单片机边接如图2-11所示,电路连接主要涉及两个问题,一是不是路模拟信号通道选择,二是A/D转换完成后数据的传送 1.8路模拟通道选择 A、B、C分别接地址锁存器提供的低三位地址。只要把三位地址写入0809中的地址锁存器就实现了模拟通道选择。对系统来说,地址锁存器是一个输出口,为了把三位地址写入,还要提供口地址。2.数据的传输方式A. 定时传输方式B. 查询方式C. 中断方式 图3-1 ADC0809与

12、单片机的连接3.2 放大器电路设计传感器是将待测的物理量或化学量转换成电信号输出。但其输出的信号通常都很小,需要进行放大。传感器的信号放大,根据具体情况可采用分立元件放大器(晶体管放大器)和集成元件放大器(运算放大器)两种。3.3 键盘及显示电路的设计3.3.1键盘接口电路1. 键盘的工作原理A.按键的确认 在单片机应用系统中,按键都是以开关状态来设置控制功能或能入数据的,键的半合与否,反映在电压上就是呈高电平或低电平,如果高电平表示断开的话,那么低电平就是表示闭合,所以通过电平的高代状态的检测,使可以克认按键接下与否。B.按键的抖动处理 当按键被迫按下或释放时,通常伴随有一定的时间的触点机械

13、抖动,然后其独占才稳定下来,抖动时间一般为510ms,在使用过程,必须去抖措施。去抖有硬件和软件两种方法,硬件方法通常采用通过RS触发器连接按键除抖,软件方法采用昝方法除抖,其过程是在检测到有按键按下时,进行一个10ms左右的昝程序后,若该键仍保持闭合状态,则确认该键处于讨债状态,同理,在检测到该键释放后,也应珠步骤进行确认,从而可消除抖动的影响。2. 独立工按键独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会其他I/O口线的状态3. 矩阵式按键单片机系统中,若使用按键分明,通常采用矩阵式(也称行列式)键盘,如图2-18所示:一个4*4

14、的行列结构可以构成一个含有16个按键的键盘。矩阵式键盘中,行列式分别连接到按键开关的两端,行式通过二伴电阻接到+5V上,当无键按下时,行式于高电平状态,当有键按下时,行列式将贯通,此时图3-2 矩阵式键盘结构行线电平,将由与此行线相连的列线电平决定,这是识别按键是否按下的关键,然而,矩阵键盘中的行线,列线和多个键相边,各按键按下与否均影响该键反在行线和死线的电平,各按键间将相互影响,因此必须将行线,列线信号配合起来作适应处理,才能确定闭合键的位置。其中,矩阵式键盘有以下几种工作方式:a.编程扫描方式 编程扫描是CPU完成其他工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求,在执行键功能程

15、序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。 键盘扫描程序一般应饫以下内容:1差别有无键按下降键盘扫描取得闭合键的行、列值3用计算法或查表法得到键值4判断闭合键是否释放,如释放则继续等待5将闭合键键号保存,同时转去执行该执行该闭合键的功能。b.定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间的定时,当定时时间到就产生定时溢出中断,CPU响应中断后对键盘进行扫描,并左有键按下时,识别出该键,再执行该键的功能程序定时扫描方式的硬件电路与编程扫描方式相同c.中断扫描方式 为提高CPU工作效率,可采用中断扫描工作方式其工作过和如下:当无键接

16、下时,CPU处理自己的工作,当有键接下时产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。图2-19为矩阵式键盘与单片机接口图。图3-3 矩阵式键盘与单片机接口3.3.2 LED显示器接口电路 常用的LED显示器有LED状态显示器(俗称发光二极管)LED七段显示器(俗称数码管和LED十六段显示器,发光二极管可显示两种状态,用于系统显示;数码管用于数字显示;LED十六段显示器,用于字符显示)1数码管结构 数码管由8个发光二极管(以下简称字段)构成,通过不同组合可用来显示数字0-9.字符A-F及小数点“.”。数码管又分为共阴极和共阳极两种结构。2. 数码管工作原理 共阳极数码管的8个发光二级

17、管的阳极(二极管正端)连接在一起。通常会共阳极接高电平1.一般接电源1.当某个阴极接低电平时,则该数码管导通并点亮。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。公共阴极接低电平(一般接地)当某个阳极接高电平,则该数码管并点亮。3. 静态显示接口 静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)获接正电源(共阳极)每个数码管的8个字段分别与一个8位I/O地址相连,I/O口只要有断码输出,相应字符即显示出来并保持不变直动I/O口输出新的端码采用静态显示方式。较小的电流即可获得较大的亮度。且占用CPU时间

18、少编程简单,显示,便于检测和控制,但其占用的口线多,硬件电路复杂、成本高,只适合于显示位数较少的场合。4. 动态显示接口 动态显示是一位一位地轮流点亮各位数码管。这种逐位点亮显示的方式称为位扫描。通常各位数码管的段选线相应并联在一起由8位的I/O口控制。各位的位选线(公共阴极或阳极)有另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管。并送出相应的端码,在另一位数码管并送出相应的端码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以

19、给人以同时显示的感觉。 图3-4 数码管与单片机接口第四章 软件部分设计4.1 工作流程 烤箱在上电复位后先处于停止加热状态,这时可以用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低2)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预置温度。4.2 功能模块根据上面对工作流程的分析,系统软件可以分为以下几个功能模块: (1) 键盘管理:监测键盘输入,接

20、收温度预置,启动系统工作。 (2) 显示:显示设置温度及当前温度。 (3) 温度检测及温度值变换:完成A/D转换及数字滤波。 (4) 温度控制:根据检测到的温度控制电炉工作。 (5) 报警:当预置温度或当前炉温越限时报警。4.3 资源分配为了便于阅读程序,首先给出单片机资源分配情况。如表3-1所示。程序存储器:EPROM2764的地址范围为0000H1FFFHI/O口:P1.0P1.3键盘输入;P1.6、P1.7报警控制和电炉控制。A/D转换器ADC0809:通道0 7的地址为7FF8H7FFFH,使用通道0表4-1温度控制软件数据存储器分配表地址功能名称初值50H51H当前检测温度,高位在前

21、TEMP1TEMP000H52H53H预置温度,高位在前ST1ST000H54H56HBCD码显示缓冲区。百位、十位、个位T100,T10,T00H57H58H二进制显示缓冲区,高位在前BT1,BT000H59H7FH堆栈区PSW.5报警允许标志F0=0时禁止报警,F0=1时允许报警F004.4 功能软件设计 4.4.1 键盘管理模块 上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超过500时会报警并将温度设定在500。键盘管理子程序流程图如图所示。 键盘管理子程序KIN:KIN: ACAL CHK ;预置温度合法性检测

22、MOV BT1,ST1 MOV BT0,ST0 ;预置温度送显示缓冲区ACALL DISP ;二次调用显示子程序延时去抖 ACALL KEY ;再检测有无键按下 LCALL DISP ;显示预置温度KIN0: ACALL KEY ;读键值 JZ KIN0 ;无键闭合和重新检测 JZ KIN0 ;无键按下重新检测 JB ACC.1,S10 MOV A,#100 ;百位键按下 AJMP SUM 图4-1 键盘管理子程序流程图 S10: JB ACC.2,S1 MOV A,#10 ;十位键按下 AJMP SUMS1: JB ACC.3,S0 MOV A,#01 ;个位键按下SUM: ADD A,ST

23、0 ;预置温度按键+1 MOV ST0,A MOV A,#00H ADDC A,ST1 MOV ST1,AKIN1: CALL KEY ;判断闭合键释放 JNZ KIN1 ;未释放继续判断 AJMP KIN ;闭合键释放继续扫描键盘S0: JNB ACC.0,KIN ;无键按下重新扫描键盘 RET ;启动键按下返回 KEY: MOV A,P1 ;读键值子程序 CPL A ANL A,#0FH RET 4.4.2 显示模块显示子程序的功能是将显示缓冲区57H和58H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(54H、55H和56H单元),然后通过串口送出显示。显示子程序

24、DISP:DISP: ACALL HTB ;将显示数据转换为BCD码 MOV SCON,#00H ;置串行口为方式0 MOV R2,#03H ; 显示位数送R2 MOV R0,#T100 ;显示缓冲区首地址送 R0LD: MOV DPTR,#TAB ;指向字型码表首地址 MOV A,R0 ;取显示数据 MOVC A,A+DPTR ;查表 MOV SBUF,A ;字型码送串行口WAIT: JBC TI,NEXT; 发送结束转下一个数据并清中断标志 SJMP WAIT ;发送未完等待NEXT: INC R0 ;修改显示缓冲区指针 DJNZ R2,LD ;判3位显示完否,未完继续 RETTAB: ;

25、字型码表(略)BCD码转换子程序HTB:HTB: MOV A,BT0 ;取二进制显示数据低8位 MOV B,#100 ;除100,确定百位数 DIV AB MOV T100,A ;百位数送54H单元 MOV A,#10 ;除10,确定十位XCH A, B DIV A,B MOV T10,A ;十位数送55H单元 MOV T, B ;个位数送56H单元 MOV A,BT1 ;取二进制显示数据高8位 JNZ LH1 ;高位不为0转LH1继续高8位转换 RET ;高位为0结束,返回LH1: MOV A,#06H ADD A,T DA A ;个位加6(十进制加) MOV T,A ;结果送回个位 MOV

26、 A,#05H ADDC A,T10 DAA ;十位加5(十进制加)MOV T10,A ;结果送回十位 MOV A, #02H ADDC A, T100 DA A ;百位加2(十进制加) MOV T100,A ;结果送回百位 RET 4.4.3 温度检测模块 A/D转换采用查询方式。为提高数据采样的可靠性,对采样温度进行数字滤波。数字滤波的算法很多,这里采用4次采样取平均值的方法。如前所述,本系统A/D转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。检测结果高位存入50H,低位存入51H。温度检测子程序流程图如图所示。 温度检测子程序TIN:TIN: MOV TE

27、MP1,#00H ;清检测温度缓冲区 MOV TEMP0,#00H MOV R2,#04H ;取样次数送R2 MOV DPTR,#7FF8H ;指向A/D转换器0通道LTIN1: MOVX DPTR,A ;启动转换HERE: JNB IE1,HERE ;等待转换结束 MOVX A,DPTR ;读转换结果ADD A,TEMP0 ;累加(双字节加法) MOV TEMP0,A MOV A,#00H ADDC A,TEMP1 MOV TEMP1,A DJNZ R2,LTIN1 ;4次采样完否,未完继续 CLR C ;累加结果除2(双字节除法) MOV A,TEMP1 RRC AMOV TEMP1,A

28、MOV A,TEMP0 RRC A MOV TEMP0,A RET4.4.4 温度控制模块 将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低2时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。模块流程见下图。温度控制子程序CONT: 图4-2 温度控制流程图4.4.5主程序和中断服务子程序主程序采用中断嵌套方式设计,各功能模块可

29、直接调用。主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。中断由定时器0产生,根据需要每隔15 s中断一次,即每15 s采样控制一次。但系统采用6 MHz晶振,最大定时为130 ms,为实现15 s定时,这里另行设了一个软件计数器。主程序和中断服务子程序如下所示。主程序MAIN :(数据缓冲区的定义和初始化部分略) ORG 0000H AJMP MAIN ORG 000BH AJMP PT0 ORG 0030H MAIN: MOV SP,#59H ;设定堆栈指针 MOV TMOD,#01H ;定时器0初始化MOV TL0,#0B0H ;定时器定时时间100 ms MOV TH0,#3CH MOV R7,#150 ;置15 s软计数器初值 ACALL KIN ;调键盘管理子程序 SETB ET0 ;允许定时器0中断 SETB EA ;开中断 SETB TR0 ;启动定时器0 SJMP

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1