赞助论坛
  • 5610阅读
  • 0回复

MCS-51布尔变量操作指令 [复制链接]

楼层直达
admin  

级别: Admin
发帖
4665
精华
9
金币
1066
威望
33
贡献
187
好评
97
注册
2008-01-05
楼主    admin 发表于: 2008-01-17 00:36:51 
布尔处理功能是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。