西北民族大学单片机考试试题.docx

上传人:b****5 文档编号:7097620 上传时间:2023-01-17 格式:DOCX 页数:17 大小:19.59KB
下载 相关 举报
西北民族大学单片机考试试题.docx_第1页
第1页 / 共17页
西北民族大学单片机考试试题.docx_第2页
第2页 / 共17页
西北民族大学单片机考试试题.docx_第3页
第3页 / 共17页
西北民族大学单片机考试试题.docx_第4页
第4页 / 共17页
西北民族大学单片机考试试题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

西北民族大学单片机考试试题.docx

《西北民族大学单片机考试试题.docx》由会员分享,可在线阅读,更多相关《西北民族大学单片机考试试题.docx(17页珍藏版)》请在冰豆网上搜索。

西北民族大学单片机考试试题.docx

西北民族大学单片机考试试题

一、读程序填空题:

1.

题干

完成以下填空。

(1)执行下列程序段后,(P1)=_______。

MOVP1,#5DH

CPLP1.1

CPLP1.2

CLRP1.6

SETBP1.7

(2)已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=______,(62H)=_。

答案

(1)(P1)=9BH。

(2)(PC)=0345H,(61H)=25H,(62H)=01H。

2.

题干

完成以下填空。

(1)执行下列程序段后,(A)=_______,(CY)=____。

MOVA,#C5H

RLA

(2)下列程序段执行后,(R0)=______,(7EH)=____,(7FH)=______。

MOVR0,#7EH

MOV7EH,#0FFH

MOV7FH,#40H

1NC@R0

1NCR0

1NC@R0

答案

(1)(A)=8BH,(CY)=0。

(2)(R0)=7FH,(7EH)=00H,(7FH)=41H。

3.

题干

在8051单片机片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分析依次执行下面各条指令的结果并填空。

指令:

结果:

MOV A,40H;

MOV R0,A;(R0)=

 MOV P1,#F0H;(P1)=

 MOV @R0,30H;(90H)=

 MOV DPTR,#3848H;(DPH)=

 MOV 40H,38H;(40H)=

MOV R0,30H;(R0)=

MOV 90H,R0;(90H)=

MOV 18H,#30H;(18H)=

MOV A,@R0;(A)=

MOV P2,P1;(P2)=

答案

(R0)=48H

(P1)=F0H

(90H)=38H

(DPH)=38H

(40H)=40H

(R0)=38H

(90H)=38H

(18H)=30H

(A)=40H

(P2)=F0H

4.

题干

判断下列各条指令的书写格式是否有错,并指出原因。

(1)MULR0R1(),原因:

()

(2)MOVA,@R7(),原因:

()

(3)MOVA,#3000H(),原因:

()

(4)MOVR1,C(),原因:

()

(5)MOVA,@A+PC(),原因:

()

答案

×,乘法指令用A×B;

×,寄存器间接寻址用R0和R1(只能用R1和R0作指针);

×,A是8位寄存器

×,C为进位位,不能送给寄存器

×,本指令为查表指令,不能用MOV,应该用MOVC

5.

题干

已知:

(30H)=X7X6X5X4X3X2X1X0B,(31H)=Y7Y6Y5Y4Y3Y2Y1Y0B,请给出下列指令执行后注释中的结果。

MOV32H,30H;

ANL32H,#0FH;(32H)=

MOVA,31H;

SWAPA;(A)=

RLA;(A)=

ANLA,#0F0H;(A)=

ORL32H,A;(32H)=

答案

(32H)=0000X3X2X1X0

(A)=Y3Y2Y1Y0Y7Y6Y5Y4

(A)=Y2Y1Y0Y7Y6Y5Y4Y3

(A)=Y2Y1Y0Y70000

(32H)=Y2Y1Y0Y7X3X2X1X0

6.

题干

执行下列程序后,(A)=,(R0)=,(R1)=。

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVSP,#50H

LCALLSBRUT

SJMP$

SBRUT:

MOVR0,#00H

MOVR1,#0AH

MOVDPTR,#DATA

LOOP:

MOVA,R0

MOVCA,@A+DPTR

CJNEA,#0FFH,LOOP1

SJMPEXIT

LOOP1:

INCR0

DJNZR1,LOOP

EXIT:

RET

DATA:

DB00H,11H,22H,33H,44H

DB55H,66H,77H,88H,99H

END

答案

(A)=99H,(R0)=0AH,(R1)=00H。

7.

题干

若(50H)=40H,执行一下程序段后(A)=,(R0)=,(40H)=,(41H)=,(42H)=。

MOVA,50H

MOVR0,A

MOVA,#00H

MOV@R0,A

MOVA,#3BH

MOV41H,A

MOV42H,41H;

答案

(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH

8.

题干

请分析依次执行下面指令的结果,并填空。

MOV SP,#35H  

MOV DPTR,#2345H 

PUSH DPL   (SP)=,(DPL)=,(36H)=

PUSH DPH   (SP)=,(DPH)=,(37H)=

……

POP DPH   (DPH)=,(SP)=

POP DPL   (DPL)=,(SP)=

 

答案

(SP)=36H,(DPL)=45H,(36H)=45H,

(SP)=37H,(DPH)=23H,(37H)=23H,

  ……

(DPH)=23H,(SP)=36H

(DPL)=45H,(SP)=35H

9.

题干

执行下列程序段中第一条指令后,

(1)(P1.7)=____,(P1.3)=_____,(P1.2)=______;执行第二条指令后,

(2)(P1.5)=____,(P1.4)=______,(P1.3)=______;执行第三条指令后(3)(P1.7)=_________,(P1.4)=_________,(P1.3)=________,(P1.2)=_________。

ANLP1,#73H

ORLP1,#38H

XRLP1,#FFH

答案

(1)(P1.7)=0(P1.3)=0,(P1.2)=0;

(2)(P1.5)=1,(P1.4)=1,(P1.3)=1;

(3)(P1.7)=1,(P1.4)=0,(P1.3)=0,(P1.2)=1。

10.

题干

分析程序并填空。

(1)下列程序段执行后,(A)=_________,(B)=_________。

MOVA,#0FBH

MOVB,#12H

DIVAB

(2)已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_______,内部RAM(0AH)=_________,(0BH)=_________

PUSHDPL

PUSHDPH

答案

(1)(A)=0DH,(B)=11H;

(2)(SP)=0BH,(0AH)=67H,(0BH)=45H.

11.

题干

下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问该单片机的机器周期=,执行下列程序约需要ms?

MOVR3,#100;1

LOOP:

NOP;1

NOP

NOP

DJNZR3,LOOP;2

RET;1

答案

2µs,1ms

12.

题干

已知(A)=83H,(CY)=0,分析执行下列指令后A和CY的值。

指令结果

RLCAA=,CY=

RLAA=,CY=

RLCAA=,CY=

RRAA=,CY=

RRCAA=,CY=

答案

A=06H,CY=1

A=0CH,CY=1

A=19H,CY=0

A=0CH,CY=0

A=06H,CY=0

13.

题干

设两个数(A)=88H,(R1)=99H,(CY)=1,执行ADDCA,R1指令求两数之和,分析和的值及PSW的有关标志位的内容,并填空,即CY=,AC=,P=,OV=小,A=。

答案

(CY)=1,(AC)=1,(P)=0,(OV)=1,(A)=22H

14.

题干

已知A=FBH,B=12H,问:

执行DIVAB指令后,A=、B=,标志位CY=、OV=和P的值。

答案

(A)=0DH,(B)=11H,(CY)=0,(OV)=0,(P)=1。

15.

题干

下面查表程序中有一个数据表,设存于R0的数为8,运行下面查表程序后R1=。

地址源程序

ORG0000H

0000H:

DECR0

0001H:

MOVA,R0

0002H:

ADDA,#03H

0004H:

MOVCA,@A+PC

0005H:

MOVR1,A

0006H:

SJMP$

0008H:

TAB:

1,4,9,16,25,36,49,64,81

END

答案

(R1)=64

16.

题干

下面查表程序中有一个数据表,设存于R0的数为8,运行下面查表程序后R1=。

地址源程序

ORG0000H

MOVDPTR,#TABLE

DECR0

MOVA,R0

MOVCY,#0

ADDCA,#01H

MOVCA,@A+DPTR

MOVR1,A

SJMP$

TABLE:

DB0,1,4,9,16,25,36,49,64,81

END

答案

(R1)=64

17.

题干

分析下面程序并填空。

MOVR0,#10H;

MOVA,#10H;(A)=

MOV@R0,A;(10H)=

ADDA,10H;(A)=

MOV20H,A;(20H)=

INCA;(A)=

MOV@R0,A;(10H)=

SWAPA;(A)=

RR,A;(A)=

MOV10H,A;(10H)=,(R0)=

答案

(A)=10H,

(10H)=10H,

(A)=20H,

(20H)=20H,

(A)=21H,

(10H)=21H,

(A)=12H,

(A)=09H,

(10H)=09H,

(R0)=10H

18.

题干

分析下面程序并填空。

MOVDPTR,#2000H;(DPL)=,(DPH)=

MOVA,#80H;

MOVX@DPTR,A;(2000H)=

INCDPTR;(DPTR)=

MOVA,#90H;

MOVX@DPTR,A;(2001H)=

MOVDPTR,#2000H;(DPTR)=

MOVXA,@DPTR;(A)=

MOVB,A;(B)=

INCDPTR;(DPTR)=

MOVXA,@DPTR;(A)=

答案

MOVDPTR,#2000H;(DPL)=00H,(DPH)=20H

MOVA,#80H;

MOVX@DPTR,A;(2000H)=80H

INCDPTR;(DPTR)=2001H

MOVA,#90H;

MOVX@DPTR,A;(2001H)=90H

MOVDPTR,#2000H;(DPTR)=2000H

MOVXA,@DPTR;(A)=80H

MOVB,A;(B)=80H

INCDPTR;(DPTR)=2001H

MOVXA,@DPTR;(A)=90H

19

题干

改正下列指令。

MOV@R3,A

MOVDPTR,A

INC@R3

DECDPTR

ADDC#30H,A

答案

MOV@R1,A

MOVX@DPTR,A

INCR1

DECR0

ADDCA,#30H

20.

题干

程序段如下,试说明其功能。

MOVR0,#50H

MOVR1,#60H

MOVA,@R0

ADDA,@R1

MOV@R0,A

INCR0

INCR1

MOVA,@R0

ADDCA,@R1

MOV@R0,A

MOV00H,C

答案

双字节无符号数加法;被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。

21.

题干

设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,试在后面的空格中填入程序执行后的结果。

CLRC

MOVR2,#3

LOOP:

MOVA,@R0

ADDCA,@R1

MOV@R0,A

INCR0

INCR1

DJNZR2,LOOP

JNCNEXT

MOV@R0,#01H

SJMP$

NEXT:

DECR0

SJMP$

结果:

(20H)=,(21H)=,(22H)=,(23H)=,CY=,AC=,A=,R0=,R1=,R2=。

答案

(20H)=20H,(21H)=00H,(22H)=17H,(23H)=01H,(CY)=1,(AC)=0,A=17H,R0=23H,R1=28H,R2=00H。

22.

题干

程序段如下,试说明其功能。

ST:

MOVA,30H

ACALLSQR

MOVR1,A

MOVA,31H

ACALLSQR

ADDA,R1

MOV32H,A

SJMP$

SQR:

MOVDPTR,#TAB

MOVCA,@A+DPTR

RET

TAB:

DB0,1,4,9,16,25,36,49,64,81

答案

30H中数的平方加31H中数的平方,和存于32H单元。

23.

题干

设(20H)=03H,(22H)=50H,(23H)=5AH,(24H)=71H,分析下面程序,说明其功能,并填写程序执行后的结果。

(21H)=,(00H)=。

CLRA

CLRC

MOVR2,20H

MOVR1,#22H

LOOP:

ADDCA,@R1

INCR1

DJNZR2,LOOP

MOV21H,A

MOV00H,C

答案

实现50H、5AH和71H三个数的相加,并将和存入21H单元,进位CY的值存入00H单元。

(21H)=1BH,(00H)=1。

24.

题干

有一程序如下,试说明其功能。

ADDB:

MOVA,40H

ADDA,50H

DAA

MOV60H,A

MOVA,41H

ADDCA,51H

DAA

MOV61H,A

RET

答案

两个双字节压缩的BCD数相加:

两数的低字节分别存于40H和50H单元,两数的高字节分别存于41H和51H单元,和的低字节存于60H单元,和的高字节存于61H单元。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1