您现在的位置是:首页 > 单片机

MCS-51布尔变量操作指令

2019-12-26 18:15:34

布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。布尔变量也即开关变量,它是以位(bit)为单位进行操作的。

    在物理结构上,MCS-51单片机有一个布尔处理机,它以进位标志做为累加位,以内部RAM可寻址的128个为存储位。

    既然有布尔处理机功能,所以也就有相应的布尔操作指令集,下面我们分别谈论。

    [1]. 位传送指令(2条)
    位传送指令就是可寻址位与累加位CY之间的传送,指令有两条。

        MOV  C,bit        ;bit→CY,某位数据送CY

        MOV  bit,C        ;CY→bit,CY数据送某位

    [2]. 位置位复位指令(4条)
    这些指令对CY及可寻址位进行置位或复位操作,共有四条指令。

        CLR  C           ; 0→CY,清CY

        CLR  bit          ; 0→bit,清某一位

        SETB  C          ; 1→CY,置位CY

        SETB  bit         ; 1→bit,置位某一位

    [3]. 位运算指令(6条)
    位运算都是逻辑运算,有与、或、非三种指令,共六条。

        ANL  C,bit        ;(CY)∧(bit)→CY

        ANL  C,/bit        ;(CY)∧()→CY

        ORL  C,bit        ;(CY)∨(bit)→CY

        ORL  C,/bit        ;(CY)∧()→CY

        CPL  C           ;()→CY

        CPL  bit          ;()→bir

    [4]. 位控制转移指令(5)
    位控制转移指令是以位的状态作为实现程序转移的判断条件,介绍如下:

        JC  rel            ; (CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

        JNC  rel          ; (CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

        JB  bit, rel        ; 位状态为1转移。

        JNB  bit, rel       ; 位状态为0转移。

        JBC  bit, rel       ; 位状态为1转移,并使该位清“0”。

    后三条指令都是三字节指令,如果条件满足,(PC)+3+rel→PC,否则程序往下执行,(PC)+3→PC。
[ 完 ]