内容正文:
四川省(电子信息大类)对口招生《单片机原理与应用》
复习讲义
模块 3 单片机指令系统
考点六 位操作指令
【考纲要求】
掌握MCS-51系列位操作类指令的形式和功能。
【知识网络】
【知识和技能要点】
位操作类指令
一、位传送指令
MOV C,bit
MOV bit,C
例 :MOV C,06H ;(20H) .6→Cy
06H是内部RAM 20H字节位6的位地址。
MOV P1.0,C ;Cy →P1.0
二、位状态控制指令
CLR C ;清“0”Cy
CLR bit ;清“0”bit位 CPL C ;Cy求反
CPL bit ;bit位求反
SETB C ;置“ 1” Cy
SETB bit ;置“ 1” bit位
这组指令将操作数指出的位清“0”、求反、置“ 1”,不影响其它标志。
例 CLR C ;0 →Cy
CLR 27H ;0 →(24H).7位
CPL 08H ; →(21H).0位
SETB P1.7 ;1 →P1.7位
三、位逻辑操作指令
1.位变量逻辑与指令
ANL C,bit ;bit∧Cy →Cy
ANL C,/bit; ;/bit∧Cy→Cy
2.位变量逻辑或指令
ORL C,bit
ORL C,/bit
四、位条件转移类指令
JC rel ;如果进位位Cy=1,则转移
JNC rel ;如果进位位Cy=0,则转移
JB bit,rel ;如果直接寻址位=1,则转移
JNB bit,rel ;如果直接寻址位=0,则转移
JBC bit,rel ;如果直接寻址位=1,则转移,并清0直接寻址位
【练习题】
1、 填空题
1.执行SETB C, MOV 00H,C 则位地址20H.0=________。
2.判断某一个是否为“1”的指令助记付是________。
3.当(A)=12H,执行ANL A,#F0H,SWAP A后,(A)=________。
4.将累加器A的第5位置1的指令是________。
5.指令 JC rel 的功能是:若__________,则程序跳转到目标地址执行,否则顺序执行。
6.执行 SETB PSW.7 后,进位标志位 C 的状态为__________,该指令属于__________类指令。
二、选择题
1. 20H存储单元的第3个位的地址书写正确的是( )。
A. 20H.3 B. 20.3H C. 20H.2 D.20.2H
2.下列哪个不是位操作指令助记符( )。
A.SETB B. JNB C. JC D.JNZ
3.位操作指令中位累加器是( )。
A.CY B.ACC C. B D.PSW
4.当(A)=0FH时,执行SETB ACC.7时,(A)=( )。
A. 00H B.FFH C. 1FH D. 8FH
5.下列指令中,不属于MCS-51位操作类指令的是( )
A. MOV C, 20H B. ORL C, /30H
C. ADD C, A D. CLR P1.0
6.已知 C=0,位地址 20H=1,执行指令 ANL C, /20H 后,C 的值为( )
A. 0 B. 1 C. 不确定 D. 2
7.关于位转移指令 JNB bit, rel,下列说法正确的是( )
A. 若指定位为1,则跳转
B. 若指定位为0,则跳转
C. 无论位状态如何,都会跳转
D. 执行后会修改指定位的内容
8.下列指令中,能够实现位取反的是( )
A. CLR C B. SETB 10H
C. CPL 30H D. MOV C, 10H
9.MCS-51 位操作指令中,操作数只能是进位标志C和直接位地址的指令是( )
A. 数据传送类指令 B. 算术运算类指令
C. 位逻辑运算指令 D. 无条件转移指令
10.已知PSW.5(F0标志位)=1,执行指令CPL PSW.5后,再执行JB PSW.5, rel,下列说法正确的是( )
A. 程序会跳转,F0标志位最终为1
B. 程序不会跳转,F0标志位最终为0
C. 程序会跳转,F0标志位最终为0
D. 程序不会跳转,F0标志位最终为1
三、判断题
1.指令 MOV 20H, C 是将进位标志位 C 的内容传送到片内 RAM 20H 单元的最低位。( )
2.位逻辑运算指令执行后,不会修改除C以外的PSW标志位。( )
3.指令 JB C, rel 是合法的位转移指令,功能是C为1时跳转。( )
4.MCS-51 中,所有通用寄存器(R0~R7)都支持位操作指令。( )
5.执行 ORL C, 30H 时,若C=1、30H=0,执行后C的值仍为1。( )
四、分析题
1.执行下列程序段后,(P1)=_______。
MOV P1,#5DH
CPL P1.1
CPL P1.2
CLR P1.6
SETB P1.7
2.执行下列程序段后,(A)=_______。
MOV A,#C5H
RL A
3.试使用位操作指令,实现下列逻辑操作功能。
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
4.试编写一个程序,将内部RAM中45H单元的高4位清“0”,低4位置“1”。
【答案】
一、填空题
1.1
解析:SETB C 使进位位C=1,MOV 00H,C 把C送入位地址00H(对应字节地址20H.0),故20H.0=1。
2.JB
解析:JB bit,rel 指令功能:指定位为1则跳转。
3.01H
解析:(A)=12H=0001 0010B
ANL A,#F0H → 0001 0000B
SWAP A → 0000 0001B = 01H。
4.SETB ACC.5
解析:SETB 可直接对累加器A的指定位置1。
5.进位标志位C=1(CY=1)
解析:JC rel 是C为1则跳转。
6.1,位操作(位处理)
解析:PSW.7就是进位标志CY,SETB置1;该指令属于位操作指令。
二、选择题
1.C
解析:51单片机位地址格式:字节地址.位号,第3个位编号是2,即20H.2。
2.D
解析:JNZ是字节判断指令(A≠0跳转),不属于位操作;SETB/JNB/JC都是位操作指令。
3.A
解析:位操作的累加器是进位标志CY(C)。
4.D
解析:(A)=0FH=0000 1111B,SETB ACC.7 → 1000 1111B=8FH。
5.C
解析:ADD是字节加法指令,不能用于位操作;其余都是位操作指令。
6.A
解析:/20H=0,ANL C,0 → C=0。
7.B
解析:JNB bit,rel:指定位为0则跳转。
8.C
解析:CPL是位取反指令。
9.C
解析:位逻辑运算指令(ANL/ORL/CPL)操作数只能是C和直接位地址。
10.B
解析:初始F0=1,CPL后F0=0;JB PSW.5 为0不跳转。
三、判断题
1.√
解析:位地址00H对应字节20H的最低位,MOV 20H,C 是位传送。
2.√
解析:位逻辑运算仅修改CY,不影响其他PSW标志位。
3.×
解析:JB指令格式为 JB bit,rel,C是位累加器,正确写法:JC rel,JB C,rel 非法。
4.×
解析:51单片机只有**片内RAM 20H2FH**支持位操作,通用寄存器R0R7不支持。
5.√
解析:1∨0=1,ORL运算结果正确。
四、分析题
1. 求(P1)
MOV P1,#5DH → 0101 1101B
CPL P1.1 → 0101 1111B
CPL P1.2 → 0101 1011B
CLR P1.6 → 0001 1011B
SETB P1.7 → 1001 1011B = 9BH
答案:9BH
2. 求(A)
MOV A,#C5H → 1100 0101B
RL A(循环左移)→ 1000 1011B = 8BH
答案:8BH
3. 位操作实现逻辑:P1.5=ACC.2∧P2.7 ∨ ACC.1∧P2.0
参考程序:
MOV C, ACC.2 ; C = ACC.2
ANL C, P2.7 ; C = ACC.2 ∧ P2.7
MOV 00H, C ; 暂存结果
MOV C, ACC.1 ; C = ACC.1
ANL C, P2.0 ; C = ACC.1 ∧ P2.0
ORL C, 00H ; C = (ACC.2∧P2.7) ∨ (ACC.1∧P2.0)
MOV P1.5, C ; 送入P1.5
4. RAM 45H单元 高4位清0,低4位置1
参考程序:
ANL 45H, #0FH ; 高4位清0,低4位保持
ORL 45H, #0FH ; 低4位置1
【真题演练】
1. (24单招,分析题)单片机实验电路如图11所示,现需完成发光二极管D1点亮的功能,回答以下问题。
(6)程序中,采用指令“CLR P1.0”点亮D1,那么图11-(e)中的F、G两点应分别连接到单片机的哪个引脚才能实现该功能?
【答案】
F:1引脚(P1.0)
G:40引脚(VCC)
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$