这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 位操作指令

共1条 1/1 1 跳转至

位操作指令

高工
2013-10-25 16:15:02     打赏

位操作指令

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




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]