• 1.74 MB
  • 2021-04-16 发布

毕业设计 基于单片机的水温控制系统

  • 21页
  • 当前文档由用户上传发布,收益归属用户
  • 下载文档
  1. 1、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  2. 2、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  3. 文档侵权举报QQ:3215808601
电子通信工程系毕业设计——基于单片机的水温控制系统 ‎ ‎ 目 录 第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 循环显示“HELLO‎888”‎………………………………………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、 单片机控制部分      此部分是电路的核心部分,系统的控制采用了单片机AT‎89C51。单片机AT‎89C51内部有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循环显示“HELLO‎888”‎ 编一小程序,实现数码管八跑马——循环显示“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‎

相关文档