330 likes | 450 Views
第三节 数据处理指令及应用. 四则及逻辑运算指令 移位控制指令 数据处理指令. 四则运算指令. 1 、加法指令 ADD. 二进制加法: [S1·] + [S2·] [D·]. 3 个常用标志: M8020 零标志 M8021 借位标志 M8021 进位标志. 2 、减法指令 SUB. 二进制减法: [S1·] - [S2·] [D·]. 标志位的动作与加法指令相同. 3 、乘法指令 MUL. 二进制乘法: [S1·] ×[S2·] [D·].
E N D
第三节 数据处理指令及应用 • 四则及逻辑运算指令 • 移位控制指令 • 数据处理指令
四则运算指令 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送入的二进制数 运算结果需送输出端口K2Y0 X020为起停开关
使用举例 移位控制 用乘除法指令实现灯组的移位循环。 有一组灯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 灯:K4Y0 M8034:禁止所有输出 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·]所指定的位元件对n1位[D·]所指定的位元件进行n2位[S·]所指定的位元件 的位左移
3、先进先出(FIFO)的写入和读出指令SFWR、SFRD3、先进先出(FIFO)的写入和读出指令SFWR、SFRD 将[S·]所指定的D0的数据存储在D2内,[D·]所指定的指针 D1的内容成为1
将D2的数据传送到D20内,于此同时,指针D1的内容将D2的数据传送到D20内,于此同时,指针D1的内容 减1,D3~D10的数据向右移
产品的进出库控制 先进先出控制指令应用于某仓库产品进出登记控制 产品地址号为4位以下数字,最大库存量为99点以下,采用十六进制数
移位指令应用实例 1、用移位指令构成顺序控制器,完成下图的控制要求。
2、用移位指令控制步进电动机运行,此为三相步进电机,采用三相六拍的运行方式,即单、双相通电方式:A-AB-B-BC-C-CA-A……。
数据处理指令 数据处理指令 • 区间复位指令 • 求ON位总和指令 • ON位判断指令 • 平均值指令
1、区间复位指令ZRST 成批复位