- 1.74 MB
- 2021-10-12 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
电子通信工程系毕业设计——基于单片机的水温控制系统
目 录
第1节 引言…………………………………………………………… 3
1.1 水温控制系统概述……………………………………………3
1.2 本设计任务和主要内容………………………………………4
第2节 系统设计原理与方案论证 ……………………………………5
2.1 总体框图………………………………………………………5
2.2 总体方案论证…………………………………………………5
2.3 各部分电路方案论证…………………………………………6
第3节 硬件电路设计与计算……………………………………………8
3.1 温度采样和转换电路…………………………………………8
3.2 温度控制电路…………………………………………………9
3.3 单片机控制部分………………………………………………10
3.4 键盘及数字显示部分…………………………………………10
第4节 实验测试………………………………………………………12
4.1 循环显示“HELLO888”………………………………………12
4.2 键盘及数字显示结合…………………………………………13
4.3 温度设定和传送电路…………………………………………15
4.4 PWM 电压输出电路……………………………………………20
第5节 课程设计总结……………………………………………………23
5.1 此次水温控制系统设计过程中遇到的问题及其解决方法…23
5.2 设计体会及对该设计的建议…………………………………23
参考文献……………………………………………………………………24
10
电子通信工程系毕业设计——基于单片机的水温控制系统
摘要
基于单片机的水温控制系统
电子通信工程系 医电051班 周崭
指导教师:牟光臣
第1节 绪论
水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽相同,其中以PID控制法最为常见。单片机控制部分采用AT89C51单片机为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。然而,单纯的PID算法无法适应不同的温度环境,在某个特定场合运行性能非常良好的温度控制器,到了新环境往往无法很好胜任,甚至使系统变得不稳定,需要重新改变 PID 调节参数值以取得佳性能。
本文首先用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。然后在模型参考自适应算法 MRAC基础上,用单片机实现了自适应控制,弥补了传统 PID控制结构在特定场合下性能下降的不足,设计了一套实用的温度测控系统,使它在不同时间常数下均可以达到技术指标。此外还有效减少了输出继电器的开关次数,适用于环境参数经常变化的小型水温控制系统。
1.1 水温控制系统概述
温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。
10
电子通信工程系毕业设计——基于单片机的水温控制系统
在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。那么无论是哪种控制,我们都希望水温控制系统能够有很高的精确度(起码是在满足我们要求的范围内),帮助我们实现我们想要的控制,解决身边的问题。
在计算机没有发明之前,这些控制都是我们难以想象的。而当今,随着电 子行业的迅猛发展,计算机技术和传感器技术的不断改进,而且计算机和传感器的价格也日益降低,可靠性逐步提高,用信息技术来实现水温控制并提高控制的精确度不仅是可以达到的而且是容易实现的。用高新技术来解决工业生产问题, 排除生活用水问题实施对水温的控制已成为我们电子行业的任务,以此来加强工业化建设,提高人民的生活水平。
1.1 本设计任务和主要内容
1.基本要求
一升水由1kW的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。
2.主要性能指标
① 温度设定范围:,最小区分度为。
② 控制精度:温度控制的静态误差。
③ 用十进制数码显示实际水温。
3.扩展功能
① 具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。
② 采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。
③ 温度控制的静态误差。
第1节 系统设计原理
2.1水温控制系统总体框图
传感器
电炉
信号放大
功率放大
A / D
键盘显示
键盘单片机基本系统
微型打印机
10
电子通信工程系毕业设计——基于单片机的水温控制系统
图2-1 单片机控制系统原理框图
该水温控制系统主要由AT89C51单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如上图所示。
2.2总体方案论证
(一)、方案论证与比较
本题目是设计制作一个水温控制系统,对象为一升净水,加热器为1KW的电炉。 要求能在35℃--95℃范围内设定控制水温,并具有较好的快速性和较小的超调,以及十进制数码管显示等功能。
1、总体方案设计及论证
根据题目的要求,我们提出了以下的两种方案:
方案1:此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得教高,而且不能用数码显示和键盘设定。
方案2:采用单片机AT89C51为核心。采用了温度传感器AD590采集温度变化信号,A/D采样芯片ADC0804将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较上述两种方案,方案2明显的改善了方案1的不足及缺点,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。
2.3 各部分电路方案论证
本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘显示摸块等四大模块组成。现将各部分主要元件及电路做以下的论证:
(1)、温度采样部分
方案1:采用热敏电阻,可满足35℃--95℃的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。
方案2:采用温度传感器AD590。:AD590具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50℃-- +150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃,其各方面特性都满足此系统的设计要求。此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。
10
电子通信工程系毕业设计——基于单片机的水温控制系统
经上述比较,方案2明显优于方案1,故选用方案2。
(2)、键盘显示部分
控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。
方案1:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。
方案2:采用单片机AT2051与地址译码器74LS138组成控制和扫描系统,并用2051的串口对主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。
对比两种方案可知,方案1虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案2。
(3)、控制电路部分
方案1:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这
给电路增加了复杂度。
方案2:本方案的CPU模块采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。
方案3:采用AT89C51单片机,其内部有8KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。
比较这3种方案,综合考虑单片机的各部分资源,因此此次设计选用方案3。设计电路图如图2-2 所示:
10
电子通信工程系毕业设计——基于单片机的水温控制系统
图2-2 AT89C51单片机原理图
第1节 硬件电路设计与计算
本电路总体设计包括四部分:主机控制部分(89C51)、前向通道(温度采样和转换电路)、后向通道(温度控制电路)、键盘显示部分。
3.1 温度采样和转换电路
系统的信号采样和转换电路主要由温度传感器AD590、基准电压7812、运算放大器OP-07及A/D转换电路ADC0804四部分组成。设计电路图如图3-1所示:
图3-1 温度采样和转换电路原理图
(1) AD590性能描述
测量范围在-50℃--+150℃,满刻度范围误差为±0.3℃,当电源电压在5—10V之间,稳定度为1﹪时,误差只有±0.01℃ 。AD590为电流型传感器温度每变化1℃其电流变化1uA在35℃和95℃时输出电流分别为308.2uA
10
电子通信工程系毕业设计——基于单片机的水温控制系统
和368.2uA。
(2)基准电压7812提供12V标准电压,它与运算放大器OP-07和电阻组成信号转换与放大电路,将35℃--95℃的温度转换为0—5V的电压信号。
(3)ADC0804性能描述
ADC0804为8位逐次逼近型A/D转换器,其输入电压范围在0—5v,转换速度为100us,转换精度为0.39﹪,对应误差为0.234℃。
满足系统的要求。
(4)电路原理及参数计算
温度采样电路的基本原理是采用电流型温度传感器AD590将温度的变化量转换成电流量,再通过OP-07将电流量转换成电压量,通过A/D转换器ADC0804将其转换成数值量交由单片机处理。图3-1中三端稳压7812作为基准电压,由运放虚短虚断可知运放OP-07的反向输入端(2脚)的电压为零伏。当输出电压为零伏时(即Uo=0v) ,令7812的输出电压为=12V,OP-07的2脚处为A点,AD590的转换电流为。列出A点的结点方程如下:
(1)
由于系统控制的水温范围为35℃--95℃,所以当输出电压为零伏时AD590的输出电流为308.2uA,因此为了使Ui的电位为零就必须使电流 等于电流等于308.2uA, 三端稳压7812的输出电压为12v所以由方程(1)得
= =38.94k (2)
由(2)取电阻R1=30k , R2=20k的电位器。
又由于ADC0804的输入电压范围为0—5v ,为了提高精度所以令水温为95℃时ADC0804的输入电压为5v(即Uo=5v)。此时列出A点的结点方程如下:
(3)
当水温为95℃时AD590的输出电流为368.2uA。由方程式(3)得
+=83.33k因此取=81k , =5k的电位器。
3.2、 温度控制电路
10
电子通信工程系毕业设计——基于单片机的水温控制系统
此部分电路主要由光电耦合器MOC3041和双向可控硅BTA12组成。采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。MOC3041光电耦合器的耐压值为400v,它的输出级由过零触发的双向可控硅构成,它控制着主电路双向可控硅的导通和关闭。100Ω电阻与0.01uF电容组成双向可控硅保护电路。控制部分电路图如图3-2所示:
图3-2 温度控制电路原理图
3.3、 单片机控制部分
此部分是电路的核心部分,系统的控制采用了单片机AT89C51。单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。电路原理图如图3-3所示:
图3-3 单片机控制电路部分原理图
3.4、 键盘及数字显示部分
10
电子通信工程系毕业设计——基于单片机的水温控制系统
在设计键盘/显示电路时,我们使用单片机2051作为电路控制的核心,单片机2051具有一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘/显示接口电路如图3-4所示
图3-4 键盘/显示部分电路
图3-4中单片机2051的P1口接数码管的8只引脚,这样易于对数码管的译码,使数码管能显示设计者所需的各数值、符号等等。单片机2051的P3.3、P3.4、P3.5接3-8译码器74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端口这样能大大 的减少单片机的I/O,减少硬件的花费。键盘的接法的差别直接影响到硬件和软件的设计,考虑到单片机2051的端口资源有限,所以我们在设计中将传统的4*4的键盘接成8*2的形式(如图3-4),键盘的扫描除了和显示共用的8个端外,另外的两个端直接和2051的P3.2和P3.7相连。
图3-5 译码显示部分
10
电子通信工程系毕业设计——基于单片机的水温控制系统
如图3-5的接法已经完全用完了单片机的15个I/O口,有效的利用了单片机的资源。
第4节 实验测试
4.1循环显示“HELLO888”
编一小程序,实现数码管八跑马——循环显示“HELLO888”。源程序如下:
10
电子通信工程系毕业设计——基于单片机的水温控制系统
RG 0000H
HL:MOV P1,#89H
MOV P3,#00H
ACALL DELAY
MOV P1,#86H
MOV P3,#08H
ACALL DELAY
MOV P1,#0C7H
MOV P3,#10H
ACALL DELAY
MOV P1,#0C7H
MOV P3,#18H
ACALL DELAY
MOV P1,#0C0H
MOV P3,#20H
ACALL DELAY
MOV P1,#80H
MOV P3,#28H
ACALL DELAY
MOV P1,#80H
MOV P3,#30H
ACALL DELAY
MOV P1,#80H
MOV P3,#38H
ACALL DELAY
LJMP HL
DELAY: MOV R0,#0DFH
D1: MOV R1,#0FFH
DJNZ R1,$
DJNZ R0,D1
RET
10
电子通信工程系毕业设计——基于单片机的水温控制系统
4.2、键盘及数字显示结合
编一小程序,实现键盘及数字显示结合——按键盘1数码管显示1,按键盘2数码管显示3,按键盘3数码管显示3,按键盘4数码管显示4,按键盘5数码管显示5,按键盘6数码管显示6,按键盘7数码管显示7,按键盘8数码管显示8,按键盘9数码管显示9,按键盘10数码管显示A,按键盘11数码管显示b,按键盘12数码管显示C,按键盘13数码管显示d,按键盘14数码管显示E,按键盘15数码管显示F。源程序如下所示:
电子通信工程系毕业设计——基于单片机的水温控制系统
ORG 0000H
MOV P1,#8CH
LL:ACALL HH
ACALL L0
ACALL L1
ACALL L2
ACALL L3
ACALL L4
电子通信工程系毕业设计——基于单片机的水温控制系统
ACALL L5
ACALL L6
ACALL L7
SJMP LL
L0:CLR P3.5
CLR P3.4
CLR P3.3
JNB P3.2,H0
JNB P3.7,E0
RET
H0:JB P3.2,Y0
SJMP H0
Y0:MOV P1,#88H
ACALL HH
SJMP LL
E0:JB P3.7,F0
SJMP E0
F0:MOV P1,#0F9H
ACALL HH
SJMP LL
L1:CLR P3.5
CLR P3.4
SETB P3.3
JNB P3.2,H1
JNB P3.7,E1
RET
H1:JB P3.2,Y1
SJMP H1
Y1:MOV P1,#83H
ACALL HH
LJMP LL
E1:JB P3.7,F1
SJMP E1
F1:MOV P1,#0A4H
ACALL HH
SJMP LL
L2:CLR P3.5
SETB P3.4
CLR P3.3
JNB P3.2,H2
JNB P3.7,E2
RET
H2:JB P3.2,Y2
SJMP H2
Y2:MOV P1,#0C6H
ACALL HH
LJMP LL
E2:JB P3.7,F2
SJMP E2
F2:MOV P1,#0B0H
ACALL HH
LJMP LL
L3:CLR P3.5
SETB P3.4
SETB P3.3
JNB P3.2,H3
JNB P3.7,E3
RET
H3:JB P3.2,Y3
SJMP H3
Y3:MOV P1,#0A1H
ACALL HH
LJMP LL
E3:JB P3.7,F3
SJMP E3
F3:MOV P1,#99H
ACALL HH
LJMP LL
电子通信工程系毕业设计——基于单片机的水温控制系统
L4:SETB P3.5
CLR P3.4
CLR P3.3
JNB P3.2,H4
JNB P3.7,E4
RET
H4:JB P3.2,Y4
SJMP H4
Y4:MOV P1,#86H
ACALL HH
LJMP LL
E4:JB P3.7,F4
SJMP E4
F4:MOV P1,#92H
ACALL HH
LJMP LL
L5:SETB P3.5
CLR P3.4
SETB P3.3
JNB P3.2,H5
JNB P3.7,E5
RET
H5:JB P3.2,Y5
SJMP H5
Y5:MOV P1,#8EH
ACALL HH
LJMP LL
E5:JB P3.7,F5
SJMP E5
F5:MOV P1,#82H
ACALL HH
LJMP LL
L6:SETB P3.5
SETB P3.4
CLR P3.3
JNB P3.2,H6
JNB P3.7,E6
RET
H6:JB P3.2,Y6
SJMP H6
Y6:MOV P1,#89H
ACALL HH
LJMP LL
E6:JB P3.7,F6
SJMP E6
F6:MOV P1,#0F8H
ACALL HH
LJMP LL
L7:SETB P3.5
SETB P3.4
SETB P3.3
JNB P3.2,H7
JNB P3.7,E7
RET
H7:JB P3.2,Y7
SJMP H7
Y7:MOV P1,#0C7H
ACALL HH
LJMP LL
E7:JB P3.7,F7
SJMP E7
F7:MOV P1,#80H
ACALL HH
LJMP LL
HH:MOV P3,#0FFH
ACALL DELAY
MOV P3,#0F7H
电子通信工程系毕业设计——基于单片机的水温控制系统
ACALL DELAY
MOV P3,#0EFH
ACALL DELAY
MOV P3,#0E7H
ACALL DELAY
MOV P3,#0DFH
ACALL DELAY
MOV P3,#0D7H
ACALL DELAY
MOV P3,#0CFH
ACALL DELAY
MOV P3,#0C7H
ACALL DELAY
RET
DELAY:MOV R0,#01H
DAl: MOV R1,#9FH
DA2: NOP
NOP
NOP
NOP
DJNZ R1,DA1
DJNZ R0,DA2
RET
END
电子通信工程系毕业设计——基于单片机的水温控制系统
4.3、温度设定和传送电路
编一小程序,实现温度设定和传送电路——以下是双机串口通讯主程序流程图:
图4-1 双机串口通讯流程图
电子通信工程系毕业设计——基于单片机的水温控制系统
;程序1------方式2两位设定就不可的
FLAGA BIT 2AH.0
FLAGB BIT 2AH.1
FLAG0 BIT P3.3
FLAG1 BIT P3.4
电子通信工程系毕业设计——基于单片机的水温控制系统
FLAG2 BIT P3.5
GUAN1 EQU 30H
GUAN2 EQU 31H
GUAN3 EQU 32H
GUAN4 EQU 33H
GUAN5 EQU 34H
GUAN6 EQU 35H
GUAN7 EQU 36H
GUAN8 EQU 37H
ORG 00H
LJMP star
ORG 23H
LJMP CKT
;-----------------------初始设定
STAR:
MOV SP,#60H
MOV IE,#10010000B
MOV SCON,#10010000B
ANL PCON,#0111111B
MOV TMOD, #20H
MOV TH1, #0F2H
MOV TL1, #0F2H
SETB TR1
MOV GUAN2,#00H
MOV GUAN3,#00H
MOV GUAN6,#00H
MOV GUAN7,#00H
CLR FLAGB
CLR FLAGA
MOV DPTR,#TABLE
;-----------------主要执行总程序
ZONGSAO:
LCALL SHOW
ACALL AA
SJMP ZONGSAO
;--- ----扫描按键是否按下子程序
AA:
S1:;------------ ------0,5键
JNB FLAGB ,S2
CLR FLAG2
CLR FLAG1
CLR FLAG0
JB P3.2 ,NEXT1
ACALL DELAY
JB P3.2 ,NEXT1
JNB P3.2 ,$
JB FLAGA ,WW1
MOV GUAN7,#00H
SETB FLAGA
LJMP NEXT1
WW1:
MOV GUAN6 ,#00H
CLR FLAGB
NEXT1:
JB P3.7 ,ONE1
ACALL DELAY
JB P3.7 ,ONE1
JNB P3.7 ,$
JB FLAGA, MM1
MOV GUAN7,#05H
SETB FLAGA
LJMP ONE1
MM1:
MOV GUAN6, #05H
CLR FLAGB
电子通信工程系毕业设计——基于单片机的水温控制系统
ONE1: LJMP S2
S2:;---------------- ------1,6键
JNB FLAGB, S3
CLR FLAG2
CLR FLAG1
SETB FLAG0
JB P3.2 ,NEXT2
LCALL DELAY
JB P3.2 ,NEXT2
JNB P3.2 ,$
JB FLAGA ,WW2
MOV GUAN7 ,#01H
SETB FLAGA
LJMP NEXT2
WW2:
MOV GUAN6 ,#01H
CLR FLAGB
NEXT2:
JB P3.7 ,ONE2
LCALL DELAY
JB P3.7 ,ONE2
JNB P3.7 ,$
JB FLAGA ,MM2
MOV GUAN7,#06H
SETB FLAGA
LJMP ONE2
MM2:
MOV GUAN6 ,#06H
CLR FLAGB
ONE2: LJMP S3
S3:;------------------- ---2,7键
JNB FLAGB ,S4
CLR FLAG2
SETB FLAG1
CLR FLAG0
JB P3.2 ,NEXT3
LCALL DELAY
JB P3.2 ,NEXT3
JNB P3.2 ,$
JB FLAGA ,WW3
MOV GUAN7 ,#02H
SETB FLAGA
LJMP NEXT3
WW3:
MOV GUAN6 ,#02H
CLR FLAGB
NEXT3:
JB P3.7 ,ONE3
LCALL DELAY
JB P3.7 ,ONE3
JNB P3.7 ,$
JB FLAGA ,MM3
MOV GUAN7,#07H
SETB FLAGB
LJMP ONE3
MM3:
MOV GUAN6 ,#07H
CLR FLAGB
ONE3: LJMP S4
S4: ;----------------- 3,8键
JNB FLAGB ,S5
CLR FLAG2
SETB FLAG1
SETB FLAG0
JB P3.2 ,NEXT4
LCALL DELAY
JB P3.2 ,NEXT4
电子通信工程系毕业设计——基于单片机的水温控制系统
JNB P3.2 ,$
JB FLAGA, WW4
MOV GUAN7 ,#03H
SETB FLAGA
LJMP NEXT4
WW4:
MOV GUAN6,#03H
CLR FLAGB
NEXT4:
JB P3.7 ,ONE4
LCALL DELAY
JB P3.7 ,ONE4
JNB P3.7 ,$
JB FLAGA ,MM4
MOV GUAN7,#08H
SETB FLAGA
LJMP ONE4
MM4:
MOV GUAN6 ,#08H
CLR FLAGB
ONE4: LJMP S5
S5:;----------- -----4,9键
JNB FLAGB ,S6
SETB FLAG2
CLR FLAG1
CLR FLAG0
JB P3.2 ,NEXT5
LCALL DELAY
JB P3.2, NEXT5
JNB P3.2 ,$
JB FLAGA ,WW5
MOV GUAN7 ,#04H
SETB FLAGA
LJMP NEXT5
WW5:
MOV GUAN6 ,#04H
CLR FLAGB
NEXT5:
JB P3.7, ONE5
LCALL DELAY
JB P3.7 ,ONE5
JNB P3.7 ,$
JB FLAGA ,MM5
MOV GUAN7,#09H
SETB FLAGA
SETB FLAGB
LJMP ONE5
MM5:
MOV GUAN6 ,#09H
CLR FLAGB
ONE5: LJMP S6
S6:;----------- ---设定键,清除(零)键
SETB FLAG2
CLR FLAG1
SETB FLAG0
JB P3.2 ,NEXT6
LCALL DELAY
JB P3.2,NEXT6
JNB P3.2 ,$
SETB FLAGB
NEXT6:
JB P3.7 ,ONE6
LCALL DELAY
JB P3.7 ,ONE6
JNB P3.7 ,$
MOV GUAN6,#00H
电子通信工程系毕业设计——基于单片机的水温控制系统
MOV GUAN7,#00H
CLR FLAGA
SETB FLAGB
ONE6: LJMP S7
S7:;------------- -------------发送键
SETB FLAG2
SETB FLAG1
CLR FLAG0
JB P3.2 ,NEXT7
LCALL DELAY
JB P3.2,NEXT7
JNB P3.2 ,$
CLR FLAGB
CLR FLAGA
MOV B,#0AH
MOV A,GUAN6
MUL AB
ADD A,GUAN7
SEND: CLR ES
MOV SBUF,A
JNB TI,$
CLR TI
SETB ES
NEXT7: NOP
RET
;-------------- ------显示扫描子程序
SHOW:
;-----------guan8
SETB FLAG0
SETB FLAG1
SETB FLAG2
MOV P1,#0CEH
ACALL DELAY2
;---------guan7
CLR FLAG0
SETB FLAG1
SETB FLAG2
MOV A ,GUAN7
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY2
;---------guan6
SETB FLAG0
CLR FLAG1
SETB FLAG2
MOV A ,GUAN6
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY2
;----------------guan5
CLR FLAG0
CLR FLAG1
SETB FLAG2
MOV P1,#0C6H
ACALL DELAY2
;---------------guan4
SETB FLAG0
SETB FLAG1
CLR FLAG2
MOV P1,#0CEH
ACALL DELAY2
;--------guan3
CLR FLAG0
SETB FLAG1
CLR FLAG2
电子通信工程系毕业设计——基于单片机的水温控制系统
MOV A ,GUAN3
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY2
;---------guan2
SETB FLAG0
CLR FLAG1
CLR FLAG2
MOV A ,GUAN2
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY2
CLR FLAG0;-----------guan1
CLR FLAG1
CLR FLAG2
MOV P1,#0C6H
ACALL DELAY2
RET
;------------ ------------中断子程序
CKT:
PUSH ACC
PUSH PSW
CLR RI
MOV A,SBUF
; JNB RI,$
MOV B,#10
DIV AB
MOV GUAN2,A
MOV GUAN3,B
POP PSW
POP ACC
RETI
DELAY: ;---- -------消抖延时程序6MS
MOV R0,#3CH
DL2:MOV R1,#7DH
DL1:NOP
NOP
DJNZ R1,DL1
DJNZ R0,DL2
RET
delay2:;--- -------------扫描延时程序
MOV r0,#01h
dl4:MOV r1,#0a0h
dl3:NOP
NOP
DJNZ r1,dl3
DJNZ r0,dl4
RET
;-------------- ----------数码管显示表
TABLE:
DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90
电子通信工程系毕业设计——基于单片机的水温控制系统
4.4、PWM 电压输出电路
编一小程序,实现PWM 电压自动可调宽度脉冲波输出电路
电子通信工程系毕业设计——基于单片机的水温控制系统
图4-2 自动可调宽度脉冲波输出电路
电子通信工程系毕业设计——基于单片机的水温控制系统
POUT EQU P1.0
OUTBIT EQU 7FH
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP CTC_INT
ORG 0030H
MAIN: MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
SETB EA
SETB ET0
WAIT: SJMP WAIT
CTC_INT: PUSH ACC
PUSH PSW
CLR TR0
JNB OUTBIT,OUT0
SETB POUT
CLR C
MOV A,#0FFH
SUBB A,0FFH
MOV TL0,A
MOV A,#0FFH
SUBB A,#0FH
MOV TH0,A
CLR OUTBIT
SJMP CTC_OUT
OUT0: CLR POUT
CLR C
MOV A,#0FFH
SUBB A,#0FFH
电子通信工程系毕业设计——基于单片机的水温控制系统
MOV TL0,A
MOV A,#0FFH
SUBB A,#1FH
MOV TH0,A
MOV A,TL0
ADD A,#0FFH
MOV TL0,A
MOV A,TH0
ADDC A,#0FH
MOV TH0,A
SETB OUTBIT
CTC_OUT: SETB TR0
POP PSW
POP ACC
RETI
电子通信工程系毕业设计——基于单片机的水温控制系统
第5节 课程设计总结
电子通信工程系毕业设计——基于单片机的水温控制系统
5.1、此次水温控制系统设计过程中遇到的问题及其解决方法
在实现温度—电压转换电路过程中,出现当温度为90度时,电压输出为1.5V却无论如何也不能调到5V的状况,后经检验发现是由于小板原理图中滑动变阻器R17、R22调动幅度太小所至,我们将其5K滑变改为20K,此时可以实现调到5V。
5.2、对该设计的建议
本次《基于单片机的水温控制系统设计》是以AT89C51为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。在系统的软硬件调试过程中,不断地有问题出现,如OP-07、ADC0804会发烫,串行通信…
电子通信工程系毕业设计——基于单片机的水温控制系统
,但是在老师和同学的指导和帮助下,通过电路检查、原理分析、程序修改等工作,这些问题都一一得到了解决,所以在这次调试过程中,我们学到了很多知识,同时也大大地提高了我们的实际动手能力,这对我们以后的系统设计会有很大的帮助。同时,该系统还存在着一些问题,如温度显示精度不高,没有采用小数部分;PID算法的参数不够精确,这影响水温达到稳定的时间。参考文献
[1] 《8051单片机实践与应用》 吴金 清华大学出版社 2002.9
[2] 《全国大学生电子设计竞赛获奖作品精选》 北京理工大学出版社 2003.3
[3] 《全国大学生电子设计竞赛获奖作品汇编》 北京理工大学出版社 2004.8
[4] 《单片微型机原理、应用与实验》 张友德 复旦大学出版社 2003.6
[5] 《电子系统设计》 何小艇 浙江大学出版社 2004.6
[6] 《电路原理图与电路板设计教程Protel 99SE》 石宗义 北京希望电子出 版社 2002.6