位操作类指令的功能是对单片机内部存储器的位单元进行操作。位操作类指令有数据位传送指令、位变量修改指令、位变量逻辑指令和位控制转移指令。MCS-51系列单片机内部能进行位操作的空间如下:
1)特殊功能寄存器(SFR)中可位寻址的位单元。
2)地址为20H~2FH的16个字节存储单元(每个字节存储单元有8位,共有128个位单元,这128个位单元的位地址为00H~7FH)。
1.数据位传送指令
数据位传送指令有2条,各条指令的形式和功能见表3-35。
表3-35 数据位传送指令
2.位变量修改指令
位变量修改指令有6条,它们分别可以清0、取反和置“1”。各条指令的形式和功能见表3-36。
3.位变量逻辑指令
位变量逻辑指令有4条,各条指令的形式和功能见表3-37。
表3-36 位变量修改指令
表3-37 位变量逻辑指令
例如:累加器A中的数据为01101010,PSW的CY位中的数据为“1”,现在执行指令:
ANL C,/ACC.3
在指令执行时,将累加器A的第3位(位地址为E3H)数据“1”取反变为“0”,然后将“0”与CY位中的“1”进行与运算,运算结果为“0”,“0”被送到CY位中。(www.xing528.com)
4.位控制转移指令
位控制转移指令有下面5条:
JC rel
JNC rel
JB bit,rel
JNB bit,rel
JBC bit,rel
由于位控制转移指令在前面已详细介绍过(见“程序控制类指令”中的内容),这里不再说明。MCS-51系列单片机的所有指令见附录。
【例3-8】 如图3-10所示,若按下PB1,则P0.0所连接的LED亮;若按下PB2,则关闭。
图3-10 按钮控制LED灯
解答:本例设计要点如下:
1)若LED亮,则P2.0为0,若LED灭,则P2.1为0。
流程图与程序设计如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。