0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

移位指令和循环移位指令的区别 S7-1200移位指令的流水灯控制编程

要长高 来源:网络整理 作者:网络整理 2023-07-26 16:11 次阅读

移位指令和循环移位指令的区别

移位指令和循环移位指令是在计算机体系结构中常见的操作指令,用于对二进制数据进行位级别的移动操作。它们的区别在于移位时对被移位数据的处理方式。

移位指令是将数据沿指定方向进行位移,移出的位被丢弃,移入的位用0填充。移位操作有左移和右移两种形式。左移会使数值乘以2的幂次方,右移则相反。

循环移位指令除了执行普通移位指令的功能外,还具备循环用于处理被移出位的特性。在循环移位中,被移位的位不会丢失,而是重新循环到另一端。循环移位指令通过指定循环方向(左循环或右循环)和循环位数来实现。当移位操作完成后,被移出的位将重新插入到另一端,而不是被丢弃。

循环移位指令常用于位运算、密码学、图形处理等领域,以实现循环位移、循环漏洞等功能。相比之下,普通移位指令更适用于简单的位操作。

移位指令对标志位的影响

移位指令通常会对一些标志位进行设置或更新,这些标志位是用于记录移位操作过程中的一些状态信息。具体影响取决于特定的计算机体系结构和指令集。

常见的标志位包括:

1. 进位标志(Carry Flag):记录移位操作是否导致数据溢出或进位的情况。在右移时,进位标志被设置为最右边被丢弃的位。在左移时,进位标志被设置为最左边被移入的位。

2. 零标志(Zero Flag):指示移位操作后结果是否为零。当移位操作导致结果全为零时,零标志被设置为1;否则,被设置为0。

3. 溢出标志(Overflow Flag):用于记录移位操作是否导致有符号数溢出。这个标志位在不同体系结构中的行为可能有所不同。

4. 符号标志(Sign Flag):记录移位结果的最高有效位(即符号位)。如果结果最高有效位为1,则符号标志被设置为1;如果结果最高有效位为0,则被设置为0。

不同的计算机体系结构可能会有不同的标志位设置方式和命名。因此,具体的影响会依赖于使用的体系结构和指令集。在使用移位指令时,可以查阅相关文档或参考指令集手册以了解具体的标志位操作。

移位指令影响哪些标志位

移位指令通常会对以下标志位进行设置或更新:

1. 进位标志(Carry Flag):在右移操作中,进位标志被设置为被丢弃的最低位;在左移操作中,进位标志被设置为最高位(符号位)。

2. 零标志(Zero Flag):如果移位操作结果为零,则零标志被设置为1,否则被设置为0。

3. 溢出标志(Overflow Flag):在某些体系结构中,移位指令可能会影响溢出标志,但这并不是所有体系结构都具有的特性。因此,在具体的体系结构中,需要参考相关的文档或指令集手册以确定移位指令对溢出标志的影响。

4. 符号标志(Sign Flag):在左移操作中,符号标志被设置为移位结果的最高位(符号位)。如果最高位为1,则符号标志被设置为1;如果最高位为0,则被设置为0。

具体的影响会因计算机体系结构和指令集的不同而有所差异。因此,在实际应用中,应该根据所使用的体系结构和指令集来确定移位指令对标志位的影响。

S7-1200 PLC循环移位指令做流水灯控制

循环移位指令(CIRC)可以用来实现流水灯控制。以下是一个基本的例子 ,使用S7- 1200 PLC ,控制8个LED灯的流水灯效果。

1.铣,在PLC中进行硬件配置,将8个LED灯连接到PLC的8个输出口上。

2.在TIA Portal中创建- -个新的S7-1200项目 ,并创建一个程序块。

3.在程序块中定义一个8位的变量Byte1 , 表示8个LED灯的状态。

4.在主程序中使用循环语询,循环执行以下操作:

(1)将Byte1变量左移一位,并将最高位的值存储到最低位。

(2)将Byte1变量输出到PL C的8个输出口,控制ED灯的亮灭。

(3)延时一段时间,以控制流水灯的速度。

5.编译程序,并上传到PLC中运行。

下面是一一个简单的S7-1200 PL C程序示例,实现8个LED灯的流水灯效果:

wKgZomTA1LqARenIAACTjVr1Xp8617.png

在上面的程序中, CIRC指令将Byte1变量左移- -位 ,并将最高位的值存储到最低位。例如,如果Byte1的值是0000001(= -进制) ,执行

CIRC指令后, Byte 1的值变成0000010(二进制)。

BOOL_ _TO_ _BYTE和BYTE_ TO_ _BOOL函数可以将BOOL类型和BYTE类型之间进行转换。例如, BYTE_ TO_ _BOOL(Byte1.0)将Byte1变量

的最低位转换为BOOL类型,并将其输出到Q0.0输出口上。

最后,使用TON_ Delay指令实现延时一-段时间,以控制流水灯的速度。例如,设置PT参数为T#1S ,表示延时1秒。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4975

    文章

    12261

    浏览量

    454966
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59117
  • 移位指令
    +关注

    关注

    0

    文章

    8

    浏览量

    6496
  • 编译程序
    +关注

    关注

    0

    文章

    12

    浏览量

    4107
  • S71200
    +关注

    关注

    0

    文章

    14

    浏览量

    3485
收藏 人收藏

    评论

    相关推荐

    SIMATIC 移位循环指令

    字节左移位指令 (SLB) 或右移位指令 (SRB) 把输入字节 (IN) 左移或右移N 位后再把结果输出到 OUT 字节移位指令对移出位自动补零如果所需移位次数N 大于或等于8 那么
    发表于 05-14 00:50 10次下载

    MCS-51逻辑运算及移位指令

    逻辑运算和移位指令共有25条,有与、或、异或、求反、左右移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。这类指令一般不影响程序状态字(PSW)标志。&nb
    发表于 04-03 22:44 2008次阅读

    逻辑运算与移位指令

    逻辑运算与移位指令:8086/8088CPU的指令系统提供8位和16位的逻辑运算与移位指令有3组。 逻辑运算指令 AND/OR/XOR/NOT/TEST
    发表于 07-03 23:52 0次下载

    三菱FX系列PLC编程实例视频教程全集part4(31-40集)

    本文包括三菱FX系列PLC编程实例视频教程(31-40集),全文共有十个视频 31、循环移位指令ROR、ROL 32、带进位循环移位指令RC
    发表于 09-26 16:54 4101次阅读

    编程控制器实验教程之移位指令实验

    编程控制器实验教程之移位指令实验,很好的学习资料。
    发表于 04-19 13:57 0次下载

    移位指令循环移位指令应用

    S7-200PLC视频教程
    发表于 11-10 17:05 0次下载

    plc移位寄存器指令的应用

    编程序控制器(PLC)是以自动控制技术、微计算机技术和通信技术为基础发展起来的新一代工业控制装置。PLC 广泛应用于逻辑控制、顺序控制等方
    发表于 12-22 10:13 1.8w次阅读
    plc<b class='flag-5'>移位</b>寄存器<b class='flag-5'>指令</b>的应用

    三菱PLC的经典编程案例和基本电路编程等详细资料免费下载

    本文档的主要内容详细介绍的是三菱PLC的经典编程案例和基本电路编程等详细资料免费下载还介绍了功能指令 循环移位
    发表于 08-24 08:00 37次下载
    三菱PLC的经典<b class='flag-5'>编程</b>案例和基本电路<b class='flag-5'>编程</b>等详细资料免费下载

    MCS-51单片机的指令系统和寻址方式有哪些

    MCS-51单片机指令系统按功能可分为5类: (1)数据传送指令 (2)算术运算指令 (3)逻辑运算和移位指令 (4)控制
    发表于 03-20 14:31 5416次阅读
    MCS-51单片机的<b class='flag-5'>指令</b>系统和寻址方式有哪些

    移位指令的作用是什么

    移位指令将字节、字或双字中的二进制数左移或右移若干位。如果对有符号的字和双字操作,符号位也被移位。对于不同的PLC,移出的最后一位的数值存放在溢出位或进位标志位。
    的头像 发表于 04-19 09:55 8551次阅读
    <b class='flag-5'>移位指令</b>的作用是什么

    三菱PLC移位指令

    移位指令都是对无符号数进行的处理,执行时只考虑要移位的存储单元中每一位数字的状态,而不管数字的大小(要么为0,要么为1),本类指令在一个输出点对应多个相对固定状态的情况下有广泛的应用。
    发表于 10-06 16:38 7926次阅读

    PLC移位指令的工作原理

      移位指令分为两种,分别为左移位指令和右移位指令。该指令是指在满足使能条件的情况下,将IN中的数据向左移或向右移N位后,把结果送到OUT的指定地址。
    的头像 发表于 09-09 09:48 3362次阅读

    PLC循环移位指令的工作原理

    循环移位指令分为两种,分别为循环移位指令循环移位指令。该
    的头像 发表于 09-14 16:10 4436次阅读

    PLC移位寄存器指令的工作原理

    移位寄存器指令移位长度和移位方向可调的移位指令,在顺序控制、物流及数据流
    的头像 发表于 09-15 11:46 4307次阅读

    PLC移位寄存器指令应用举例

    位移寄存器中的N是移位总的长度,即一共移动了多少位;左右移位循环指令中的N是每次移位的长度。
    的头像 发表于 09-16 09:33 2737次阅读