前言:
此刻小伙伴们对“c语言中1取反”大概比较珍视,姐妹们都想要学习一些“c语言中1取反”的相关文章。那么小编同时在网上收集了一些关于“c语言中1取反””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!今天我们通过一个案例来学习取反及传送指令,让你的编程工作达到事半功倍的效果,我们先来了解这两个指令的概念。
取 反:
将逻辑运算结果进行反转,如运算结果是0101,反转后输出就是1010。
传 送:
将数据值从源(常数或存储单元)IN 传送到新存储单元 OUT,而不会更改源存储单元中存储的值。主要应用于数值传递、存储单元清零,程序初始化。
案例要求:
控制八个指示灯交替输出,先输出1、3、5、7号指示灯,再输出2、4、6、8号指示灯,两组指示灯的输出间隔是1S。
元件说明:
Q0.0 1号指示灯。
Q0.1 2号指示灯。
Q0.2 3号指示灯。
Q0.3 4号指示灯。
Q0.4 5号指示灯。
Q0.5 6号指示灯。
Q0.6 7号指示灯。
Q0.7 8号指示灯。
指令说明:
First_Scan_On:在第一个扫描周期,CPU 将该位设置为 TRUE,此后将其设置为 FALSE。该位的一个用途是调用初始化子例程。
Clock_1s:该位提供一个时钟脉冲。周期时间为一秒时,该位有 0.5 秒的时间为 FALSE,然后有 0.5 秒的时间为 TRUE。该位可简单轻松地实现延时或提供一秒钟时钟脉冲。
MOV_B:字节传送;
INV_B:字节取反;
程序说明:
PLC上电后的第一个扫描周期对QB进行赋值,将二进制数01010101传送给QB0,QB0对应输出Q0.0、Q0.2、Q0.4、Q0.6四个输出位,对应1、3、5、7号指示灯点亮。
利用一秒时钟脉冲的上升沿对QB的运算结果进行取反,上条指令输出的是Q0.0、Q0.2、Q0.4、Q0.6四个输出位,那么取反后输出的就是Q0.1、Q0.3、Q0.5、Q0.7四个输出位,对应2、4、6、8号指示灯点亮。
当下个一秒时钟脉冲的上升沿再次到来时,QB0再次取反,如此反复循环,就可以实现两组指示灯的交替点亮。
标签: #c语言中1取反