查看: 98|回复: 1

[经验分享] 每日一帖 | 第十六天 位操作指令

[复制链接]

21

主题

0

好友

564

积分

举人

Rank: 4

  • TA的每日心情
    奋斗
    前天 07:07
  • 签到天数: 88 天

    [LV.6]常住居民II

    发表于 2016-8-19 03:39:00 来自手机 |显示全部楼层
    位操作指令

    位操作指令
    MCS-51单片机的特色之一是具有很强的位处理功能。位操作指令又称为布尔指令,其功能是对内部RAM中可进行位操作的区域进行位操作。
    在进行位操作时,位累加器C即进位标志Cy,位地址是片内RAM字节地址20H~2FH单元中连续的128个位(位地址00H~7FH)和部分功能
    寄存器。凡SFR中字符等地址能被8整除的特殊功能寄存器都具有可寻址的位地址,其中ACC(位地址E0H~E7H),B(位地址F0H~F7H)和片内
    RAM中128个位都可作软件标志或存储位变量。
    1. 位数据传送类指令(2条)
    MOV   C , bit      ;(bit) →C,寻址位的状态送入C
    MOV   bit , C      ;C→(bit),C的状态送入位地址中
    2. 位修正指令(6条)
    CLR  C        ;0→C, 清0累加器
    CLR  bit    ;0→(bit);清0寻址位
    CPL  C        ;/C→C,取反
    CPL  bit       ;(/bit) →(bit),寻址位取反
    SETB   C       ;1→C,C置1
    SETB   bit       ;1→ (bit),寻址位置1
    3. 位逻辑运算指令(4条)
    ANL  C , bit   ;C∩(bit) →C,寻址位和C“与”,结果放在C
    ANL  C , /bit      ;C∩(/bit) →C,寻址位的非和C“与”,结果放在C
    ORL  C , bit   ;C∪(bit) →C,寻址位和C“或”,结果放在C
    ORL  C , /bit      ;C∪(bit) →C,寻址位和C的非“或”,结果放在C
    4. 位条件转移指令(5条)
    JC   rel    ;C=1转向PC+2+rel→PC
    C=0顺序执行PC+2→PC
    JNC  rel       ;C=0转向PC+2+rel→PC
    C=1顺序执行PC+2→PC
    JB   bit , rel         ;(bit) =1转向PC+3+rel→PC
    (bit) =0顺序执行PC+3→PC
    JNB  bit , rel      ;(bit) =0转向PC+3+rel→PC
    (bit) =1顺序执行PC+3→PC
    JBC  bit , rel      ;(bit) =1转向PC+3+rel→PC;同时0→(bit)
    (bit) =0顺序执行PC+3→PC
    注意:JBC与JB指令区别,前者转移后并把寻址位清0,后者只转移不清0寻址位。
    例1 设P1为输入口,P3.0作输出线,执行下列指令:
    MOV   C , P1.0       ;(P1.0) →C
    ANL   C , P1.1       ;(C)∩(P1.1) →C
    ANL   C , /P1.32   ;(C)∩(/P1.2) →C
    MOV   P3.0 , C        ;C→P3.0
    结果是:P3.0=(P1.0) ∩(P1.1) ∩(/P1.2)
    例2  用位操作指令编程计算逻辑方程
    P1.5=ACC.0 ∩ (B.0∪P1.2) ∪P1.3
    解:     MOV  C , B.0       ;B.0→C
    ORL  C , P1.2       ;C∪P1.2→C  即B.0+P1.2→C
    ANL  C , ACC.0  ;C∩ACC.0→C  即ACC.0∩(B.0∪P1.2)→C
    ORL  C , P1.3       ;C∪P1.3→C 即 ACC.0∩(B.0∪P1.2)∪P1.3→C
    MOV  P1.5 , C       ;C→P1.5
    回复

    使用道具 举报

    无效楼层,该帖已经被删除
    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-6 22:04 , Processed in 0.148419 second(s), 10 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部