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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字加热设备温度控制器本科学位论文.docx

1、数字加热设备温度控制器本科学位论文电子信息工程专业毕业论文数字加热设备温度控制器 设 计 人 :* * * 指导老师 :* * * 项目负责人:* * * *8 *年*月1、实物图 P22、内容提要 P31.1、本设计意义1.2、实现功能3、设计方案 P33.1、单片机概述3.2、DS18B29概述3.3、光电耦合器MOC3041概述3.4、本设计总体概要 4、硬件电路设计 P64.1、18B20模块4.2、MOC3041和双向可控硅构成的输出通道4.3、数码管动态扫描显示模块4.4、元件清单4.5、总硬件电路图 P85、软件系统设计 P95.1、主程序流程图及说明5.2、键盘处理与温度设定5

2、.3、定时动态显示中断程序流程图及说明5.4、DS18B20读写程序流程图及说明5.5、完整程序 P176、结语 P238.1、心得体会及致谢8.2、参考文献一实物图右图为工作状态时的电路实物图。此时状态,25.5摄氏度,加热。二.内容提要: 1.本设计意义: 日新月异的现代社会,怎么生活得更便利,怎么工作的更高效是整个社会进步的动力。而智能化早已一步步走入人们的生活中工作中。 从小的方面来说,设想一下,当烧热水时,如果有了温度控制监测器的话,我们将不用担心水沸溢出,而有了温度控制器的锅炉将可以随时烧出人们所需要的水温,当我们享受空调的冷暖调温时想一下空调温度的控制核心又是什么,其实,生活中早

3、已离不开温度控制器,就连工业生产过程中也缺它不可。 采用89S51为核心的本设计,通过外围温度传感器18B20对温度的采集,通过单片机控制MOC3041和双向可控硅构成的输出通道所连接的加热器,形成加热设备温度控制系统。硬件电路虽稍复杂,但可靠性极高。软件程序严谨不苟。2.实现功能:(1)实时显示温度,系统精度为0.5。(2)控制温度,默认的设定温度为上次设定温度。低于或等于下限温度时加热,高于或等于上限温度时保温,设定时上限比下限大2。(3)用按键可随时修改上下限温度。(4)可控硅对加热源的开断状态进行控制。(5)系统可以手动或上电复位。复位时先自检,接着显示上次的设定温度值(上限值)。正常

4、工作时显示温度值,状态灯显示当前系统状态。三设计方案3.1.单片机概述微型计算机具有体积小,功耗低重量轻,价格低,可靠性高,开发使用简便等一系列优点,自问世以来得到了非常广泛的应用。作为微型计算机发展的其中一大支,单片机系统全力满足测控对象的测控功能,兼顾数据处理能力。单片机本身有着优异的特色,它性能价格比好,集成度高,体积小,可靠性好控制能力强,且低功耗,低电压,便于生产便携式产品,还易扩展。目前,应用广泛的主流机型是80C51系列8位单片机。 其优点不容知否,它的性能价格比很高而且开发装置多,被国内技术人员熟悉广泛熟悉,芯片功能也够用适用,还有众多芯片制造厂商加盟,可选择空间大。而单片机本

5、身又有着优异的特色,它性能价格比好,集成度高,体积小,可靠性好控制能力强,且低功耗,低电压,便于生产便携式产品,还易扩展。单片机的应用相当广泛,无论是在智能化家用电器,办公自动化设备商业营销设备,工业自动化控制,智能化仪表还是智能化通信产品,汽车电子产品,航空航天系统和国防军事、尖端武器等等都有着不可小觑的地位。单片机引脚图如上图所示。单片机系统分为两大部分,一为硬件部分,即组成单片机系统的物理实体。二为软件部分,即对硬件使用和管理的程序。单片机程序设计软件语言可分为机器语言,汇编语言,高级语言,本课程设计使用的是AT89S51,汇编语言。AT89S51单片机是ATMEL公司生产的高性能8位单

6、片机,其管脚图如图2所示,主要功能特性如下: 兼容MCS-51指令系统; 32个双向I/O口,两个16位可编程定时/计数器; 1个串行中断,两个外部中断源; 可直接驱动LED; 低功耗空闲和掉电模式; 4 kB可反复擦写(1 000次)FLASI ROM; 全静态操作O24 MHz; 1288 b内部RAM。该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用3.2 DS18B20概述DS18B20是美国DALLAS公司推出的单总线数字测温芯片。如下图 所示。它形似三极管,采用3脚TO-92封装!他具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。采用数字信号输出

7、提高了信号抗干扰能力和温度测量精度。他的工作电压使用范围宽(3055 V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。他还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。可以通过编程实现912位的温度转换精度设置。下图为DS18B20工作原理图。3.3光电耦合器MOC3041概述MOC3041芯片是一种集成的带有光耦合的双向可控硅驱动电路。它内部集成了发光二极管、双向可控硅和过零触发电路等器件。它由输入和输出两部分组成。输入部分是一个砷化镓发光二极管,在515mA正向电流的作用下发出足够强度的红外光去触

8、发输出部分;输出部分包括一个硅光敏双向可控硅和过零触发器,在红外线的作用下,双向可控硅双向导通,与过零触发器一起输出同步触发脉冲,去控制执行机构外部的双向可控硅。用于逻辑控制电路系统,如固态继电器,工业控制,电机,电磁铁和消费类电子产品等。下图左为MOC3041实物图,右下为管脚原理图。 光电耦合器MOC3041管脚功能1 。阳极2 。阴极3 。空4 。输出5 。空6 。输出3.4.本设计总体概要: 本设计主要是对温度进行监测与控制,主要控制器件是单片机89S51。首先温度传感器DS1820对温度进行采样和转换,将测量结果送给单片机,单片机将输入的温度值与内部指定单元的给定温度值进行比较,根据

9、比较结果,通过执行机构可控硅对加热源的开断状态进行控制。温度显示与设定体现在4个八段共印数码管。下图为系统原理框图。四硬件电路设计根据设计思路,硬件电路结构由以下部分:时钟电路、复位电路、按键输入电路、晶振电路、数码管显示电路、MOC3041和双向可控硅构成的输出通道、DS18B20驱动电路。本设计虽然所费材料诸多,但性能可靠。接下来重点剖析DS18B20驱动电路、MOC3041和双向可控硅构成的输出通道的硬件设计。4.1 DS1820模块如左图所示,信号线接P3.0口。这一部分主要完成对温度信号的采集和转换工作,忧郁采用了该芯片,温度测量电路变得非常简单。DS1820像三极管一样,有一根底线

10、,一根信号线和一根电源线,而信号线与IO口P3.0的相连,就能实现单片机对DS1820模式控制,温度值读取等操作。4.2 MOC3041和双向可控硅构成的输出通道采用Motorola公司推出的单片集成可控硅驱动器件MOC3041来作为对输出的驱动和控制。有MOC3041组成的过零出发双向可控硅电路简单可靠,电路如上图所示。该部分的工作过程是:当单片机的P3.1口输出为低电平时,3041内部导通,G端出现同步触发脉冲,控制可控硅导通,打开加热器;当P3.1为高电平时,MOC3041内部截止,可控硅断开,关闭加热器。4.3数码管动态扫描显示模块驱动电路如上图所示,驱动模块主要使用芯片74LS374

11、,其管脚图如右下图所示。D0D7 数据输入端,此输入端与单片机P0口相连,374为具有三态输出的八 D 边沿触发器, 当三态允许控制端 OE 为低电平时, O0O7 为正常逻辑状态,可用来驱动负载或总线。CP 时钟输入端,单片机通过与非门与其相连,本设计中与非门用的是二输入四与非门的74LS02.O0O7 为输出端,两片74LS374分别与数码管的字形与字段相连。4.4 元件清单共阴极数码管 4个 74SL374两个按键 5个 MOC3041个10K电阻2个 300电阻 8个4.7K电阻4个 20PF电容2个12MHZ晶振1个 10UF电容1个74LS02 1个 AT89S51 1个DS18B

12、20 1个 104电容 1个74LS08 1个 发光二极管 4个电源插孔 1个 BT136 1个4.5 总硬件设计图五软件电路设计5.1主程序:启动DS1820测量温度,将测量值与给定值比较,若TXTL,则进如加热阶段,置P3.1为低电平。在该过程中继续对水温进行监测,当TXTH时,置P3.1为高电平,断开可控硅,关闭加热器,等待下一次的启动命令。系统主控程序工作流程如图所示。主程序代码:MAIN: MOV SP,#06H ; 主程序开始,初始化 MOV 20H,#00H ;标志位清零 MOV 21H,#08H ; 设定的初始位为第一位 MOV 29H,#0FEH ; 显示的位选信号 LCAL

13、L ZIJIAN ; 自检 LCALL READTHTL ;读上限温度和下限温度 LCALL TURNTH ;转换TH LCALL TESTRANGE ; 范围确定 LCALL DISPLAY ;显示TH SETB IT0 ;下降沿触发 SETB EX0 ;允许外中断0中断 SETB EA ;开中断LOOP: LCALL DELAY ;延时以保证转换结束 LCALL GET_TEMP ;读转换温度值 LCALL TURN ; 数制转换 LCALL DISPLAY ;送显示 CLR C ;比较转换值与设定值 MOV A,24H ; CJNE A,2EH,LOOP1 ;不等,跳LOOP1 SJMP

14、 HOTTING ;与下限值相等,跳HOTTINGLOOP1: JC HOTTING ;小于下限值,跳HOTTING MOV A,24H ;大于下限值,与上限值进行比较 CLR C CJNE A,2DH,LOOP2 ;不等,跳LOOP2 SJMP STOPHOT ;相等,跳STOPHOTLOOP2:JNC STOPHOT ; 温度大于上限值,跳STOPHOT SJMP KEEP ;温度小于上限值且大于下限值,跳KEEPHOTTING:CLR P3.1 ;温度低,加热 CLR P1.5 ;置加热状态灯 SETB P1.6 ;关保温状态灯KEEP: SJMP LOOP ;保持原态STOPHOT:S

15、ETB P3.1 ;关闭加热器 SETB P1.5 ;关闭加热状态灯 CLR P1.6 ;亮保温状态灯 SJMP LOOP ;主程序结束5.2 键盘处理与温度设定:键盘功能:1号键:温度设定/确定设定;2号键:上档/显示设定温度;3号键:上升/下降;4号键:右移/左移。在没有按1号键的情况下按3、4号键无效。按1号键后为设定温度操作,当前设定位闪烁,按3号键为加减,4号键为移位。上档时3、4号键分别为上升、右移;反之为下降及左移。上档时标志灯亮,再次按1号键时为确定设定。在没有设定温度时,按2号键为显示所设定的温度;在设定时为上档/下档键,按奇次为上档,按偶次为下档。温度设定的范围是2125,

16、分为三个区域,分别为:29, 1099和100125。当最高位为1时,第二位及第三位的最大值分别为2、5;当第一位及第二位都为0时,第三位的最低值为2。主要程序:TURNTH:MOV 2DH,27H ;TH和TL放入缓冲区 MOV 2EH,28H MOV 24H,27H ;转换TH.入口为24H ACALL TURN MOV 2AH,30H ;送TH值到设定温度子程序的入口 MOV 2BH,31H MOV 2CH,32H MOV A,2CH CLR C SUBB A,#0BH MOV 2CH,A MOV 33H,#00H MOV 34H,#15H RET;-TESTRANGE:MOV A,2A

17、H CJNE A,#01H,NOMAX MOV 22H,#08H ;设定范围为100125 SJMP EXITTESTNOMAX: MOV A,2BH CJNE A,#00H,MIDD MOV 22H,#02H ;设定范围为1099 SJMP EXITTESTMIDD: MOV 22H,#04HEXITTEST: RET5.3 定时动态显示中断程序流程图及说明定时10mS扫描显示程序中,由于只有4个数码管,所以不需要套循环,直接一个个写出来就行了,一进中断首先要做的就是保护现场,接着初始化后显示第一位显示缓冲区的内容,要注意的是千万不要忘记关显示这一步,如果没这一步,显示效果就是数据不断的闪,

18、根本无法达到显示效果!最后恢复现场退出定时中断程序!定时扫描中断程序如下:INT: PUSH ACC PUSH PSW MOV P0,90H ;将40H缓冲区中的拆分过的最后一位的值送P0 ORL P0,#30H ;点亮最后一位 LCALL T1MS ;延时一毫米 MOV P0,#0FFH ;关显示 MOV P0,91H ORL P0,#50H LCALL T1MS MOV P0,#0FFH MOV P0,92H ORL P0,#60H LCALL T1MS MOV P0,#0FFH MOV P0,93H ORL P0,#50H LCALL T1MS MOV P0,#0FFH MOV TH0,

19、#55536 MOV TL0,#55536 ;重新给T0赋初值,因为工作方式1无法自己赋初值 POP PSW POP ACC RETIT1MS:MOV 80H,#20 ;1毫秒延时子程序 G0:MOV 81H,#50 DJNZ 81H,$ DJNZ 80H,G0 RET5.4 DS18B20读写程序流程图及说明DS18B20由于是单总线,所以其所有操作都在这一根线上,对于DS18B20的读写不是很简单,其时序性也是相当的强!与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480s,最多不能超过960s。然后,单

20、片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560s才发出应答脉冲。应答脉冲能保持60240s。单片机从发送完复位脉冲到再次控制总线至少要等待480 s。写时隙需要1575 s,且在2次独立的写时隙之间至少需要1s的恢复时间。写时隙起始于单片机拉低总线。读时隙需1560 s,且在2次独立的读时隙之间至少需要1 s的恢复时间。读时隙起始于单片机拉低总线至少1 s。DSl8820在读时隙开始15s后开始采样总线电平。主要程序:ET_TEMP:CLR EA ;读取温度模块 ACALL INI ;初始化 MOV A,#0CCH ;跳过ROM(针对在线DS1820)

21、 ACALL WRITE ;写数据模块 MOV A,#44H ;温度转换命令 ACALL WRITE ACALL INI MOV A,#0CCH ACALL WRITE MOV A,#0BEH ;读数据命令 ACALL WRITE ;写命令 ACALL READ ;读数据模块 MOV 24H,A SETB EA RETSETTHTL:CLR EA ACALL INI MOV A,#0CCH ACALL WRITE MOV A,#4EH ACALL WRITE MOV A,2DH ACALL WRITE MOV A,2EH ACALL WRITE ACALL INI MOV A,#0CCH AC

22、ALL WRITE MOV A,#48H ACALL WRITE ACALL READTHTL MOV A,27H CJNE A,2DH,SETTHTL MOV A,28H CJNE A,2EH,SETTHTL SETB EA RET ;- READTHTL:CLR EA ;出口为27H,28H ACALL INI ;27H为高字节 MOV A,#0CCH ;28H为低字节 ACALL WRITE MOV A,#0B8H ACALL WRITE ACALL INI MOV A,#0CCH ACALL WRITE MOV A,#0B8H ACALL WRITE ACALL READ ACALL

23、READ ACALL READ MOV 27H,A ACALL READ MOV 28H,A SETB EA RET;-INI: CLR P3.0 ;DS1820的初始化 MOV R2,#100I1: CLR P3.0 DJNZ R2,I1 SETB P3.0 MOV R2,#15I2: DJNZ R2,I2 CLR C ORL C,P3.0 JC INI MOV R6,#40I3: ORL C,P3.0 JC I4 DJNZ R6,I3 SJMP INII4: MOV R2,#120I5: DJNZ R2,I5 RET;-WRITE:MOV R3,#8 ;写DS1820模块WR1: SETB

24、 P3.0 MOV R4,#4 RRC A CLR P3.0WR2: DJNZ R4,WR2 MOV P3.0,C MOV R4,#40WR3:DJNZ R4,WR3 DJNZ R3,WR1 SETB P3.0 RET;-READ:MOV R6,#8 ;读转换温度模块RE1: CLR P3.0 MOV R4,#2 SETB P3.0RE2: DJNZ R4,RE2 MOV C,P3.0 RRC A MOV R5,#15RE3:DJNZ R5,RE3 DJNZ R6,RE1RE5:SETB P3.0 RET5.5 完整程序 ORG 0000H SJMP MAIN ORG 0003H LJMP I

25、NT ORG 0030H ;=主程序=MAIN: MOV SP,#06H ; 主程序开始,初始化 MOV 20H,#00H ;标志位清零 MOV 21H,#08H ; 设定的初始位为第一位 MOV 29H,#0FEH ; 显示的位选信号 LCALL ZIJIAN ; 自检 LCALL READTHTL ;读上限温度和下限温度 LCALL TURNTH ;转换TH LCALL TESTRANGE ; 范围确定 LCALL DISPLAY ;显示TH SETB IT0 ;下降沿触发 SETB EX0 ;允许外中断0中断 SETB EA ;开中断LOOP: LCALL DELAY ;延时以保证转换结

26、束 LCALL GET_TEMP ;读转换温度值 LCALL TURN ; 数制转换 LCALL DISPLAY ;送显示 CLR C ;比较转换值与设定值 MOV A,24H ; CJNE A,2EH,LOOP1 ;不等,跳LOOP1 SJMP HOTTING ;与下限值相等,跳HOTTINGLOOP1: JC HOTTING ;小于下限值,跳HOTTING MOV A,24H ;大于下限值,与上限值进行比较 CLR C CJNE A,2DH,LOOP2 ;不等,跳LOOP2 SJMP STOPHOT ;相等,跳STOPHOTLOOP2:JNC STOPHOT ; 温度大于上限值,跳STOP

27、HOT SJMP KEEP ;温度小于上限值且大于下限值,跳KEEPHOTTING:CLR P3.1 ;温度低,加热 CLR P1.5 ;置加热状态灯 SETB P1.6 ;关保温状态灯KEEP: SJMP LOOP ;保持原态STOPHOT:SETB P3.1 ;关闭加热器 SETB P1.5 ;关闭加热状态灯 CLR P1.6 ;亮保温状态灯 SJMP LOOP ;主程序结束 ;-子程序-ZIJIAN:MOV 30H,#08H ;自检显示器(888.8) MOV 31H,#08H MOV 32H,#13H MOV 33H,#08H MOV 34H,#13H CLR P1.4 ;红色电源灯亮

28、 CLR P1.5 ;红色加热状态灯亮 CLR P1.6 ;绿色保温状态灯亮 CLR P1.7 ;蓝色上档状态灯亮 MOV R3,#0FFH ;自检延时倍数WAIT0:ACALL DISPLAY ;调显示,自检显示器 DJNZ R3,WAIT0 SETB P1.5 ;加热状态灯灭 SETB P1.6 ;保温灯灭 SETB P1.7 ;上档灯灭 RET ;- TURNTH:MOV 2DH,27H ;TH和TL放入缓冲区 MOV 2EH,28H MOV 24H,27H ;转换TH.入口为24H ACALL TURN MOV 2AH,30H ;送TH值到设定温度子程序的入口 MOV 2BH,31H MOV 2CH,32H MOV A,2CH CLR C SUBB A,#0BH MOV 2CH,A MOV 33H,#00H MOV 34H,#15H RET;-TESTRANGE:MOV A,2AH CJNE A,#01H,NOMAX MOV 22H,#08H ;设定范围为100125 SJMP EXITTESTNOMAX: MOV A,2BH CJNE A,#00H,MIDD MOV 22H,#02H ;设定范围为1099 SJMP EXITTESTMIDD: MOV 22H,#04HEXITTEST: RETDISPLAY: MOV R0,#30H ;入口参数为30H

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

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