第三节 数据处理指令及应用
-
Upload
madrona-escovado -
Category
Documents
-
view
99 -
download
0
description
Transcript of 第三节 数据处理指令及应用
第三节 数据处理指令及应用
四则及逻辑运算指令
移位控制指令
数据处理指令
1 、加法指令 ADD
二进制加法: [S1·] + [S2·] [D·]
3 个常用标志: M8020 零标志 M8021 借位标志 M8021 进位标志
四则运算指令
2 、减法指令 SUB
二进制减法: [S1·] - [S2·] [D·]
标志位的动作与加法指令相同
3 、乘法指令 MUL
二进制乘法: [S1·] ×[S2·] [D·]
16 位: [D0] ×[D2] [D5 、 D4]
32 位: [D1 、 D0] ×[D3 、 D2] [D7 、 D6 、 D5 、 D4]
4 、除法指令 DIV
二进制除法: [S1·] ÷ [S2·] [D·]
16 位: [D0] ÷[D2] 商 [D4] ,余数 [D5]
32 位: [D1 、 D0] ÷[D3 、 D2] 商 [D5 、 D4] 余数 [D7 、 D6]
使用举例 四则运算
( 38X/255 ) +2
X 代表输入端口 K2X0 送入的二进制数运算结果需送输出端口 K2Y0X020 为起停开关
使用举例 移位控制
用乘除法指令实现灯组的移位循环。
有一组灯 15 个,接于 Y0~Y16要求:当 X0 为 ON ,灯正序每隔 1s 单个移位,并循环; 当 X1 为 ON 且 Y0 为 OFF 时,灯反序每隔 1s 单个 移位,至 Y0 为 ON ,停止。
M8013 : 1s 时钟,每 1s 发一脉冲
使用举例
设计公共汽车班车发车打铃信号,要求每隔 5 分钟打一次铃,每次持续半分钟。
启动按钮 X1 ,打铃 Y0
5 、加 1 指令 INC
二进制加 1 : [D·] + 1 [D·]
6 、减 1 指令 DEC
二进制减 1 : [D·] - 1 [D·]
使用举例 彩灯控制
用加 1 、减 1 指令及变址寄存器完成。
12 盏彩灯,正序亮至全亮、反序熄至全熄,循环。彩灯状态变化的时间单位为 1s ,用 M8013 实现。
开关: X1灯: K4Y0M8034 :禁止所有输出M8013 : 1s 时钟,每 1s 发一脉冲
7 、逻辑字与、或、异或,求补码指令 AND 、 OR 、 XOR 、 NEG
逻辑运算指令
移位控制指令
循环移位指令
移位指令
先进先出 FIFO 指令(写入、读出)
移位控制指令
1 、循环移位指令 ROR 、 ROL
X0 由 OFF ON 时, [D·] 内各位数据向右移 n 位,最后一次从最低位移出的那位存于进位标志 M8022 中
X0 由 OFF ON 时, [D·] 内各位数据向左移 n 位,最后一次从最高位移出的那位存于进位标志 M8022 中
2 、位右移、位左移指令 SFTR 、 SFTL
对 n1 位 [D·] 所指定的位元件进行 n2 位 [S·] 所指定的位元件的位右移
对 n1 位 [D·] 所指定的位元件进行 n2 位 [S·] 所指定的位元件的位左移
3 、先进先出( FIFO )的写入和读出指令 SFWR 、 SFRD
将 [S·] 所指定的 D0 的数据存储在 D2 内, [D·] 所指定的指针D1 的内容成为 1
将 D2 的数据传送到 D20 内,于此同时,指针 D1 的内容减 1 , D3~D10 的数据向右移
产品的进出库控制
先进先出控制指令应用于某仓库产品进出登记控制
产品地址号为 4 位以下数字,最大库存量为 99 点以下,采用十六进制数
移位指令应用实例
1 、用移位指令构成顺序控制器,完成下图的控制要求。
2 、用移位指令控制步进电动机运行,此为三相步进电机,采用三相六拍的运行方式,即单、双相通电方式:A-AB-B-BC-C-CA-A…… 。
数据处理指令
区间复位指令
求 ON 位总和指令
ON 位判断指令
平均值指令
数据处理指令
1 、区间复位指令 ZRST
成批复位
2 、求 ON 位总和指令 SUM
3 、 ON 位判断指令 BON
4 、平均值指令 MEAN