PIC 中的SM0.1、SM0.0怎么用?

PIC 中的SM0.1、SM0.0怎么用?,第1张

西门子特殊存储器(SM)标志位:

SM0.0-PLC上电运行时,该位始终为1(始终为ON)。

SM0.1-该位在首次扫描时为1,用途之一是调用初始化子程序。

SM0.1、SM0.0是这两个是西门子PLC的特殊存储器。SM0.0:上电后该位始终为1;SM0.1:该位在首次扫描时为1,然后为0,用途之一是调用初始化子程序。

特殊标志继电器(SM) 的使用方法:

特殊标志继电器用“SM”表示,特殊标志继电器区根据功能和性质不同具有位、字节、字和双字 *** 作方式。其中SMB0、SMB1为系统状态字,只能读取其中的状态数据,不能改写,可以位寻址。系统状态字中部分常用的标志位说明如下: SM0.0:始终接通;

SM0.1:首次扫描为1,以后为0,常用来对程序进行初始化;

SM0.2:当机器执行数学运算的结果为负时,该位被置1;

SM0.3:开机后进入RUN方式,该位被置1一个扫描周期;

SM0.4:该位提供一个周期为1分钟的时钟脉冲,30秒为1,30秒为0;

SM0.5:该位提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0;

SM0.6:该位为扫描时钟脉冲,本次扫描为1,下次扫描为0;

SM1.0:当执行某些指令,其结果为0时,将改位置1;

SM1.1:当执行某些指令,其结果溢出或为非法数值时,将改位置1;

SM1.2:当执行数学运算指令,其结果为负数时,将改位置1;

SM1.3:试图除以0时,将改位置1;

S7-200中SM0.0的用法:

1、SM0.0在程序运行时始终为ON。

2、SM0.0是一个无条件的常闭触点,用来启动无条件运行的指令。 只要上电,SM0.0必然是“1”。因此程序中那些不受任何条件限制,必须要执行的指令就用它作为触发触点。PLC-家园 plczone.com

F代表本次 *** 作的寄存器,

在MOVF

20H,

F

这句话里表示吧W寄存器的数据存到地址为20H的空间里.

你可以看看头文件的宏定义里,

F是等于1的,W等于0,

MOVF

20H,

F

其实是对应了MOVF

20H,

1

这句话.

只是为了让程序员写程序的时候好判断,特此在头文件里宏定义了

出现F就表示是1,如果出现W,就表示0.

MOVF

20H,

F

这句话最后的这个位置,

可以写F或W或1或0

ADDWF

f,d

和上面的MOVF

f,d一样,只是这个指令的说明而已.

并不能用在真正的程序里

,或者说它像一个公式

的解释,

你要用MOVF这条指令,

它的结构是MOVF

f,d这样的,

运用的时候,

MOVF不变,把小写f替换成你要 *** 作的寄存器(这里是20H),然后

后面这个小写d

是替换成上面说的

F或W或1或0

或者

这个d的位置可以省略不写.

下面说一下这几个句子的区别,

咱们先假定程序有一个地址在20h的变量TMP

ADDWF

f,d

这只是一个教科书上对这指令的解释,

告诉你f

应该填什么东西,

d应该填什么东西()

ADDWF

TMP,F

这才是程序,意思是吧W寄存器的数值和TMP相加结果存到TMP里,F在这里告诉单片机结果存到TMP里

.

*** 作数是

W寄存器和TMP变量

ADDWF

20H

,F

这和前面那句一样只是

不用TMP,直接用地址来表示变量

ADDWF

20H

,1

这和前面那句一样只是

不用TMP,直接用地址来表示变量,并且F用1表示,

=======分界线,下面的指令和上面的逻辑上不同=============

ADDWF

TMP,W

这个是指W寄存器和TMP变量相加,结果存到W里

,

W在这里表示结果存到W寄存器里

ADDWF

TMP,

1

和前面那句话一样,只是W用1来表示.

ADDWF

TMP

这个是最常用的,如果TMP这个 *** 作数后面的是W或者是0,那么它可以省略掉,跟前面的一个意思

,就是把W和TMP相加,结果存到W里.

ADDWF

20H

同上

综上所述,

这只是一个表述的问题而已.

另外指出一下你的错误

“将f寄存器内容传送至W(d=0)或者(d=1),这是函数的原型!”

这只是指令说明,没有什么函数的,不要把它看成是什么函数。汇编里没有函数的,没有类似数学的函数表达式,也没有C程序的那种函数(在汇编里类似于C函数的叫做“子程序”)

PIC单片机的数据手册对初学者来说不太好理解的,如果还有不懂可以在百度HI里问我,或者发站内信。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11270473.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存