单片机实用技术--第3章习题解答
- 格式:doc
- 大小:29.50 KB
- 文档页数:5
1.设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:
X, X>0
Y= 20H, X=0
X+5, X<0
编程根据x的值求y值并放回原单元。
答:START:MOV A,30H
JZ NEXT
ANL A,#80H
JZ ED
MOV A,#05H
ADD A,30H
MOV 30H,A
SJMP ED
NEXT:MOV 30H,#20H
ED:SJMP $
2.MCS-51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?答:立即寻址对应程序存储器
直接寻址对应内部数据存储器和SFR
寄存器寻址对应工作寄存器R0~R7,A,B,DPTR
寄存器间接寻址对应片内RAM:@R0,@R1,SP,片外RAM:@R0,@R1,@DPTR
变址寻址对应程序存储器:@A+PC,@A+DPTR
相对寻址对应程序存储器256字节范围内:PC+偏移量
位寻址对应片内RAM的位寻址区(20H~2FH字节地址),某些可位寻址的SFR 3.访问特殊功能寄存器SFR可以采用哪些寻址方式?
答:直接寻址方式和位寻址方式
4.访问片内RAM单元可以采用哪些寻址方式?
答:直接和间接寻址方式
5.访问外部RAM单元可以采用哪些寻址方式?
答:间接寻址方式
6.访问外部ROM可以采用哪些寻址方式?
答:立即、变址和相对寻址方式
7.为什么说布尔处理功能是8051单片机的重要特点?
答:因为8051具有位寻址功能
8.对于AT89S52单片机内部RAM还存在高128字节,应采用何种方式访问?
答:采用间接寻址方式
9.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令。(1)将R0的内容传送到R1;
(2)内部RAM单元50H的内容传送到寄存器R4;
(3)外部RAM单元2000H的内容传送到内部RAM单元70H;
(4)外部RAM单元0800H的内容传送到寄存器R5;
(5)外部RAM单元2000H的内容传送到外部RAM单元2100H。
答:(1)MOV A,R0
MOV R1,A
(2)MOV R4,50H
(3)MOV DPTR,#2000H
MOVX A,@DPTR
MOV 70H, A
(4)MOV DPTR,#0800H
MOVX A,@DPTR
MOV R5,A
(5)MOV DPTR,#2000H
MOVX A,@DPTR
MOV DPTR,#2100H
MOVX @DPTR,A
10.若(R0)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。
答:MOV A,@R0 ;(A)=60H
MOV @R0,40H ;(30H)=08H
MOV 40H,A ;(40H)=60H
MOV R0,#7FH ;(R0)=7FH
11.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H,41H,42H单元中的内容各为多少?
答:MOV A,50H ;(A)=40H
MOV R0,A ;(R0)=40H
MOV A,#00H ;(A)=00H
MOV @R0,A ;(40H)=00H
MOV A,# 3BH ;(A)=3BH
MOV 41H,A ;(41H)=3BH
MOV 42H,41H ;(42H)=3BH
12.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容。若该指令影响标志位,试指出CY,AC 和OV的值。
(1)MOV A,@R0 ;(A)=2CH
(2)ANL 40H,#0FH ;(40H)=0CH
(3)ADD A,R4 ;(A)=22H, C=1,AC=1 ,OV=0
(4)SWAP A ;(A)=8EH
(5)DEC @R1 ;(20H)=0EH
(6)XCHD A,@R1 ;(A)=EFH ,(20H)=08H
13.试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。
(1)使ACC.2置位;
(2)清除累加器低4位;
(3)清除ACC.0,ACC.3,ACC.5,ACC.7。
答:(1)SETB ACC.2
(2) CLR ACC.3
CLR ACC.2
CLR ACC.1
CLR ACC.0
(3)CLR ACC.0
CLR ACC.3
CLR ACC.5
CLR ACC.7
14.试编写程序,将内部RAM的21H,22H,23H三个连续单元的内容依次存入30H,31H 和32H单元。
答:MOV 30H,21H
MOV 31H,22H
MOV 32H,23H
15.试编写程序,完成两个16位数的减法:7E56H-2B4EH。其结果存入内部RAM的30H 和31H单元,31H单元存差的高8位,30H单元存差的低8位。
答:CLR C
MOV A,#56H
SUBB A,#4EH
MOV 30H, A
MOV A, #7EH
SUBB A, #2BH
MOV 31H,A
16.试编写程序,将R0中的低4位数与R3中的高4位数合并成一个8位数,并将其存放在R0中。
答:MOV A, R0
ANL A, #0FH
MOV 30H, A
MOV A, R3
ANL A, #0F0H
ORL A, 30H
MOV R0, A
17.试编写程序,将内部RAM的20H,21H单元的两个无符号数相乘,结果存放在R2,R3中,R2中存放高8位,R3中存放低8位。
答:MOV A, 20H
MOV B, 21H
MUL AB
MOV R2, B
MOV R3, A
18.若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程序,并说明这种软件延时方式的优缺点。
答:因为主频是12MHZ,所以机器周期为1us。
DEL: MOV R7, #80 ;1T机
DEL1: MOV R6, #123 ;1 T机
NOP ;1 T机
DJNZ R6, $ ;2 T机
DJNZ R7,DEL1 ;2 T机
RET ;2 T机
延时时间:T =1+80[(1+1+2*123)+2]+2