单片机课后习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
00H~07H
(4)通过堆栈操作实现子程序调用,首先要把 PC 的
内容入栈,以进行断点保护。调用返回时进行出栈操作,
把保护的断点送回
PC
(5)位寻址程序状态字的F0位,可使用的地址和符号有
F0 PSW.5 D0H.5 D5H
(6)51系列单片机的时钟电路包括两部分,即芯片内的 高增益反相放大器 和芯片外的晶体振荡器 和微调电容
第二章作业
1、填空题 (1)51系列单片机引脚信号名称上带上画线的表示信号
低__电__平或下降沿 有效
(2)51系列单片机内部RAM的寄存器区共有 32 单元,
分为
4 组寄存器, 每组 个8 单元, 以
为寄R存n器的名称
(3)单片机系统复位后PSW=00H,因此内部RAM寄存器取
的当前寄存器是 0 组,8个寄存器的单元地址是
答案 C
9. 假定设置堆栈指针(SP)的值是37H,在进行子程序
调用时把断点地址进栈保护后,SP的值为()
A. 36H
B.37H
C.38H
D.39H
答案 D
书23页特殊功能寄存器
3 判断题
(1)用户构建单片机应用系统,只能使用芯片提供的信 号引脚 答案 错
(2)程序计数器PC不能为用户使用,因此它没有地址 错
答案 B
7. 以下有关PC和DPTR的结论错误的是() A. DPTR是可以访问的而PC不能访问 B.它们都是16位的寄存器 C.它们都具有“加1”功能 D.DPTR可以分为两个8位的寄存器使用,而PC不能
答案 C
8. PC的值是() A. 当前指令前一条指令的地址 B.当前正在执行的地址 C.下一条指令的地址 D.控制器中指令寄存器的地址
(2) 汇编语言的指令格式为 标号:操作码 操作数;注释
(3) 数据传送类指令执行完毕,源操作数的内容不会丢失。
(4) 51系列单片机内部RAM从20H至2FH既可按字节(直接)寻址, 又可位寻址,位地址空间从00H到7FH。
(5)51系列单片机指令系统中,指令长度有一字节、二字节和三字 节,指令执行时间有一个机器周期、两个机器周期和四个机器周 期,乘法指令需4个机器周期。
C 是通过加1指令完成的 D 是通过减1指令完成的
答案 A
4 以下运算中对溢出标志OV没有影响或不受OV影响 的运算是()
A.逻辑运算 C.乘法运算
B.符号数加减法运算 D.除法运算
答案 A
5. 单片机程序存储器的寻址范围是由程序计数器PC的位数 决定的,51系列的PC为16位,因此其寻址范围是() A. 4KB B.64KB C.8KB D.128KB
(1)MOV A, RN
寄存器寻址
(2)MOV direct, @Ri 直接寻址
寄存器寻址 寄存器间接寻址
(3)MOV direct, #data直接寻址
立即寻址
(4)MOVX A, @DPTR 寄存器寻址
寄存器间接寻址
(5)MOV A, B
寄存器寻址
直接寻址
(6)JZ 20H
相对寻址
(7)MOV A, 20H
ORG 0000H MOV B,#100
DIV AB MOV 50H,A XCH A,B MOV B,#10 DIV AB MOV 51H,A MOV 52H,B END
4 (6) X EQU 20H Y EQU 30H Z EQU 0FFH
ORG 0000H MOV A,#X CJNE A,#Y,A1 SJMP SAN A1:JNC SAN MOV A,#Y SAN:CJNE A,#Z,A3 SJMP DONE A3: JNC DONE MOV A,#Z DONE: MOV 50H,A SJMP $ END
(7)51系列中,位处理器的数据存储空间是由 SFR 的可寻址位和内部RAM 位寻址区的 128 位
2 选择题
1 单片机芯片内提供了一定数量的工作寄存器,这样做的 好处不包括
A 提高程序运行的可靠性
B 提高运行速度
答案 A
C 为程序设计提供方便 D 减少程序长度
3 对程序计数器PC的操作()
A 是自动进行的 B 是通过传送进行的
(3)SETB 30H,0 (4)MOV R1, R2
非法
(3)SETB bit
非法 (4)MOV Rn, A(#data, direct)
(5)MOV A, @R1 正确
(6)CJNE @R0,#64H,LABEL 正确
(7)MOVX @R0, 20H 非法 MOVX @R0, A
(8)DJNZ @R0,LABEL 非法
START: CLR C MOV A,#56H JC LP1 CPL C SETB 01H
LP1:MOV ACC.0, C JB ACC.2 LP2 SETB 00H
LP2: MOV P1,A RET
CY=0 (A)=01010110 If cy=1 PC=LP1 CY=1 (01H)=1 (A)=01010111 If ACC.2=1 PC=LP2
(19)XCHD A,R1 (20)SWAP B
非法 非法
XCHD A, @Ri SWAP A
书中指令表42~46页
(21)MOVX A, @A+DPTR 非法
MOVX A, @DPTR
(22) MOVC A @A+DPTR 正确
(23)XCH A, R1
正确
XCH A, R1(direct,@Ri)
SJMP $
END
4 (2)
DELAY: MOV R7, #0F6H ;1个机器周期
LP: MOV R6,#0FAH ;1
DJNZ R6,$ ;2
DJNZ R7,LP ;2
RET
;2
4 (4) ORG 0000H MOV R0,#50H MOV B,#100
DIV AB MOV @R0,A XCH A,B MOV B,#10 DIV AB INC R0 MOV @R0,A INC R0 MOV @R0,B END
号引脚如何处理? (4)内部RAM低128单元划分为哪三个主要部分?各部
分的特点? (9)什么是指令周期、机器周期和时钟周期?如何计
算机器周期的确切时间?
第三章作业
1. 填空题
(1) 51系列单片机有7种寻址方式,分别是立即寻址,直接寻址,寄存 器寻址,寄存器间接寻址,相对寻址,变址寻址,位寻址。
(9) 伪指令不产生可执行目标代码。
(10) DA A指令必须跟在加法指令的后面,用于二进制数与压 缩BCD码的调整。若A=0AH,执行DA A指令后,A=10H.
2 选择题 (1) AJMP 跳转范围是( C )
(A) 64KB (B) 8KB (C) 2KB (D) -128~127B (2) 51系列单片机最长的一条指令需( B )个机器周期
(24)SUB A,#12H
非法 无 SUB
(25)MUL A,B
非法 (25)MUL AB
(26)DIV AB
正确
(27)DA A
正确
(28)JMP LABEL (29)LJMP LABEL 正确
(30)RETI
正确
(3) 设位单元00H 和01H 的内容为0,执行下列程序后P1 口的8条I/O口线为何种状态位单元00H 01H 的只是什么?
寄存器寻址
直接寻址
(8)PUSH B (9)POP ACC (10)INC @Ri
直接寻址
直接寻址
寄存器间接寻址
3、问答题 (2) 下列哪些是非法指令
书中指令表42~46页
(1)CPL B 非法
CPL bit CPL C cpl A
(2)ADDC B,#20H 非法
ADDC A,direct(#data, Rn, @Ri)
DJNZ direct(Rn), rel
(9)PUSH A
非法 PUSH direct
(10)POP @R1令表42~46页
(11)RL B 非法
RL A
(12) MOV R7 @R0 非法
(13)RLC A
正确
(14)MOV R1, #1234H 非法 不能是16位立即数
(9) 指令CJNE A,#00H影响PSW的( C)位 (A) AC (B) OV (C) CY (D) P
(10) 在MUL AB指令中,若积超过255,则( C ) (A) CY=1 (B) AC=1 (C) OV=1 (D) P=1
3、问答题 (1) 分别指出下列目的操作数和源操作数的寻址方式 目的操作数寻址方式 源操作数寻址方式
(3)内部RAM的位寻址区,只能供位寻址使用而不能供字 节寻址使用 答案 错
(4)在程序执行过程中,由PC提供数据存储器的读写地 址错
(5)80C51共有21个专用寄存器,它们的位都是可以软件 设置的,因此是可以位寻址的 答案 错
4. 简答题 (2)51系列单片机的EA信号功能?在使用8031时EA信
(6)MOV A,20H中,20H的寻址方式称为直接寻址;SETB 20H的 寻址方式为位寻址。
(7)关于堆栈类操作的两条指令分别是PUSH、POP;堆栈操作 只能是直接寻址。
(8) 设(A)=55H,R5=AAH,执行ANL A,R5指令后的结果是 (A)=00H,R5=0AAH;执行ORL A,R5指令后的结果是 (A)=0FFH,R5=0AAH; XRL A,R5指令后的结果是 (A)=0FFH,R5=0AAH。
P1=01010111
(00H)=0, (01H)=1, P1=01010111
4 (1)
ORG 0000H
START: MOV R0, #20H
MOV DPTR,#1F00H
MOV R7,#31H
LOOP: MOVX A,@DPTR
MOV @R0, A
INC R0
INC DPTR
JUGE:
DJNZ R7,LOOP
(5)下列指令正确的是( B) (A)MOV P2.1, A (B)JBC TF0, L1 (C)MOVX B, @DPTR (D)MOV A, @R3 (6) 下列指令中错误的是( A)
(A) SETB 50H.0 (B)MOV A,B (C)JNC LOOP (D) SUBB A,R0 (7) 将累加器的值压入堆栈的正确指令是( A ) (A) PUSH ACC (B) PUSH A (C) PUSH D0H (D) POP ACC (8) 下列指令中错误的是( CD ) (A) SUBB A,R7 (B) SUBB A,@R1 (C) SUBBC A,#30H (D) SUBB A 30H
(A) 1 (B) 4 (C) 2 (D) 3 (3) MOV A,@R0这条指令中@R0的寻址方式称为( B )
(A) 寄存器寻址 (B) 寄存器间接寻址 (C) 直接寻址 (D) 立即数寻址 (4)在CPU内部,反映程序运行状态或反映运算结果的特征寄 存器是(B )
(A) PC (B) PSW (C) A (D) SP
(15)ANL R0, A 非法 (16)ORL C,/ACC.5 正确
ANL A, Rn(@Ri direct #data) ANL direct ,A(#data)
(17)XRL C, ACC.5 非法
位操作指令中无异或
(18)DEC DPTR 非法
(18)DEC A (@Ri, direct, Rn)