第五部分程序阅读题1.设(A)=38H, (20H)=49H, PSW=00H, (B)=02H,填写以下结果。
SETB C
ADDC A, 20H
RLC A(A)= ______;(CY)= ______;(P)= ______;
MUL AB (B)= ______;
2.阅读程序并回答下列问题:
X DATA 50H
Y DATA 51H
ORG 00H
JMP START
ORG 100H
START: MOV SP,#60H
MOV X,#10
MOV Y,#10
LCALL SUB
SUB: NOP
INC X
DEC Y
MOV A,Y
JZ SUBRET
LCALL SUB
SUBRET: NOP
RET
计算X和Y的值是多少?
(X)=;(Y)=;
3.执行下列程序后,R2,R3的内容是什么?请在要求注释的地方给程序加上注释
MOV R3,#45H
MOV DPTR,#TABL ;注释:
MOV A,R3
ANL A,#0FH ;注释:
MOVC A,@A+DPTR ;注释:
MOV R2,A
MOV A,R3
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV R3,A
………………………..
TABL:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
(R2)=;(R3)=;
4.51单片机振荡频率为12MHz,阅读程序后说明
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP INTT1
ORG 0040H
INTT1:MOV TH1, #3CH
MOV TL1, #0B0H
DJNZ R7, L2
MOV R7, #20
CPL P1.2
L2:RETI
ORG 0100H
MOV SP, #5FH
MOV R7, #20
MOV TMOD, ①
MOV TH1, #3CH
MOV TL1, #0B0H
SETB EA
SETB ②
SETB TR1
SJMP $
1) 根据程序内容填空:①;②;
2) 定时器T1的定时时间是多少?
3) 寄存器R7在程序中的作用是什么?
4) 该程序完成什么功能?
5.执行下面一段程序;填写运行结果
MOV SP, #60H
MOV A, #10H
MOV B, #01H
PUSH A
PUSH B
POP A
POP B
A , B的内容是:(A)=
(B)= ;
6.设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说
明该段子程序的功能并写出该程序的函数关系式。(7分)
START:MOV DPTR,#ARE
MOVX A,@DPTR
JZ SUL
JB ACC.7,NEG ;注释:
MOV A,#02H
SUL:MOV DPTR,#BUF
MOVX @DPTR,A ;注释:
RET
NEG:MOV A,#0FEH
SJMP SUL
7.执行下列程序段后,(P1)=_______。
MOV P1,#5DH
CPL P1.1
CPL P1.2
CLR P1.6
SETB P1.7
8.执行下列程序段后,(A)=_______,(C Y)=____。
MOV A,#C5H
RL A
9.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。
MOV R0,#7EH
MOV 7EH,#0FFH
MOV 7FH,#40H
1NC @R0
1NC R0
1NC @R0
10.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL
SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。
11.阅读下列程序,说明其功能。
MOV R0,#data
MOV A,@R0
RL A
MOV R1,A
RL A
RL A
ADD A,R1
MOV @R0,A
RET
12.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什
么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:
(A)=
(2)ADD A,60H ;寻址方式:
(A)=
(3)ANL A,@R0 ;寻址方式:
(A)=
13.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?
MOV R1,#30H ;(R1)=
MOV A,#64H ;(A)=
ADD A,#47H ;(A)= ,(CY)= ,
(AC)=
DA A ;(A)= ,(CY)= ,
(AC)=
MOV @R1,A ;(R1)= ,(30H)=
此程序段完成的功能:
14.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =
MOV @R0 , #11H
MOV A , R2
ADD A , 20H
MOV PSW , #80H
SUBB A , P0
XRL A , #45H
MOV 40H , A
15. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:
MOV A , @R0
MOV R0 , A
MOV A , @R0
ADD A , 21H
ORL A , #21H
RL A
MOV R2 , A
RET
则执行结束(R0)= (R2)=
16. 执行下面一段程序;
MOV SP, #60H
MOV A, #10H
MOV B, #01H
PUSH A
PUSH B
POP A
POP B
A , B的内容是:(A)= (B)=
17. 设在31H单元存有#23H,执行下面程序:
MOV A, 31H
ANL A, #0FH
MOV 41H, A
MOV A, 31H
ANL A, #0F0H
SW AP A
MOV 42H, A
则(41H)= (42H)=
18.程序填空
1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG 1000H
MOV R7,_____
MOV R0, #30H
MOV R1,#60H
LOOP:MOV A,@R0
MOV _____,A
INC R0
INC R1
DJNZ R7, _____
SJMP $
END
2)将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。
ORG 1000H
MOV R7,#04H
MOV R0,30H
CLR A
MOV 41H,A
LOOP:ADD A,@R0
JNC NEXT
INC _____
NEXT:INC _____
DJNZ R7,LOOP
MOV 40H,A
SJMP $
END
3)RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD 码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200H
MOV A,_____
MOV B,#64H
DIV AB
MOV R2,A
MOV A,_____
XCH A,B
DIV AB
SWAP _____
ORL A,B
SJMP $
END
4)编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
ORG 1000H
MOV R7,#07H
MOV R0,_____
LOOP:MOV A,@R0
ANL A,_____
MOV @R0,A
INC R0
DJNZ R7,LOOP
SJMP $
END
19、程序如下
2506H M5: MOV SP,#58H;
2509HMOV 10H,0FH;
250CH MOV 11H,#0BH;
250FH ACALL XHD;
2511H MOV 20H,11H
2514H M5A: SJMP M5A
XHD: PUSH 10H
PUSH 11H
POP 10H
POP 11H
RET
问:(1)执行POP 10H后堆栈内容?
(2)执行M5A: SJMP M5A后,( SP )=?( 20H )=?
20、解读下列程序,然后填写有关寄存器内容
(1)MOV R1,#48H
MOV 48H,#51H
CJNE @R1,#51H,00H
JNC NEXT1
MOV A,#0FFH
SJMP NEXT2
NEXT: MOV A,#0AAH
NEXT2: SJMP NEXT2
累加器A=( )
(2) MOV A,#0FBH
MOV PSW,#10H
ADD A,#7FH
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
21、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT1
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
(20H)=( )、(21H)= 、(22H)= 、(23H)= 、CY= A= 、R0= 、R1= 。
22、设片内RAM中(59H)=50H,执行下列程序段
MOVA,59H
MOVR0,A
MOV@R0,A
MOVA,#25H
MOV51H,AMOV52
H,#70HA=,(50H)=,(51H)=,(52H)=.
23.MOV A,#10H (A)=
MOV B,A (B)=
MOV A,B (A)=
ADD A,B (A)=
MOV 20H,A (20H)=
INC A (A)=
MOV 21H,A (21H)=
INC A (A)=
MOV 22H,A (22H)=
24.MOV DPTR,#2000H (DPTR)=
MOV A,#80H (A)=
MOVX @DPTR,A (2000H)=
INC DPTR (DPTR)=
MOV A,#90H (A)=
MOVX @DPTR,A (2001H)=
MOV DPTR,#2000H (DPTR)=
MOVX A,@DPTR (A)=
MOV B,A (B)=
INC DPTR (DPTR)=
MOVX A,@DPTR (A)=
25、改正下列指令
MOV @R3,A
MOV DPTR,A
INC @R3 I
DEC DPTR
ADDC #30H,A
26. 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如
何?(8分)
MOV R0,#30H
MOV A,@R0
MOV R1,A
MOV B,R1
MOV @R1,P1
MOV A,P1
MOV 40H,#20H
MOV 30H,40H
参考答案:
1.(A)= _04H__;(CY)= __1___;(P)= ___1__;(B)= __00H_;
2. (X)=20 ;(Y)=0 ;
3. MOV DPTR,#TABL ;注释:将表头赋值给DPTR
MOV A,R3
ANL A,#0FH ;注释:对A做与操作,保留A的第四位
MOVC A,@A+DPTR ;注释:查表,A的值表示在表中的次序
(R2)=92H ;(R3)=99H ;
4. 1) 根据程序内容填空:①#10H ;②ET1 ;
2) 定时器T1的定时时间是多少?
50ms
3) 寄存器R7在程序中的作用是什么?
乘数,20次*50ms=1s
4) 该程序完成什么功能?
由P1.2输出周期为2s,占空比1:1的方波信号
5. A , B的内容是:(A)= #01H (B)= #10H
6.JB ACC.7,NEG ;注释:判断A中值的正负;
MOV A,#02H
SUL:MOV DPTR,#BUF
MOVX @DPTR,A ;注释:把A的值放入Y中;
功能:分段函数计算,Y=2 (X>0)
Y=0 (X=0)
Y=0FEH (X<0)
7. (P1)=9BH
8. (A)=8BH(或10001011B)
(C Y)=不影响
9. (R0)=7FH
(7EH)=00H
(7FH)=41H
10.(PC)=0345H
(61H)=25H
(62H)=01H
11.(data)×10操作
12.(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)立即寻址;48H
(2)直接寻址;4EH
(3)寄存器间接寻址;09H
13.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?
MOV R1,#30H ;(R1)= 30H
MOV A,#64H ;(A)= 64H
ADD A,#47H ;(A)= ABH (CY)= 0
(AC)= 0
DA A ;(A)= 11H ,(CY)= 1
(AC)= 1
MOV @R1,A ;(R1)= 30H ,(30H)= 11H
此程序段完成的功能:求两个BCD码数(64H和47H)的和,并将结果放在内部RAM 的30H单元。
14. (20H)←11H
(A)←20H
(A)←(A)+(20)
(CY)=1
(A)-(P0)-(CY)→(A)即(A)←00H
(A)+45H→(A)即(A)←45H
(40H)←45H
15. (A)←((R0))(A)=36H
(R0)←(A)(R0)←36H
(A)←((R0))(A)←34H
(A)←(A)+(21H)34H+17H=4BH
(A)←(A)∨21H 4BH∨21H=6BH
(A)←D6H
(R2)←D6H
(R0)=36H (R2)=D6H
16. (A)=01H (B)=10H
17. (41H)=03H (42H)=02H
18. 1)#20H R1 LOOP
2)41H R0
3)40H #0AH A
4)#40H #0FH
19. 1)执行ACALL指令时:PC+2?PC:
(SP)+1?SP PC0~PC7?(SP)
(SP)+1?SP PC8~PC15?(SP)
2)子程序返回时,点地址弹出,SP=58H
所以(1)执行POP 10H后,堆栈内容如左图所示.
5C 0B
5B 0F
5A 25
59 11
58
(2) 执行执行M5A: SJMP M5A后,( SP )=58H,
( 20H ) =0FH
20、(1)MOV R1,#48H ;48H 送R1
MOV 48H,#51H ;51H送?(48H)
CJNE @R1,#51H,00H ;(R1)GN #51相比,相等,
顺序执行
JNC NEXT1 ;没借位转,NEXT1
MOV A,#0FFH ;有借位,FFH送A
SJMP NEXT2
NEXT1 MOV A,#0AAH ;0AAH送A
NEXT2 SJMP NEXT2
累加器A=(0AAH)
(2)MOV A,#0FBH
MOV PSW,#10H 00010000送PSW
ADD A,#7FH
由11111011
+ 01111111
____________
1 01111010
所以,有进位CY=1,C6?C7=1?1=0,OV=0; A中有奇数个1,P=1;有辅助进位位AC=1
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
21. (20H)=(20H)、(21H)=00H、(22H)=17H、(23H)=01H、CY=1、A=17H、R0=23H、R1=28H
22. A=25H,(50H)=0,(51H)=25H,(52H)=70H
23.MOV A,#10H (A)= 10H
MOV B,A (B)= 10H
MOV A,B (A)= 20H
ADD A,B (A)= 20H
MOV 20H,A (20H)= 21H
INC A (A)= 21H
MOV 21H,A (21H)= 22H
INC A (A)= 22H
MOV 22H,A (22H)= 22H
24.MOV DPTR,#2000H (DPTR)= 2000H
MOV A,#80H (A)= 80H
MOVX @DPTR,A (2000H)= 80H
INC DPTR (DPTR)= 2001H
MOV A,#90H (A)= 90H
MOVX @DPTR,A (2001H)= 90H
MOV DPTR,#2000H (DPTR)= 2000H
MOVX A,@DPTR (A)= 80H
MOV B,A (B)= 80H
INC DPTR (DPTR)= 2001H
MOVX A,@DPTR (A)= 90H
25、改正下列指令
MOV @R3,A MOV @R1,A
MOV DPTR,A MOVX DPTR,A
INC @R3 INC A
DEC DPTR DEC R0
ADDC #30H,A ADDC A,#30H
26. MOV R0,#30H ;R0=30H
MOV A,@R0 ;A=5AH
MOV R1,A ;R1=5AH
MOV B,R1 ;B=5AH
MOV @R1,P1 ;(5AH)=7FH
MOV A,P1 ;A=7FH
MOV 40H,#20H ;(40H)=20H
MOV 30H,40H ;(30H)=20H
每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。
第六部分编程题
1.若有两个无符号数x、y分别存放在内部存储器的30H、31H单元中,试编写一个程序
实现x×2.5+y,结果送入32H(低八位)、33H(高八位)两个单元中。程序需加上注释。
2.编写一程序将片外数据存储器中7000H~70FFH单元全部清零。
3.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
4.请使用位操作指令实现下列逻辑操作:
BIT=(10H∨P1.0)∧(11H∨C Y)
5.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=
10 0
1
x
x
x
> -
=
?
?
??
6.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始
的单元中(低位在前)。
7.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。
8.已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片
外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。)
源程序如下:
ORG 1000H
MOV R0,#40H
MOV R7,#10
NEXT: MOV A,①
ACALL SEPA
MOV @R0,A
INC R0
DJNZ ②,NEXT
SJMP $
SEPA:ADD A,#00H
③PSW.0,SRET
ORL A,④
SRET:⑤
10.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数
分别送40H和50H开始的内部RAM单元。(10分)
11.将内部RAM20H为首的16个单元的8位无符号数排序写出程序,并作适当注释
12.将字节地址30H~3FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为
00H,则不要减1,仍将0放回原处。
13.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已
知单片机的晶振频率为6MHZ。
(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
14.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元
中.(10分)
15.编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
参考答案:
1.采用简单的移位操作实现
2.5乘法;
x*2.5 + y = x * 2 + x/2 + y;
如果只需要把x 左移一位,加上x 右移一位,加上y即可;
X DATA 30H
Y DATA 31H
B0 BIT 00H
B1 BIT 01H
ORG 00H
JMP START
ORG 100H
START: MOV SP,#60H
MOV X,#200
MOV Y,#200
MOV A,X
CLR C
RRC A
MOV 32H,A
RLC A
RLC A
MOV B0,C
CLR C
ADDC A,32H
MOV 32H,A
MOV B1,C
CLR C
ADDC A,Y
MOV 32H,A
CLR A;
ADDC A,#0
CLR C
JNB B0,L2
ADDC A,#1
L2: JNB B1,L3
ADDC A,#1
L3: MOV 33H,A
SJMP $
END
https://www.wendangku.net/doc/8a9541823.html, 1000H
MOV DPTR,#7000H
CLR A
MOV R0,A
LOOP:MOVX @DPTR,A
DJNZ R0,LOOP
SJMP $
3.SQR:1NC A
MOVC A,@A+PC
RET
TAB:DB 0,1,4,9,16
DB 25,36,49,64,81
4.ORL C,11H
MOV 12H,C
MOV C,P1.0
ORL C,/10H
ANL C,12H
MOV BIT,C
RET
5.MOV A,V AR
CJNE A,#0,COMP
SJMP RES ;x=0,Y=0 COMP: JNC POSI ;x>0,Y=1
MOV A,#0FFH ;x<0,Y=-1
SJMP RES
POSI:MOV A,#01H
RES:MOV FUNC,A
RET
6.MOV R
,#SUM
MOV A,R2
ANL A,#OFH
MOV @R0,A ;存低字节BCD
MOV A,R2
ANL A,#0F0H
SW AP A
1NC R0
MOV @R0,A ;存高字节BCD
RET
7.MOV DPTR,#8000H
MOV R0,#10H
MOV R2,#50H
LOOP:MOVX A,@DPTR ;取数
MOVX @R0,A ;存数
1NC DPTR
1NC R0
DJNZ R2,LOOP
RET
MOV DPTR,#8000H ;加数单元地址送DPTR MOVX A,@DPTR ;取加数之一
ADD A,20H ;两数相加
MOV R0,#00H ;和值的低位送片外00H单元MOVx @R0,A
INC R0
CLR A ;计算和值的高位
ADDC A,#00H
MOVx @R0,A ;高位送片外01H单元
RET
编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100H
9.① @R
② R7③ JNB ④ #80H ⑤ RET
10.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数
分别送40H和50H开始的内部RAM单元。
MOV R0,#30H
MOV R1,#40H
MOV A,#50H
MOV R7,#10
LOOP:MOV 20H,@R0
JB 20H.7,FSHU
ZSHU:MOV @ R1,20H
INC R1
SJMP NEXT
FSHU:XCH A,R1
MOV @R1,A
XCH A,R1
INC A
NEXT: DJNZ R7,LOOP
SJMP $
11.S ORT:MOV R0,#20H
MOV R7,#07H
CLR TR0 ;交换标志位复位
LOOP:MOV A,@R0
MOV 2BH, A
INC R0
MOV 2AH,@R0
CLR C
SUBB A,@R0;比较前后两个数
JC NEXT ;
1.程序如下: MOV SP,#13H MOV 33H,#7FH MOV 44H,#0ABH PUSH 33H PUSH 44H POP 33H POP 44H 程序执行后,(33H)=0ABh ,(44H)=7Fh 2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。 (1)MOV A,#48H ;寻址方式: (A)= 48H (2)ADD A,60H ;寻址方式: (A)= 4DH (3)ANL A,@R0 ;寻址方式: (A)= 10H 3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? MOV R1,#30H ;(R1)=30H MOV A,#64H ;(A)= 64H ADD A,#47H ;(A)=ABH ,(CY)= 0 , (AC)= 0 DA A ;(A)=31H ,(CY)=1 , (AC)= MOV @R1,A ;(R1)= 30H ,(30H)= 31H 此程序段完成的功能 4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0 ORL A,#27H ANL A,28H XCHD A,@R0 CPL A 5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)=04H (CY)=1 (P)= 1 MUL AB (A)=08H (B)=00H (OV)=0 6.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11H MOV A , R2 A=20H
中国石油大学(北京)远程教育学院期末考核 《单片原理及应用》 说明:共100分,每题20分,在下题中任选5题。 1.MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一 个机器周期为多少毫秒? 参考第二章第四节。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。一个机器周期=6×一个状 态周期=12×一个时钟周期=12× 答: 为使单片机能够完成取指、译码、执行指令等操作,需要为单片机提供时钟信号以产生必要的时序。单片机振荡电路中的振荡信号对应的周期叫振荡周期(时钟周期)。对振荡周期12分频后得到的信号周期叫做机器周期,即12个时钟周期,是1个机器周期。一个机器周期宽度为6个状态周期,并依次表示为S1~S6。每个状态周期由2个时钟周期(振荡周期)组成。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。 一个机器周期=6×一个状态周期=12×一个时钟周期=12×=12×1/10=1.2 us=0.0012ms 2.指出下列指令中画线的操作数的寻址方式? MOV R0, #55H ;立即寻址 MOV A, 2AH ;直接寻址 MOV A, @R1 ;寄存器间接寻址 MOV @R0, A ;寄存器寻址 ADD A, R7 ;寄存器寻址 MOVX A, @DPTR ;寄存器间接寻址 MOV DPTR, #0123H ;立即寻址 MOVC A, @A+DPTR ;基址加变址寻址 INC DPTR;寄存器寻址 参考第三章第二节指令寻址方式 3.外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元 开始的区域中,编程完成上述功能。 参考第三章第三节数据传送类指令和第六章第二节外部存储器扩展 START: MOV R0,#00H MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV DPH,#25H MOVX @DPTR,A MOV DPH,#10H
一、填空题: 1、MCS—5l单片机的最大程序寻址空间是KB,该空间的 地址范围从 至,系统上电及复位后,程序入口地址为。 2、若由程序设定PSW中的RS1、RS0=01,则工作寄存器R0~R7的直 接地址为__ __。 3、MCS-51单片机的I/O端口采用__ __ 编址方式。、 4、一个8位D/A转换器其分辨率为_ __,若该8位D/A转 换器的基准电压为5V,则数字量100对应得模拟量为。 5、单片机系统中经常采用的地址译码技术包括法和 法。 6、INTEL 8051 CPU 是位的单片机,其内部有KB的 ROM。 7、指出下列各指令中源操作数的寻址方式。 (1)MOVC A,@A+DPTR (2)XCH A,@R0; (3)MOV C,P1.0 (4)JC LOOP 8、判断下列各条指令的书写格式是否有错,并指出原因。 (1)MUL R0R1 (2)MOV A, @R7 (3)MOV A, #3000H (4)MOV R1, C 9、单片机与外设进行数据交换通常有__________方式、__________方式和_____ 方式三种。 10、MCS-51单片机串行口的方式0是________ _____方式,方式2是方式。 11、单片机复位后SP中的状态为_________,P0~P3口的状态为_________。 12、串行通信根据数据传送时的编码格式不同可分为
________________和________________两种方式。 13、堆栈按照___________原则工作,使用__________指明栈顶位置。 14、8051单片机片内有___________字节的ROM,____________字节的RAM。 15、使用8031单片机构成的系统时,其EA引脚应______________,因为______________________。 16、ADC0809是_____位的A/D转换器。 17、单片机复位后PC的内容为___________,复位对片内RAM中存放的内容______(有,无)影响。 18、多位LED显示器通常有________显示和_________显示两种接口。。 19. 执行下列两条指令后,PSW中的标志位(CY)= ,(OV)= ,(AC)= ,(P)= 。 MOV A,#80H ADD A,#98H 20.JC LOOP指令中操作数的寻址方式是,MOV A,P1指令中源操作数的寻址方式为。 21.下列指令中正确的是。 (1)RLC R7 (2)SETB R7.0 (3)MOV A, @DPTR (4)POP 40H 22.一个4k*4RAM芯片的地址线有根,数据线有。23.设(A)=30H,(B)=40H,(SP)=40H,执行下列程序段后,(A)= 。 PUSH A PUSH B
1、单片机应用程序一般存放在( B ) A、RAM B、ROM C、寄存器 D、CPU 2.在单片机中,通常将一些中间计算结果放在( A )中 A、累加器 B、控制器 C、程序存储器 D、数据存储器 3.89C51单片机有片内ROM容量( A) A 4K B B. 8KB C. 128B D. 256B 4、CPU主要的组成部部分为( A) A、运算器、控制器 B、加法器、寄存器 C、运算器、寄存器 D、运算器、指令译码器 5.INTEL 8051 CPU是(C )位的单片机 { A、16 B、4 C、8 D、准16 6.CPU由___运算器__和控制器构成。 1、PC存放__下一条要执行的指令的16位地址__,具有_ 自动加一_特性。在8051中决定程序执行顺序的是PC还是DPTR是PC它是_16__位(是,不是)不是SFG 2、PSW用于存放__指令执行后的有关状态____,在8051中PSW是__8___ 位,当8051执行94H+4BH后,PSW的CY、AC、OV、P的值是多少CY=0、AC=0、OV=0、P=1 3、什么是堆栈8051的堆栈设在何处哪个寄存器是堆栈指针堆栈存取数据的原则是什么答:1)堆栈是在内RAM区专门开辟出来的进行数据存取的一块连续的存储区域。2) 设在07H上。3)SP 4)先进后出 4.单片机的堆栈指针SP始终是( B ) A、指示堆栈底 B、指示堆栈顶 C、指示堆栈地址 D、指示堆栈长度 5、进位标志CY在(C)中 ~ A、累加器 B、算逻运算部件ALU C、程序状态字寄存PSW D、DPTR 6、. 8031单片机中的SP和PC分别是( C)的寄存器。 位和8位位和16位位和16位位和8位 7、DPTR是什么寄存器它的作用是什么它由哪几个特殊功能寄存器组成 答:数据指针DPTR是16位的专用寄存器。作为对外部数据存储器进行寻址的地址指针。由两个8位的寄存器DPH和DPL构成 1、8051单片机的内部RAM可以分为几个不同的区域各区的地址范围及其特点 答:4个区域。工作寄存器区00H-1FH 由32个单元组成,共4个区,可以通过设置PSW 中的RS1和RS0选择不同的工作寄存器。 位寻址区20H-2FH 这16个RAM单元可以按位操作,也可以按字节操作数据 缓冲区30H-7FH 这些单元只能按字节寻址 > SFR区80H-FFH 特殊功能寄存器中地址可以被8整除的,可以按位寻址,特殊功能寄存器记录了单片机工作状态及工作方式 2.为了使10H—17H作为工作寄存器使用,应该采用什么办法实现写出相关指令。CPU复位后,R0---R7的单元地址是多少
1.程序如下: MOV SP , #13H MOV 33H ,#7FH MOV 44H ,#0ABH PUSH 33H PUSH 44H POP 33H POP 44H 程序执行后, (33H)=0ABh 2.下列各条指令其源操作数的寻址方式是什么各条指令单独执行后, (60H )=35H ,(A ) =19H ,(R0)=30H ,(30H )=0FH 。 ( 1 ) MOV A , #48H ;寻址方式 A) = 48H ( 2) ADD A , 60H ;寻址方式 A) = 4DH ( 3) ANL A , @R0 ;寻址方式 A) = 10H 3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能 MOV R1, #30H ;( R1) =30H MOV A , #64H ; ( A) = 64H ADD A , #47H ;( A) =ABH ,( CY) = 0 , ( AC) = 0 DA A ;( A) =31H ,( CY) =1 ( AC) = MOV @R1, A ; ( R1) = 30H , ( 30H) = 31H 此程序段完成的功能 4. 设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A) =0 ORL A , #27H ANL A , 28H XCHD A , @R0 CPL A 5. 设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)=04H (CY)=1 (P) 1 MUL AB (A)=08H (B)=00H (OV)=0 6. 已知( R0) =20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后 ( 40H ) =15H MOV @R0 , #11H (20H)=11H MOV A , R2 A=20H ,(44H )=7Fh A 中的结果是什么设
单片机原理与应用复习资料 第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时〃表示从P0口稳定地送出了低8位地址。(备注:ALE 为地址锁存控制信号,书上P22) 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。(p25 更具体些是在内部存储器的用户RAM区开辟的) 3、当使用8751且EA=1〃程序存储器地址小于1000H 时〃访问的是片内ROM。 4、MCS-51系统中〃当PSEN信号有效(备注:低电平为有效信号)时〃表示CPU要从外部程序存储器读取信息。(p22) 5、MCS-51有4组工作寄存器(p23 备注:称为通用寄存器或者工作寄存器)〃它们的地址范围是00H~1FH 。(延伸:通用寄存器占去32个单元,位寻址区占去16个单元,用户RAM区占去80个单元,三者总共为128个单元,组成内部数据存储器的低128单元区) 6、MCS-51片内20H~2FH(即为位寻址区)范围内的数据存储器〃既可以字节寻址又可 以位寻址。(p24) 7、PSW中RS1 RS0=10时〃R2的地址为12H 。 8、PSW中RS1 RS0=11时〃R2的地址为1AH 。(p27 查表2.3即可) 9、单片机系统复位后〃(PSW)=00H〃因此片内RAM寄存区的当前寄存器是第0 组〃8个寄存器的单元地址为00H ~ 07H 。(p27 参考下一题) 10、PC复位后为0000H 。(p38 查表2.6即可,有各种寄存器的初始化状态) 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。(p37) 12、PC的内容为将要执行的下一条指令地址。(p30)
第1章单片机概述 3 ?在家用电器中使用单片机应属于微计算机的 _________ o A ?辅助设计应用; B ?测量、控制应用; C .数值计算应用; D ?数据处理应用 答:B o 4?微处理器、微计算机、微处理机、 CPU 、单片机它们之间有何区别? 答:微处理器、微处理机和CPU 都是中央处理器的不同称谓;而微计算机、单片机都是一个完 整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。 5. MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么? 答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751 o 它们的差别是在片内程序存 储器上。8031无片内程序存储器,8051片内有4KB 的程序存储器ROM ,而8751片内集成有 4KB 的程序存储器EPROM o 6. 为什么不应当把51系列单片机称为MCS-51系列单片机? 答:因为MCS-51系列单片机中的“ MCS ”是In tel 公司生产的单片机的系列符号,而 51系列单 片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 第2章51单片机片内硬件结构 1?在51单片机中,如果采用6MHz 晶振,一个机器周期为 答:2血 2. AT89C51单片机的机器周期等于 答: 12o 3?若A 中的内容为63H ,那么,P 标志位的值为— 答:P 标志位的值为0o 4?内部RAM 中,可作为工作寄存器区的单元地址为 答:00H ; 1FH o 5?通过堆栈操作实现子程序调用,首先要把 ______ 回时,再进行出栈保护,把保护的断点送回到 _____ 答: PC ; PC o 6. 51单片机程序存储器的寻址范围是由程序计数器PC 的位数所决定的,因为51单片机的PC 是16位的,因此其寻址的范围为 ___________ KB o 答: 64KB o 7?判断下列 1 .单片机与普通微型计算机的不同之处在于其将 块芯片上。 答:CPU 、存储器、I/O 口。 2. 8051与8751的区别是 — A .内部数据存储单元数目不同 C .内部程序存储器的类型不同 答:C o 、和 3部分集成于 B .内部数据存储器的类型不同 D .内部寄存器的数目不同 个时钟振荡周期。 的内容入栈,以进行断点保护。调用返 项说法是正确的。
单片机模拟试卷001 六、设计题(1题13分;2题12分,共25分) 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 单片机模拟试卷002 四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL CPL CLR SETB 2.执行下列程序段后,(A)=_______,(C Y )=____。 MOV A ,#C5H RL A 3.下列程序段执行后,(R 0)=_______,(7EH)=____,(7FH)=_______。 MOV R 0,#7EH MOV 7EH ,#0FFH MOV 7FH ,#40H 1NC @R 0 1NC R 0 1NC @R 0 4.已知(SP)=60H ,子程序SUBTRN 的首地址为0345H ,现执行位于0123H 的ACALL SUBTRN 双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 5.阅读下列程序,说明其功能。 MOV R 0,#data MOV A,@R 0 RL A MOV R 1,A RL A RL A ADD A ,R 1 MOV @R 0,A RET 五、编程题(每小题4分,共20分) 1.已知在累加器A 中存放一个BCD 数(0~9),请编程实现一个查平方表的子程序。 2.请使用位操作指令实现下列逻辑操作: BIT=(10H ∨∧(11H ∨C Y ) 3.已知变量X 存于V AR 单元,函数值Y 存于FUNC 单元,按下式编程求Y 值。 Y=100100x x x >-=???? 4.已知在R 2中存放一个压缩的BCD 码,请将它拆成二个BCD 字节,结果存于SUM 开始的单元中(低位在前)。 5.将存于外部RAM 8000H 开始的50H 数据传送0010H 的区域,请编程实现。 单片机模拟试卷003 单片机模拟试卷004
六、设计题 1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。 答:图(5分) 构思(3分) MOV A,#80H (1分) UP:MOV P1,A (1分) RR A (2分) SJMP UP (1分) 2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。 答:图(5分) 构思(3分) 程序(4分) ORG 0000H LJMP MAIN ORG 0003H LJMP AINT0 ORG 0013H LJMP BINT1 MAIN: MOV IE,#83H SETB IT0 SETB IT1 MOV R0,#00H MOV DPTR,#TAB UP: MOV A,R0 MOVC A,@A+DPTR MOV P1,A SJMP UP AINT0: INC R0 CJNE R0,#10,AINT01 MOV R0,#0 AINT01: RETI BINT1: DEC R0 CJNE R0,#0FFH,BINT11 MOV R0,#9 BINT11: RETI 1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。 1.SQR:1NC A MOVC A,@A+PC RET TAB:DB 0,1,4,9,16 DB 25,36,49,64,81 2.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y) 2.ORL C,11H
MOV 12H,C MOV C,P1.0 ORL C,/10H ANL C,12H MOV BIT,C RET 3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。 Y= 10 0 1 x x x > - = ? ? ?? 3. MOV A,V AR CJNE A,#0,COMP SJMP RES ;x=0,Y=0 COMP:JNC POSI ;x>0,Y=1 MOV A,#0FFH ;x<0,Y=-1 SJMP RES POSI:MOV A,#01H RES:MOV FUNC,A RET 4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的 单元中(低位在前)。 4. MOV R0,#SUM MOV A,R2 ANL A,#OFH MOV @R0,A ;存低字节BCD MOV A,R2 ANL A,#0F0H SW AP A 1NC R0 MOV @R0,A ;存高字节BCD RET 5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 5. MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H LOOP:MOVX A,@DPTR ;取数 MOVX @R0,A ;存数 1NC DPTR 1NC R0 DJNZ R2,LOOP RE T
单片机原理及应用期末考试试题汇总
单片机原理及应用期末考试试题汇总 1、单片机是将微处理器、一定容量的 RAM 和ROM 以及 器等电路集成在一块芯片上而构成的微型计算机 2、 单片机89C51片内集成了 有 5 个中断 源。 3、 两位十六进制数最多可以表示 4、 89C51是以下哪个公司的产 品? 4 KB 的 FLASH RO ,共 256 个存储单元。 C ) A 、INTEL B 、AMD C 、ATMEL D 、PHILIPS 8、当CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位 地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O 口中, P0 口在接LED 时,必须提供上拉电 阻, P3 口具有第二功能。 10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同 的。F 11、 是非题:是读端口还是读锁存器是用指令来区别的。 T 12、 是非题:在89C51的片内RAM 区中,位地址和部分字节地址是冲突的。 F 13、 是非题:中断的矢量地址位于 RAM 区中。F 14、 M CS-51系列单片机是属于( B )体系结构。 A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图 灵 15、 89C51具有 64 KB 的字节寻址能力。 16、 是非题:在89C51中,当CPU 访问片内、夕卜ROM 区时用MOV 指令,访问片 外RAM 区时用MOV 指令,访问片内 RAM 区时用MOV 旨令。T I/O 口、定时 5、在89C51中,只有当EA 引脚接 Flash ROM 。 高 电平时,CPU 才访问片内的 6、是非题:当89C51的EA 引脚接低电平时, 内是否有程序存储器。T CPL 只能访问片外ROM 而不管片 7、是非题:当89C51的EA 引脚接高电平时, CPU 只能访问片内的4KB 空间。F
一、选择题 访问片外数据存储器的寻址方式是( C ) A、立即寻址 B、寄存器寻址 C、寄存器间接寻址 D、直接寻址 堆栈数据的进出原则是( B ) A、先进先出 B、先进后出 C、后进后出 D、进入不出 若某存储器芯片地址线为12根,那么它的存储容量为( C ) A、1KB B、2KB C、4KB D、8KB 控制串行接口工作方式的寄存器是( C ) A、TCON B、PCON C、SCON D、TMOD 判断是否溢出时用PSW的(B )标志位,判断是否有进位时用PSW的( A )标志位。 A.CY B.OV C.P D.RS0 E.RS1 当串行口向单片机的CPU发出中断请求时,若CPU 允许并接受中断请求时,程序计数器PC的内容将被自动修改为( E )。 A.0003H B.000B C.0013H D.001BH E.0023H 子程序的返回和中断响应过程中的中断返回都是通过改变PC的内容实现的,而PC内容的改变是(D )完成的。 A.通过POP命令B.通过MOV 指令C.通过RET或RETI指令D.自动 单片机复位后,SP、PC、I/O口的内容为(C )A.SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFH B.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H C.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H 堆栈指针SP的作用是( B )。 A 指示堆栈的栈底 B 指示堆栈的栈顶 C 指示下一条将要执行指令的地址 D 指示中断返回的地址 下列指令中,不影响堆栈指针的指令是( B)。 A RET B JB bit,rel C LCALL addr16 D RETI 定时器T1的中断入口地址是( C ),从该地址开始一般可(F )。 A 0003H B 000BH C 001BH D 0013H E 连续存放中断服务程序 F 存放转移指令定时器T0的溢出标志TF0,在CPU响应中断后( B )。 A 由软件清零 B 由硬件清零 C 随机状态 D AB都可以 在进行串行通信时,若两机的发送与接收可以同时进行,则称为(D )。 A 半双工传送 B 单工传送 C 双工传送 D 全双工传送 在CPU内部,反映程序运行状态或反映运算结果一些特征的寄存器是(B )。 A . PC B. PSW C. A D. SP 二、填空题 晶振的频率为6MHz时,一个机器周期为(2)μS。 欲使P1口的低4位输出0,高4位不变,应执行一条(ANL P1,#0F0H )命令。 MCS-51单片机系列有( 5 )个中断源,可分为( 2 )个优先级。 计算机三大总线分别为(数据总线)、(地址总线)和控制总线。 MCS-51指令系统中,ADD与ADDC指令的区别是(是否带进位)。 8051单片机有( 2 )个16位定时/计数器。MCS-51单片机有(4 )个并行输入/输出口,当系统扩展外部存储器或扩展I/O口时,(P0 )口作地
第5章STC15F2K60S2单片机的程序设计 例题 例5.1 分析ORG在下面程序段中的控制作用 ORG 1000H START: MOV R0,#60H MOV R1,#61H …… ORG 1200H NEXT: MOV DPTR,#1000H MOV R2,#70H …… 解:以START开始的程序汇编后机器码从1000H单元开始连续存放,不能超过1200H 单元;以NEXT开始程序汇编后机器码从1200H单元开始连续存放。 例5.2 分析END在下面程序段中的控制作用。 START: MOV A,#30H …… END START NEXT: …… RET 解:汇编程序对该程序进行汇编时,只将END伪指令前面的程序转换为对应的机器代码程序,而以NEXT标号为起始地址的程序将予以忽略。因此,若NEXT标号为起始地址的子程序是本程序的有效子程序的话,应将整个子程序段放到END伪指令的前面。
例5.3 分析下列程序中EQU指令的作用 AA EQU R1 ;给AA赋值R1 DA TA1 EQU 10H ;给DA TA1赋值10H DELAY EQU 2200H ;给DELAY赋值2200H ORG 2000H MOV R0,DATA1 ;R0←(10H) MOV A,AA ;A←(R1) LCALL DELAY ;调用起始地址为2200H的子程序 END 解:经EQU定义后,AA等效于R1,DATA1等效于10H,DELAY等效于2200H,该程序在汇编时,自动将程序中AA换成R1、DATA1换成10H、DELAY换成2200H,再汇编为机器代码程序。 使用赋值伪指令EQU的好处在于程序占用的资源数据符号或寄存器符号用占用源的英文或英文缩写字符名称来定义,后续编程中凡是出现该数据符号或寄存器符号就用该字符名称代替,这样,采用有意义的字符名称进行编程,更容易记忆和不容易混淆,也便于阅读。
1、单片机的机器周期、状态周期、振荡周期和指令周期之间是什么关系? 答:一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。 2、存储器中有几个保留特殊功能的单元用做入口地址?作用是什么? 答:MCS-51系列单片机的存储器中有6个保留特殊功能单元; 作用:0000H为复位入口、0003H为外部中断0入口、000BH为T0溢出中断入口、0013H为外部中断1入口、001BH为T1溢出中断入口、0023H为串行接口中断入口。 3、开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工 作寄存器组? 答:开机复位后,CPU使用的是第0组工作寄存器。 它们的地址是00H~07H。CPU通过对程序状态字PSW中RS1、RS0的设置来确定和改变当前工作寄存器组。如:RS1、RS0为00则指向第0组;为01则指向第1组;为10则指向第2组;为11则指向第3组。 4、MCS-51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片 机时钟周期为多少微秒? 答:MCS-51的时钟周期是最小的定时单位,也称为振荡周期或节拍。一个机器周期包含12个时钟周期或节拍。不同的指令其指令周期一般是不同的,可包含有1~4个机器周期。 当振荡频率为8MHz时,一个单片机时钟周期为0.125μs 。 5、EA/V 引脚有何功用?8031的引脚应如何处理?为什么? PP 答:EA/V PP是双功能引脚: (1)EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超出低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。 (2)EA接低电平时,CPU只能执行外部程序存储器的指令。 8031单片机内部无ROM,必须外接程序存储器。因此,8031的EA引脚必须接低电平。 在对8751单片机内部的EPROM编程时,此引脚V PP外接+12V电压,用于固化EPROM程序。 6、单片机对中断优先级的处理原则是什么? 答:⑴低级不能打断高级,高级能够打断低级; ⑵一个中断以被响应,同级的被禁止; ⑶同级,按查询顺序,INT0→T0→INT1→T1→串行接口。 7、MCS-51的外部中断的触发方式有哪两种?他们对触发脉冲或电平有什么要求? 答:有电平触发和脉冲触发。
单片机复习题(仅供参考) 任务一 1.十进制数126对应的十六进制可表示为 D 。 A.8F B.8E C.FE D.7E 2.二进制数110010010对应的十六进制数可表示为 A 。 A.192H B.C90H C.1A2H D.CA0H 3.计算机内部的数据之所以用二进制的形式表示,主要是 B 。 A.为了编程方便B.由于受器件的物理性能限制 C.为了通用性D.为了提高运算速度 4.计算机主要的组成成分为 B 。 A.CPU 、内存、I/O口B.CPU 、键盘、显示器 C.主机、外部设备D.以上都是 5.CPU主要的组成成分为 C 。 A.运算器、控制器B.加法器、寄存器 C.运算器、寄存器D.运算器、指令译码器 6.以下不是构成单片机的部件 D A.微处理器B.存储器C.I/O接口电路D.打印机7.89C51的CPU是 C 的单片机 A.16 B.4 C.8 D.准16 8.AT89C51单片机的字长是 C 位。 A.32 B.16 C. 8 D. 4 9.程序计数器PC用来 B 。 A.存放指令B.存放下一条的指令地址 C.存放正在执行的指令地址D.存放上一条的指令地址 10.当标志寄存器PSW的RS0和RS1分别为0和1时,系统选用的工作寄存器 组为 C 。 A.组1 B.组3 C.组2 D.组0 11.进位标志Cy在 C 中。 A.累加器B.算术逻辑运算单元ALU
C.程序状态字寄存器PSW D.PC中 12.指令和程序是以 C 形式存放在程序存储器中。 A.源程序B.汇编程序C.二进制编码D.BCD码13.单片机应用程序一般存放在 B 。 A.RAM B.ROM C.CPU D.寄存器 14.51单片机中专用寄存器( B )用来存放下一条待执行的指令地址。 A.ACC B.PC C.PSW D.DPTR 15.AT89C51单片机有片内的ROM容量 A A.4KB B. 8KB C. 00H-1FH D.20-2FH 16.89C51片内的Ram共有B 字节。 A.128 B.256 C.4K D.64K 17.89C51内部RAM中,可以进行位寻址的内部空间 B 。 A.00H~2FH B.20H~2FH C.00H~FFH D.20H~FFH 18.89C51单片机即可位寻址又可字节寻址的单元是 A 。 A.20H B.30H C.00H D.70H 19.P0和P1作输入用途之前必须 A 。 A.相应端口先置1 B.相应端口先置0 C.外接高电平D.外接上拉电阻 20.单片机89C51的XTAL1和XTAL2引脚是 D 引脚。 A.外接定时器B.外接串行口C.外接中断D.外接晶振21.51单片机的 A 引脚保持两个机器周期的高电平,单片机进入复位状态。 A.RESET B.EA C.VSS D.ALE 22.51单片机的 B 引脚接高平时,CPU可访问内部和外部的ROM。 A.RESET B.EA C.VSS D.ALE 二、填空题 1.十六进制数转换成十进制数0x64=__100____,二进制数转换成十六进制数 10110110B=0x b6 ,01010110B 是个BCD码,它代表的十进数是 __56___。
第二章习题参考答案 一、填空题: 2、MCS-51的堆栈是软件填写堆栈指针临时在片内RAM数据存储器内开辟的区域。 INCDEC都不影响PSW 堆宅操作只有一条寻址方式直接寻址方式 3、当使用8751且EA=1 〃程序存储器地址小于1000H时〃访问的是片内 ROM 7、PSW中RS1RSO=10寸〃R2 的地址为12H。 8、PSW中RS1RS0=11 时〃R2的地址为1AH。 17、使用8031芯片时〃需将/EA引脚接低电平〃因为其片内无ROM存 22、但单片机的型号为8031/8032时〃其芯片引线EA一定要接di电平
7、单片机8031的ALE引脚是()。 A、输出高电平 B、输出矩形脉冲〃频率为fosc的1/6 C、输出低电平 D、输出矩形脉冲〃频率为fosc的1/2 11、单片机上电复位后〃堆栈区的最大允许范围是()个单兀。 A、64 B、120 C、128 D、256 12、单片机上电复位后〃堆栈区的最大允许范围是内部RAM的() A、OOH—FFHB 001■— 07HC 071■— 7FHD 08H— 7FH 13、对于8031单片机〃其内部RAM()O A、只能位寻址 B、只能字节寻址 C、既可位寻址又可字节寻址 D、少部分能位寻址 18、单片机8051的XTAL1和XTAL2引脚是()弓I脚。 A、外接定时器 B、外接串行口 C、外接中断 D、外接晶振 23、MC—51的专用寄存器SFR中的堆栈指针SP是一个特殊的存贮区〃用来()〃它是按后进先出的原则存取数据的。 A、存放运算中间结果 B、存放标志位 C、暂存数据和地址存放待调试的程序
一、选择题(每题 1 分,共 10分) 1.8031单片机的 ( D ) 口的引脚,还具有外中断、串行通信等第 二 功能。 2.单片机应用程序一般存放在( B ) a ) RAM b ) ROM c ) 寄 存器 d ) CPU 3.已知某数的BC [码为0111 0101 0100 0010 则其表示的十进制数 值为( B ) 4. 下列指令中不影响标志位CY 的指令有(D a ) ADD A , CLR c ) RRC A 5. CPU 主要的组成部部分为(A a )运算器、控制器 a ) 7542H b ) 7542 c d ) c )运算器、寄存器 d )运算器、指令译码器 a )P0 b ) P1 c )P2 d ) P3 20H b ) d ) INC A ) b )加法器、寄存器
a ) 16 4 c )8 7. 8031复位后,PC 与SP 的值为( B ) a ) 0000H , 00H b ) 0000H , 07H 07H d ) 0800H , 00H 8. 当需要从 MCS-51 单片机程序存储器取数据时, (B )。 a ) MOV A, @R1 MOVC A, @A + DPTR c ) MOVX A, @ R0 MOVX A, @ DPTR 9. 8031 单片机中既可位寻址又可字节寻址的单元是 a )20H b )30H 00H d ) 70H 10. 下列哪条指令是正确的( D ) a ) PUSH R2 ) ADD R0,A 6. INTEL 8051 CPU 是(C )位的单片 b ) d )准 16 c ) 0003H , 采用的指令为 b ) d ) (A )
单片机期末考试试题(答案) 01、单片机就是将微处理器、一定容量得 RAM与ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成得微型计算机. 2、单片机89C51片内集成了 4 KB得FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51就是以下哪个公司得产品?(C) A、INTEL B、AMD C、ATMEL D、PHILIPS 5、在89C51中,只有当EA引脚接高电平时,CPU才访问片内得Flash ROM. 6、就是非题:当89C51得EA引脚接低电平时,CPU只能访问片外ROM,而不管片内就是否有程序存储器。T 7、就是非题:当89C51得EA引脚接高电平时,CPU只能访问片内得4KB空间。F 8、当CPU访问片外得存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由 P0 口提供。 9、在I/O口中,P0口在接LED时,必须提供上拉电阻, P3 口具有第二功能。 10、就是非题:MCS-51系列单片机直接读端口与读端口锁存器得结果永远就是相同得。F 11、就是非题:就是读端口还就是读锁存器就是用指令来区别得。T 12、就是非题:在89C51得片内RAM区中,位地址与部分字节地址就是冲突得。F 13、就是非题:中断得矢量地址位于RAM区中。F 14、MCS-51系列单片机就是属于( B )体系结构. A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 15、89C51具有64 KB得字节寻址能力。 16、就是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令.T 17、在89C51中,片内RAM分为地址为 00H~7FH得真正RAM区,与地址为80H~FFH 得特殊功能寄存器(SFR)区两个部分。 18、在89C51中,通用寄存器区共分为 4 组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前得工作寄存器. 19、就是非题:工作寄存器区不允许做普通得RAM单元来使用。F
选择题 1、主频为12MHz的单片机他的机器周期为(c)。 A、1/12微秒 B、0.5微秒 C、1微秒D、2微秒 2、MCS-51系列单片机是属于(C)体系结构。 A、冯诺依曼B、普林斯顿 C、哈佛D、图灵 3、定时器/计数器工作方式0为(A)。 A、13位定时/计数方式 B、16位定时/计数方式 C、8位可自动装入计数初值方式 D、2个8位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。 A、中断标志位B、中断允许控制位 C、中断优先级控制位 D、外部中断触发方式控制位 7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。 A、1个机器周期 B、2个机器周期 C、4个机器周期D、8个机器周期 8、在下列寄存器中,与定时器/计数器无关的是(C)。scon是控制寄存器 A、TCON B、TMOD C、SCON D、IE 9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。 A、00100101 B、01010010 C、10101101C、1101101010 10、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。 A、8.192ms B、16.384ms C、65.53msD、131.072
11、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。 A、156 B、56 C、100 D、200 12、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。 A、2MHz B、1MHz C、500KHzD、250KHz 13、利用下列(D)关键字可以改变工作寄存器组。 A、interrupt B、sfr C、while D、using 14、(D)是c语言提供的合法的数据类型关键字。 A、Float B、signedC、integer D、Char 15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。 A、1us B、2us C、4us D、8us 16、8051单片机的定时器/计数器工作方式1是(B)。 A、8位计数器结构B、16位计数器结构 C、13位计数器结构D、2个8位计数器结构 17线反转法识别有效按键时,如果读入的列线全为1,则说明(A)。 A、没有键被按下 B、有一个案件被按下 C、有多个按键被按下D、以上说法都不对、 18、利用下列(D)关键字可以改变寄存器组。 A、interrupt B、sfrC、while D、using 19、支持写入单片机或仿真调试的目标程序的文件格式是(D) A、*.ASMB、*.C C、*.EXE D、*.HEX 20.MCS_51单片机的复位信号是(A)有效。 A高电平 B 低电平 C 脉冲D下降沿 21.AT89S51单片机是(B)单片机。 A4位 B 8位C16位D32位
1、单片机应用程序一般存放在( B ) A、RAM B、ROM C、寄存器 D、CPU 2.在单片机中,通常将一些中间计算结果放在( A )中 A、累加器 B、控制器 C、程序存储器 D、数据存储器 3.89C51单片机有片内ROM容量( A) A 4K B B、8KB C、128B D、256B 4、CPU主要的组成部部分为( A ) A、运算器、控制器 B、加法器、寄存器 C、运算器、寄存器 D、运算器、指令译码器 5.INTEL 8051 CPU就是( C )位的单片机 A、16 B、4 C、8 D、准16 6.CPU由___运算器__与控制器构成。 1、PC存放__下一条要执行的指令的16位地址__,具有_ 自动加一_特性。在8051中决定程序执行顺序的就是PC还就是DPTR?就是PC它就是_16__位?(就是,不就是)不就是SFG? 2、PSW用于存放__指令执行后的有关状态____,在8051中PSW就是__8___ 位,当8051执行94H+4BH后,PSW的CY、AC、OV、P的值就是多少?CY=0、AC=0、OV=0、P=1 3、什么就是堆栈?8051的堆栈设在何处?哪个寄存器就是堆栈指针?堆栈存取数据的原则就是什么? 答:1)堆栈就是在内RAM区专门开辟出来的进行数据存取的一块连续的存储区域。2) 设在07H上。3)SP 4)先进后出 4.单片机的堆栈指针SP始终就是( B ) A、指示堆栈底 B、指示堆栈顶 C、指示堆栈地址 D、指示堆栈长度 5、进位标志CY在( C )中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存PSW D、DPTR 6、、8031单片机中的SP与PC分别就是( C)的寄存器。 A、8位与8位 B、16位与16位 C、8位与16位 D、16位与8位 7、DPTR就是什么寄存器?它的作用就是什么?它由哪几个特殊功能寄存器组成? 答:数据指针DPTR就是16位的专用寄存器。作为对外部数据存储器进行寻址的地址指针。由两个8位的寄存器DPH与DPL构成 1、8051单片机的内部RAM可以分为几个不同的区域?各区的地址范围及其特点? 答:4个区域。工作寄存器区00H-1FH 由32个单元组成,共4个区,可以通过设置PSW 中的RS1与RS0选择不同的工作寄存器。 位寻址区20H-2FH 这16个RAM单元可以按位操作,也可以按字节操作数据 缓冲区30H-7FH 这些单元只能按字节寻址 SFR区80H-FFH 特殊功能寄存器中地址可以被8整除的,可以按位寻址,特殊功能寄存器记录了单片机工作状态及工作方式 2.为了使10H—17H作为工作寄存器使用,应该采用什么办法实现?写出相关指令。CPU复位后,R0---R7的单元地址就是多少?