单片机位操作指令
51机内部有一个布尔处理器,对位地址空间具有丰富的位操作指令。 ?. 位传送指令
汇编
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
机器码格式 说明
MOV C,bit 10100010,bit C?(bit )
MOV bit,C 10010010,bit (bit )?C
这组指令的功能是将由源操作数指出的布尔变量传送到目的操作数指定的位中去。其中一
个操作数必须是位累加器C,另一个可以是任何可寻址位,不影响其它寄存器和标志。
?. 位变量修改指令 (位状态控制指令)
汇编格式 机器码格式 说明
CLR C 11000011 C?“0”
CLR bit 11000010,bit (bit )?“0”
CPL C 10110011 C?/C
CPL bit 10110010,bit (bit )? /(bit )
SETB C 11010011 C?“1”
SETB bit 11010010 ,bit (bit )?“1”
这组指令将操作数指明的位进行清“0”、取反、置“1”等操作,不影响其它标志。
?. 位逻辑运算指令
汇编格式 机器码格式 说明
ANL C,bit 10000010,bit C?C?(bit )
ANL C,/bit 10110000,bit C?C?(bit ) ORL C,bit 01110010,bit C?C?(bit )
ORL C,/bit 10100000,bit C?C?(bit ) ?. 位条件转移指令
汇编格式 机器码格式 转移条件 说明
JC rel 01000000,bit CY=1 PC?(PC)+rel
JNC rel 01010000,bit CY=0 PC?(PC)+rel
JB bit,rel 00100000,bit,rel (bit)=1 PC?(PC)+rel
JNB bit,rel 00110000,bit,rel (bit)=0 PC?(PC)+rel
JBC bit,rel 00010000,bit,rel (bit)=1 PC?(PC)+rel
(bit)?“0”
因为51机中有11个特殊功能寄存器均可位寻址。所以,以位状态为条件的转移指令,实
际包含了很多种转移条件。
由于51机丰富的位处理指令,使得它具有强大的面向控制的能力。 例:要求三个开关控制一盏灯,任一开关状态的改变,均能改变灯的状态。 设:K1、K2、K3为三个开关,分别接P1.1、P1.2、P1.3 D为灯,接P1.0
则:灯亮的条件为 D = P1.1 * P1.2 * P1.3 + P1.1 * P1.2 * P1.3+ P1.1 * P1.2 * P1.3 + P1.1 * P1.2
* P1.3
程序如下:
CNTR:MOV C,P1.3 ANL C,/P1.2
ANL C,/P1.1 ANL C,/P1.3
ANL C,/P1.2 ORL C,F0
MOV F0,C MOV F0,C
MOV C,P1.2 MOV C,P1.1
ANL C,/P1.1 ANL C,P1.2
ANL C,/P1.3 ANL C,P1.3
ORL C,F0 ORL C,F0
MOV F0,C MOV P1.0,C
MOV C,P1.1 SJMP CNTR
?、空操作指令
汇编格式 机器码格式
NOP 00000000