




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的水温自动控制系统基于单片机的水温自动控制系统 【摘要摘要】 本论文采用单片机以及 PID 算法进行水温的实时采集与控制,进行软件编程,实现用 PID 算法来控制 PWM 波的产生,进而控制电炉的加热来实现温度控制,该水温控制系统主要 由 AT89C51 单片机控制系统、前向通道(温度采样转换电路) 、后向通道(温度控制电路) 、 键盘显示电路等四部分组成,水温设定范围为 3595,最小区分度为 0.1。所以系统具 备较高的测量精度和控制精度。 关键词:关键词:AT89C51 单片机 PID 算法 AbstractAbstract:This paper uses monolithic
2、 integrated circuits and pid algorithm to the real-time collection and control and conduct software programming, to realize the pid algorithm used to control pwm wave, and control of the electric heating of the implementation of the temperature control, the water temperature control system is mainly
3、 composed at89c51 monolithic integrated circuits to control systems and to channel ( the sampling transforming circuit ) and to channel ( temperature control circuit ), the keyboard display circuits of four sections, the scope for 35 95 , the little difference between degrees 0.1 。 KeyKey wordwords
4、s:Monolithic integrated circuits AT89C51 monolithic integrated circuits PID algorithm ; 目录目录 1 1 引言引言.1 1.1 水温控制系统概述.1 1.2 本设计任务和主要内容.1 2 2 系统设计原理系统设计原理.3 2.1 水温控制系统总体框图.3 2.2 总体方案论证.4 2.3 各部分电路方案论证.5 3 3 硬件电路设计与计算硬件电路设计与计算.6 3.1 温度采样和转换电路.6 3.2 温度控制电路.7 3.3 单片机控制部分.8 3.4 键盘及数字显示部分.8 4 4 实验测试实验测试.10
5、 4.1 循环显示“HELLO888”.10 4.2 键盘及数字显示结合.11 4.3 温度设定和传送电路.15 4.4PWM 电压输出电路.22 结束语.24 谢辞.25 参考文献.26 1 1 引言引言 水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽 相同,其中以 PID 控制法最为常见。单片机控制部分采用 AT89C51 单片机为核心,采用软件编 程,实现用 PID 算法来控制 PWM 波的产生,进而控制电炉的加热来实现温度控制。然而,单纯 的 PID 算法无法适应不同的温度环境,在某个特定场合运行性能非常良好的温度控制器,到了 新环境往往无法很好胜任,甚
6、至使得系统变得不稳定,需要重新改变 PID 调节参数值以取得佳 性能。 本文首先用 PID 算法来控制 PWM 波的产生,进而控制电炉的加热来实现温度控制。然后 在模型参考自适应算法 MRAC 基础上,用单片机实现了自适应控制,弥补了传统 PID 控制结构 在特定场合下性能下降的不足,设计了一套实用的温度测试系统,使它在不同时间常数下均可 以达到技术指标。此外还有效减少了输出继电器的开关次数,适用于环境参数经常变化的小型 水温控制系统。 1.11.1 水温控制系统概述水温控制系统概述 温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低 的温度或过高的温度都会使水资源失
7、去应有的作用,从而造成水资源的巨大浪费。特别是在 当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好 地利用起来。 在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。 在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数 量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达 到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过 通讯口送至上位机进行显示和控制。那么无论是哪种控制,我们都希望水温控制系统能够有 很高的精确度(起码是在满足我们要求的范围内),
8、帮助我们实现我们想要的控制,解决身 边的问题。 在计算机没有发明之前,这些控制都是我们难以想象的。而当今,随着电子行业的迅猛 发展,计算机技术和传感器技术的不断改进,而且计算机和传感器的价格也日益降低,可靠 性逐步提高,用信息技术来实现水温控制并提高控制的精确度不仅是可以达到的而且是容易 实现的。用高新技术来解决工业生产问题,排除生活用水问题实施对水温的控制已成为我们 电子行业的任务,以此来加强工业化建设,提高人民的生活水平。 1.21.2 本设计任务和主要内容本设计任务和主要内容 1.基本要求 一升水由 1kW 的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降 低时实现自动调
9、整,以保持设定的温度基本不变。 2.主要性能指标 温度设定范围 35-95,最小区分度为 0.1。 控制精度:温度控制的静态误差。 用十进制数码显示实际水温。 3.扩展功能 具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。 采用适当的控制方法实现当设定温度或环境温度突变时,减少系统的调节时间和超调 量。 温度控制的静态误差。 2 2 系统设计原理系统设计原理 2.12.1 水温控制系统总体框图水温控制系统总体框图 该水温控制系统主要由 AT89C51 单片机控制系统、前向通道(温度采样转换电路)、后 向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如图
10、2-1 所示。 AT89C51 单片机 温度控制电路温度采样转 换电路 键盘显示电 路 水温控制 模块 图 2-1 总体设计框图 图 2-2 主程序流程图 2.22.2 总体方案论证总体方案论证 (1)方案论证与比较 本题目是设计制作一个水温控制系统,对象为一升净水,加热器为 1KW 的电炉。要求能 在 35-95范围内设定控制水温,并具有较好的快速性和较小的超调,以及十进制数码管 显示等功能。 (2)总体方案设计及论证 根据题目的要求,我们提出了以下的两种方案: 方案 1:此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值, 采用上下限比较电路将反馈的温度值与给定的温度值比
11、较后,决定加热或者不加热。由于采 用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得教高,而 且不能用数码显示和键盘设定。 方案 2:采用单片机 AT89C51 为核心。采用了温度传感器 AD590 采集温度变化信号,A/D 采样芯片 ADC0804 将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使 用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通 过软件编程能实现各种控制算法使系统还具有控制精度高的特点。比较上述两种方案,方案 2 明显的改善了方案 1 的不足及缺点,并具有控制简单、控制温度精度高的特点,因此本设 计电路采
12、用方案 2。 2.32.3 各部分电路方案论证各部分电路方案论证 本电路以单片机为基础核心,系统由前向通道模块、后向控制模块、系统主模块及键盘 显示摸块等四大模块组成。现将各部分主要元件及电路做以下论证: (1)温度采样部分方案 1:采用热敏电阻,可满足 35-95的测量范围,但热敏电阻 精度、重复性和可靠性都比较差,对于检测精度小于 1的温度信号是不适用的。 方案 2:采用温度传感器 AD590。:AD590 具有体积小、质量轻、线形度好、性能稳定等 优点。其测量范围在-50- +150,满刻度范围误差为0.3,当电源电压在 510V 之 间,稳定度为 1时,误差只有0.01,其各方面特性都
13、满足次系统的设计要求。此外 AD590 是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助。 经上述比较,方案 2 明显优于方案 1,故选用方案 2。 (2)键盘显示部分 控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接 影响到电路的好坏。 方案 1:采用可编程控制器 8279 与数码管及地址译码器 74LS138 组成,可编程/显示器 件 8279 实现对按键的扫描、消除抖动、提供 LED 的显示信号,并对 LED 显示控制。用 8279 和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。 方案 2:采用单片机 AT2051 与地址译码器 74LS13
14、8 组成控制和扫描系统,并用 2051 的 串口对主电路的单片机进行通信,这种方案既能很好的控制键盘及显示,又为主单片机大大 的减少了程序的复杂性,而且具有体积小,价格便宜的特点。 对比两种方案可知,方案 1 虽然也能很好的实现电路的要求,但考虑到电路设计的成本 和电路整体的性能,我们采用方案 2。 (3)控制电路部分方案 1:采用 8031 芯片,其内部没有程序存储器,需要进行外部扩 展,这 给电路增加了复杂度。 方案 2:本方案的 CPU 模块采用 2051 芯片,其内部有 2KB 单元的程序存储器,不需外部 扩展程序存储器。但由于系统用到较多的 I/O 口,因此此芯片资源不够用。 方案
15、3:采用 AT89C51 单片机,其内部有 8KB 单元的程序存储器,不需外部扩展程序存 储器,而且它的 I/O 口也足够本次设计的要求。 比较这 3 种方案,综合考虑单片机的各部分资源,因此此次设计选用方案 3。 3 3 硬件电路设计与计算硬件电路设计与计算 本电路总体设计包括四部分:主机控制部分(89C51)、前向通道(温度采样和转换电路) 、后向通道(温度控制电路)、键盘显示部分。 3.13.1 温度采样和转换电路温度采样和转换电路 系统的信号采样和转换电路主要由温度传感器 AD590、基准电压 7812、运算放大器 OP- 07 及 A/D 转换电路 ADC0804 四部分组成。设计电
16、路图如图 3-1 所示: 控制器被控对象 s(k)e(k)u(k)y(k) 图 3-1 温度采样和转换电路原理 设:P 为当前温度下的功率,为电热器功率 500W, 0 P 0 0 tt18.0 C P=P tt18.0 C (t-t) 10ms P=100% P tms 目标当前 目标当前 目标当前 目标 (270-) (1) AD590 性能描述 测量范围在-50-+150,满刻度范围误差为0.3,当电源电压在 510V 之间,稳 定度为 1时,误差只有0.01 。AD590 为电流型传感器温度每变化 1其电流变化 1uA 在 35和 95时输出电流分别为 308.2uA 和 368.2u
17、A。 5V R4 51K R2 2K R1 2K R3 100 Pt100 110.12 R5 3K 5V U2A LM324N 输出 (2)基准电压 7812 提供 12V 标准电压,它与运算放大器 OP-07 和电阻组成信号转换与 放大电路,将 35-95的温度转换为 05V 的电压信号。 (3)ADC0804 性能描述 ADC0804 为 8 位逐次逼近型 A/D 转换器,其输入电压范围在 05v,转换速度为 100us, 转换精度为 0.39,对应误差为 0.234。 满足系统的要求。 (4)电路原理及参数计算 温度采样电路的基本原理是采用电流型温度传感器 AD590 将温度的变化量转
18、换成电流量, 再通过 OP-07 将电流量转换成电压量,通过 A/D 转换器 ADC0804 将其转换成数值量交由单片 机处理。三端稳压 7812 作为基准电压,由运放虚短虚断可知运放 OP-07 的反向输入端(2 脚) 的电压为零伏。当输出电压为零伏时(即 U0=Uv),令 7812 的输出电压为 U=12V,OP-07 的 2 脚处为 A 点。 由于系统控制的水温范围为 35-95,所以当输出电压为零伏时 AD590 的输出电流为 308.2uA,因此为了使 Ui 的电位为零,就必须使电流等于 308.2uA,三端稳压 7812 的输出电压 为 12v 所以为 38.94k。 取电阻 R1
19、=30k,R2=20k 的电位器。 又由于 ADC0804 的输入电压范围为 05v,为了提高精度所以令水温为 95时 ADC0804 的输入电压为 5v(即 Uo=5v)。当水温为 95时 AD590 的输出电流为 368.2uA。由方程式得 为 83.33k 因此取 R1=81k,R2=5k 的电位器。 3.23.2 温度控制电路温度控制电路 此部分电路主要由光电耦合器 MOC3041 和双向可控硅 BTA12 组成。采用脉宽调制输出控 制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率。MOC3041 光电耦 合器的耐压值为 400v,它的输出级由过零触发的双向可控硅构成。
20、它控制着主电路双向可控 硅的导通和关闭。100 电阻与 0.01uF 电容组成双向可硅保护电路。 3.33.3 单片机控制部分单片机控制部分 此部分是电路的核心部分,系统的控制采用了单片机 AT89C51。单片机 AT89C51 内部有 8KB 单元的程序存储器及 256 字节的数据存储器。因此系统不必扩展外部程序存储器和数据 存储器这样大大的减少了系统硬件部分。 3.43.4 键盘及数字显示部分键盘及数字显示部分 在设计键盘/显示电路时,我们使用单片机 2051 作为电路控制的核心,单片机 2051 具有 一个全双工的串行口采用串口,利用此串行口能够方便的实现系统的控制和显示功能。键盘 电路
21、如图 3-2 所示 R2 472 1SCL PA6/I2C KEY-INT PG2 PD1 VCC DIG0 6 DIG1 5 DIG2 4 DIG3 3 DIG4 22 DIG5 21 DIG6 12 DIG7 13 SE G_A 23 SE G_B 24 SE G_C 1 SE G_D 2 SE G_E 7 SE G_F 8 SE G_G 9 SE G_H 10 VCC 16 OSC2 18 OSC1 17 /RES 15 SCL 19 SDA 20 /INT 14 GND 11 ZL G7290 Component_1 VCC DIG0 SE G0 DIG1 SE G1 DIG2 SE
22、G2 DIG3 SE G3 DIG4 SE G4 DIG5 SE G5 DIG6 SE G6 DIG7 SE G07 J1 16PIN R1 472 C2 22P 6.0MC XTAL C1 22P 1SDA PA7/I2C 1 2 3 4 5 6 7 8 9 10 J2 KEY K1 F1 K2 F2 K3 F3 K4 F4 K5 F5 K6 1 K7 2 K8 3 K9 4 K10 5 K11 6 K12 7 K13 8 K14 9 K15 0 K16 + K17 - K18 UP K19 * K20 - K21 取取 K22 LEFT K23 DOWN K24 RIGHT K25 取取
23、DIG0 DIG1 DIG2 DIG3 DIG4 SEG4 SEG5 SEG6 SEG3 图 3-2 键盘电路图 图 3-2 中单片机 2051 的 P1 口接数码管的 8 只引脚,这样易于对数码管的译码,使数码 管能显示设计者所需的各数值、符号等等。单片机 2051 的 P3.3、P3.4、P3.5 接 3-8 译码器 74L138,译码器的输出端直接接八个数码管的控制端和键盘,键盘扫描和显示器扫描同用端 口这样能大大的减少单片机的 I/O,减少硬件的花费。键盘的接法的差别直接影响到硬件和 软件的设计,考虑到单片机 2051 的端口资源有限,所以我们在设计中将传统的 4*4 的键盘接 成 8
24、*2 的形式(如图 3-2),键盘的扫描除了和显示共用的 8 个端外,另外的两个端直接和 2051 的 P3.2 和 P3.7 相连。 4 4 实验测试实验测试 4.14.1 循环显示循环显示“HELLO888”“HELLO888” 编一小程序,实现数码管循环显示“HELLO888” 。源程序如下: 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 ACA
25、LL 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 4.24.2 键盘及数字显示结合键盘及数字显示结合 编一小程序,实现键盘及数字显示结合按键盘 1 数码管显示 1,按键盘 2 数码管显 示 3,按键盘
26、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 LL:ACALL HH ACALL L0 ACALL L2 ACALL L3 ACALL L4 ACALL L5 ACALL L7 SJMP LL CLR P3.4 CLR P3.3 H0
27、:JB P3.2,Y0 SJMP H0 Y0:MOV P1,#88H ACALL HH SJMP LL E0:JB P3.7,F0 SJMP E0 ACALL HH SJMP LL L1:CLR P3.5 CLR P3.4 SETB P3.3 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 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
28、,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 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.7,E4 RET
29、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 ACALL HH LJMP LL E5:JB P3.7,F5 SJMP E5 ACALL HH LJMP LL L6:SETB P3.5 SETB P3.4 CLR P3.3 JNB P3.2,H6 JNB P3.7,E
30、6 RET H6:JB P3.2,Y6 SJMP H6 Y6:MOV P1,#89H ACALL HH LJMP LL 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 M
31、OV 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.34.3 温度设定和传送电路温度设定和传送电路 编一小程序,实现
32、温度设定和传送电路 程序 1-方式 2 两位设定就不可的 FLAGA BIT 2AH.0 FLAGB BIT 2AH.1 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,#B MOV SCON
33、,#B ANL PCON,#B 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
34、.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 键 JN
35、B FLAGB, S3 CLR FLAG2 CLR FLAG1 SETB FLAG0 JB P3.2 ,NEXT2 LCALL DELAY JB P3.2 ,NEXT2 JNB P3.2 ,$ JB FLAGA ,WW2 SETB FLAGA LJMP NEXT2 WW2: MOV GUAN6 ,#01H CLR FLAGB NEXT2: 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
36、 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 LJ
37、MP 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 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
38、 ,MM4 MOV GUAN7,#08H SETB FLAGA LJMP ONE4 MM4: LR FLAGB ONE4: LJMP S5 S5:;- -4,9 键 JNB FLAGB ,S6 SETB FLAG2 CLR FLAG1 CLR FLAG0 LCALL DELAY JB P3.2, NEXT5 JNB P3.2 ,$ JB FLAGA ,WW5 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 FLAG
39、A ,MM5 SETB FLAGA SETB FLAGB LJMP ONE5 MM5: MOV GUAN6 ,#09H ONE5: LJMP S6 S6:;- -设定键,清除(零)键 SETB FLAG2 CLR FLAG1 SETB FLAG0 JB P3.2 ,NEXT6 LCALL DELAY JB P3.2,NEXT6 JNB P3.2 ,$ NEXT6: JB P3.7 ,ONE6 LCALL DELAY JB P3.7 ,ONE6 JNB P3.7 ,$ MOV GUAN6,#00H CLR FLAGA SETB FLAGB ONE6: LJMP S7 SETB FLAG2 SET
40、B FLAG1 CLR FLAG0 JB P3.2 ,NEXT7 LCALL DELAY JB P3.2,NEXT7 JNB P3.2 ,$ CLR FLAGB MOV B,#0AH MOV A,GUAN6 MUL AB ADD A,GUAN7 MOV SBUF,A JNB TI,$ CLR TI SETB ES RET ;- -显示扫描子程序 SHOW: ;-guan8 SETB FLAG0 SETB FLAG1 SETB FLAG2 MOV P1,#0CEH ACALL DELAY2 ;-guan7 SETB FLAG1 SETB FLAG2 MOV A ,GUAN7 MOVC A,A+D
41、PTR MOV P1,A ACALL DELAY2 ;-guan6 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 MOV P1,A ACAL
42、L DELAY2 ;-guan2 SETB FLAG0 CLR FLAG1 CLR FLAG2 MOV A ,GUAN2 MOVC A,A+DPTR MOV P1,A ACALL DELAY2 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 GUAN3,B POP PSW POP ACC RETI DELAY: ;- -消抖延时程序 6MS DL2:MOV R1,#7DH DL1
43、: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 92H,82H,0F8H,80H,90H 4.4PWM4.4PWM 电压输出电路电压输出电路 编一小程序,实现 PWM 电压自动可调宽度脉冲波输出电路。 ORG 0000H AJMP MAIN ORG 000BH AJMP CTC_INT ORG 0030H MAIN: MOV TMOD,#01H MOV T
44、H0,#3CH MOV TL0,#0B0H SETB TR0 SETB EA SETB ET0 WAIT: SJMP WAIT CTC_INT: PUSH ACC PUSH PSW CLR TR0 SETB POUT CLR C 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
45、,#0FFH MOV TL0,A MOV A,TH0 ADDC A,#0FH MOV TH0,A SETB OUTBIT CTC_OUT: SETB TR0 POP PSW POP ACC RETI 结束语结束语 本次基于单片机的水温控制系统系统是以 AT89C51 为核心,采用软件编程,实现用 PID 算法来控制 PWM 波的产生,进而控制电炉的加热来实现温度控制。在系统的软硬件调试 过程中,不断地有问题出现,如 OP-07、ADC0804 会发烫,串行通信,但是在老师和同学的 指导和帮助下,通过电路检查、原理分析、程序修改等工作,这些问题都一一得到了解决, 所以在这次调试过程中,我们学到了很多知识,同时也大大地提高了我们的实际动手能力, 这对我们以后的系统设计会有很大的帮助。同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【8英YL期中】蚌埠市怀远县等3地2024-2025学年八年级下学期期中考试英语试题
- 《数据科学基础》课件
- 中国新质生产力驱动
- 2025年山南a2货运从业资格证考试
- 武汉民政职业学院《二次接线》2023-2024学年第二学期期末试卷
- 昆明铁道职业技术学院《纳税筹划与实务》2023-2024学年第二学期期末试卷
- 新疆应用职业技术学院《临床微生物学检验技术》2023-2024学年第二学期期末试卷
- 江西省赣州寻乌县第二中学2025年高三3月初态测试历史试题试卷含解析
- 邵阳职业技术学院《印度社会专题》2023-2024学年第二学期期末试卷
- 碾子山区2025届数学五下期末复习检测试题含答案
- 儿童抑郁量表CDI
- 马克思主义新闻观十二讲之第八讲坚持新闻真实原则课件
- 工艺管道伴热管施工技术方案
- 各层次养老机构定价方法及案例
- 二方审核计划
- 优秀病例演讲比赛PPT
- 吉林省矿产资源概况及分布
- 最新肺结核诊断和治疗指南
- 公司员工基本礼仪培训ppt完整版课件
- 工程项目综合应急预案(通用版)
- 半桥LLC谐振变换器设计与仿真
评论
0/150
提交评论