常用控制程序设计

上传人:平*** 文档编号:47576009 上传时间:2018-07-03 格式:PPT 页数:174 大小:1.68MB
返回 下载 相关 举报
常用控制程序设计_第1页
第1页 / 共174页
常用控制程序设计_第2页
第2页 / 共174页
常用控制程序设计_第3页
第3页 / 共174页
常用控制程序设计_第4页
第4页 / 共174页
常用控制程序设计_第5页
第5页 / 共174页
点击查看更多>>
资源描述

《常用控制程序设计》由会员分享,可在线阅读,更多相关《常用控制程序设计(174页珍藏版)》请在金锄头文库上搜索。

1、第三章 常用控制程序设计第三章 常用控制程序设计 v3.1 判断程序设计 v3.2 巡回检测程序设计 v3.3 数字滤波程序设计 v3.4 标度变换程序设计 v3.5 上下限报警处理程序设计 v3.6 LED数码管显示程序设计 v3.7 定时程序设计 v3.8 键盘控制程序设计 v3.9 抗干扰技术 v3.10 电机控制程序设计 v3.11 步进电机控制 第三章 常用控制程序设计3.1 判断程序设计 v3.1.1 算术判断程序 v3.1.2 逻辑判断程序 v3.1.3 标志判断程序 返回本章首页第三章 常用控制程序设计v判断程序就是分支执行程序。程序在执行时, 首先判定给定的条件是否满足,根据

2、判定的结 果(真或假)再执行相应的操作。v例如:在转速控制系统中,电机的恒速运转一 般是通过控制输入电压来实现的,首先检测出 电机的实际转速,再比较电机的实际转速和给 定转速,如果电机的转速低于给定转速,就需 要增加输入电压;如果电机的转速高于给定转 速,就需要降低输入电压。上述功能的执行过 程如图3-1所示。第三章 常用控制程序设计图3-1 判断程序框图检测电机转速是否大于给定转速降低输入电压提高输入电压是否第三章 常用控制程序设计vMCS-51系列的程序状态字(PSW)是一个用 于存储程序运行状态信息的8位寄存器,其位 定义如表3-1所示。其中有些位状态是根据程 序运算结果由硬件自动设置;

3、而有些位状态则 是通过软件设定的。PSW的位状态可通过指 令读出,以实现程序的转移。返回本节第三章 常用控制程序设计3.1.1 算术判断程序v1. 两个8位无符号数比 较 v2. 两个16位无符号数比 较 v3. 两个8位有符号数的 比较 第三章 常用控制程序设计1.两个8位无符号数比较 图3-2 8位无符号数的比较流程框图第三章 常用控制程序设计v vvCLRCY;进位标志清零 vMOVA,M;AMvSUBBA,N;求MNvJZEQU;累加器A=0,则M=N,转EQUvJCLESS;CY=1,有借位,则MN处理程序;无借位,则MN,执行BIG处理 程序vEQU:M=N处理程序vLESS:MN

4、 理程序第三章 常用控制程序设计vHEQU:CLRCY;标志位清零 vMOVA,ML;AMLvMOVR2,NL ;R2NLvSUBBA,R2;低8位比较vJZEQU;A=0,则M=N,转EQUvJCLESS;有借位,则MN处理程序;无借位,执行MN 理程序vEUQ:M=N 处理程序 vLESS:M0,N0, 即两数均为正数。v(2)M0,N0, 即M为负数,N为正数。v(4)MNvFLOW:JBACC.7,BIG;有溢出,且A的最高位为1,则 MNvLESS:MN处理程序 vEUQ:M=N处理程序 vv 返回本节第三章 常用控制程序设计3.1.2 逻辑判断程序 v逻辑判断程序的设计步骤:v(1

5、)读入数据(开关状态或阀门的 位置);v(2)屏蔽不需要的状态位;v(3)与所要求的状态比较;v(4)判断比较结果,选择程序入口 。第三章 常用控制程序设计v例3-1 图3-5中 A、B、C、D表 示4个开关,当 四个开关均闭合 时,顺序执行相 应的程序,否则 ,继续检测。v逻辑判断程序流 程框图如图3-6 所示。 图3-5 开关位置检测图 第三章 常用控制程序设计图3-6 开关状态检测流程图第三章 常用控制程序设计逻辑判断程序清单: v vvCHECK: MOV A,P1;读入开关状态 vANLA,#55H;屏蔽无用位vXRLA,#00H;判断A、B、C、D是否全部闭 合vJNZCHECK;

6、A、B、C、D没全部闭合,继 续检测v;否则顺序执行相应程序 v返回本节第三章 常用控制程序设计3.1.3 标志判断程序 v标志判断的设计 思想是:根据某 一设定的标志单 元(或标志位) 的状态,决定程 序的执行方向。 电机旋转方向控 制程序流程图如 图3-7所示。图3-7 电机旋转方向控制程序流程图第三章 常用控制程序设计电机旋转方向控制程序清单: vFLAGBIT 00H;设定00H为电机旋转方向控制位v v vJBFLAG RIGHT;FLAG=1,转RIGHTvLEFT:;FLAG=0,顺时针旋转控制程序v vRIGHT:;逆时针旋转控制程序v 返回本节第三章 常用控制程序设计3.2

7、巡回检测程序设 计 v3.2.1 概述 v3.2.2 巡回检测举例 返回本章首页第三章 常用控制程序设计3.2.1 概述 v所谓的巡回检测就是对生产过程中的各个参数 按照一定的周期进行检查和测量,检测的数据 通过计算机处理后可以进行显示、打印和报警 等操作。巡回检测程序主要由以下几个方面构 成:v1. 采样周期T的确定 v2. 采样开关通道号的控制 v3. A/D转换 v4. 数据处理 返回本节第三章 常用控制程序设计3.2.2 巡回检测举例 v1. 利用8位A/D转换芯片(ADC0809) v2. 采用12位A/D转换芯片(AD574A) 第三章 常用控制程序设计 1. 利用8位A/D转换芯

8、片( ADC0809)图3-8 炉温巡回检测电路原理图第三章 常用控制程序设计系统的硬件电路介绍: v(1)测量元件和变送 器 v(2)A/D转换电路 v(3)二分频电路 第三章 常用控制程序设计v本程序由系统初始化程序和中 断程序组成。初始化程序完成 中断向量和定时器初值的设定 ;中断程序完成数据采样工作 ,实现对8个通道的巡回检测 。v初始化程序功能:设置定时器 0、外部中断0和外部中断1的 中断程序入口;设置定时器0 的工作方式为方式1,定时时 间为100ms;设置计数单元( 30H)初值。v初始化程序流程框图如图3-9 所示。图3-9 初始化程序流程图第三章 常用控制程序设计 初始化程

9、序清单: vORG0000H vAJMPSTART vORG0003H vAJMPSAMPLE;转采样中断程序 vORG000BH vAJMPTIME0 ;转8秒定时中断程序vORG0013HvAJMPEOC;转EOC中断处理程序vSTART:MOVTMOD,#01H;置定时器0为工作方式1 vMOVTH0,#3CH第三章 常用控制程序设计vMOVTL0,#0B0H;定时器初值设定 vMOV 30H,#00H ;置计数初值vSETBIT0;中断请求信号为脉冲方 式 vSETBIT1;中断请求信号为脉冲方 式 vSETBEX0 ;外部中断0中断允许vSETBET0 ;定时器0中断允许 vSETB

10、EA;开中断vSETBTR0 ;启动定时器vHERE: AJMPHERE;等待中断第三章 常用控制程序设计 定时器中断程序流程框图如图3-10所 示。图3-10 定时器中断程序流程 框图第三章 常用控制程序设计定时器中断程序程序清单: vTIME0:CLREA;关中断vINC30H vMOVA,30H vXRLA,#50H ;判断是否到8秒vJZS_8;8秒定时到,转至S_8vAJMPRECOUN;未到8秒,继续计时vS_8:SETBP3.2;触发外部中断0vNOP vCLRP3.2 vNOPvRECOUN:MOVTH0,#3CH vMOVTL0,#0B0H;设定定时器初值vSETBEA;开中

11、断vRETI;中断返回第三章 常用控制程序设计 数据采样程序流程框图如图3-11所示 。第三章 常用控制程序设计数据采样程序程序清 单: vSAMPLE:SETB 00H;设置标志位 vMOV DPTR,#0F00H;设置通道初值 vMOV R6,#08H;设置通道数 vMOV R7,#05H;设置采样次数 vMOVR0,#40H;设置数据区首址 vTRAN_S:MOVXDPTR,A;启动A/D转换程序流 程图vWAIT:JB00H,WAIT;标志位为1等待A/D转 换完成中断 第三章 常用控制程序设计vSETB00H;置标志位vINCDPTR;通道号加1vINCR0vINCR0vINCR0v

12、INCR0vINCR0;45H为下一通道采样数据存放首址vDJNZR6,#TRAN_S;8个通道采样未完,继续采样vMOVDPTR,#0F00H ;8个通道采样结束,重置通道初值vINCR0;修改采样数据存放地址vDJNZR7,TRAN_S;未完成5次采样,继续v;数据处理程序v.vRETI第三章 常用控制程序设计 2. 采用12位A/D转换芯片(AD574A) v图3-14 AD574A和8031的硬件接口电路图第三章 常用控制程序设计v图3-15 AD574A A/D转换程序流程框图第三章 常用控制程序设计 D574A A/D转换程序清单 : vORG0000HvAJMPSTARTvORG

13、0003HvAJMPSAMPLE;转至数据采样程序vSTART:MOVDPTR,#0000H ;建立AD574A的地址vMOVR0,#40H;设置数据存储初址vSETBEX0;允许外部中断0vSETBIT0;设置外部中断0请求信号方式为脉冲方式vSETBEA;中断允许vMOVX DPTR,A;启动A/D转换vHERE:AJMPHERE;等待中断第三章 常用控制程序设计中断服务程序清单 :vSAMPLE:CLREA;关中断vMOV DPTR,#0002H vMOVXA,DPTR;读A/D转换数据的高8位vMOV R0,A;保存数据vINCR0vINCDPTR vMOVXA,DPTR;读A/D转换

14、数据的低4位vSETB EA;开中断vRETI 返回本节第三章 常用控制程序设计3.3 数字滤波程序设计 v3.3.1 概述 v3.3.2 数字滤波的方 法返回本章首页第三章 常用控制程序设计3.3.1 概述 v和模拟滤波装置相比,数字滤波有以下几个优点:v(1)数字滤波通过程序实现,不需硬件设备,系 统的可靠性较高。v(2)数字滤波可实现多通道共用。v(3)可对低频信号(如0.01Hz)实现滤波。v(4)采用不同的算法和参数就可实现对不同信号 的滤波,使用起来灵活、方便。返回本节第三章 常用控制程序设计3.3.2 数字滤波的方法 v1. 程序判断滤波 v2. 中值滤波 v3. 算术平均滤波

15、v4. 加权平均滤波 v5. 一阶滞后滤波 v6. 防脉冲干扰平均值法 第三章 常用控制程序设计1. 程序判断滤波 v限幅滤波就是把相邻的两次采样值相减,求出其增 量(以绝对值表示),然后与两次采样允许的最大偏 差值(由被控对象的实际情况决定) y进行比较, 如果小于等于y,则取本次采样值;如果大于y ,则仍取上次采样值作为本次采样值。v即:vYn-Yn-1y, 则Yn=Yn , 取本次采样值vYn-Yn-1 y, 则Yn=Yn-1 ,取上次采样值 (3 -1)第三章 常用控制程序设计v限幅滤波程序流程框图如图3-16所示。图3-16 限幅滤波程序流程框图第三章 常用控制程序设计 限幅滤波程序程序清单 : vPUSHPSW ;保护现场vPUSH A vCLRC;进位标志位清零vMOV DATA,DATA2 vMOV A,DATA1vSUBB A,DATA;求Yn-1 -YnvJNCCOMPARE;如果Yn-1 -Yn0,转COMPAREvCPLA;如果Yn-1 -Yny, DATA1DATAvOVER:POPA;恢复现场 vPOPPSWvRET;返回第三章 常用控制程序设计限速滤波的滤波原理如下:v设在顺序采样时刻T1、T2、T3所采集的数 据分别为Y

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号