视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
单片机试题2答案
2025-10-05 17:14:22 责编:小OO
文档
“单片机原理与接口技术”复习题

一、填空

1、若外接晶振为6MHz,则8031单片机的振荡周期为 1/6μs ,时钟周期为  1/3μs ,机器周期为 2μs ,指令周期最短为  2μs  ,最长为   8μs   。

2、SP是 堆栈指针寄存器,PC是 指令指针寄存器  ,DPTR是 数据指针寄存器   。

3、外接程序存储器的读信号为 OE* 低有效   ,外接数据存储器的读信号为  OE*   。

4、程序中“LOOP:SJMP rel”的相对转移以转移指令所在地址为基点向前(大地址方向)最大可偏移  +127       个单元地址,向后(小地址方向)最大可偏移  -128   个单元地址。

5、“MOVC A, @A+DPTR”指令为 基址加变址寻址或变址寻址    寻址方式。

6、单片机寻址方式是指寻找 操作数所在地址    或 转移目标地址  的方式,常用的寻址方式有 立即寻址   、 直接寻址    、 寄存器寻址    、 寄存器间接寻址    、 变址寻址    等。

7、8031单片机内存20H的第7位,它的位地址为  07H   。

8、循环结构程序中循环控制的实现方法有 DJNZ 和  CJNE      。

9、循环结构程序中,当循环次数已知时,应采用 DJNZ     控制法,循环次数未知时,应采用 CJNE    控制法。

10、80C51单片机的位寻址区包括 20H-2FH  和 可按位寻址的SFR   。

11、由8031组成的单片机系统在工作时,EA引脚应该接  地   (我查过课本,这个是正确的)        。

12、LJMP的跳转范围是 KB      ,AJMP的跳转范围是  2KB    ,SJMP的跳转范围是 -128B-+127B           。

13、若A中的内容为68H,那么P标志位为  1     。

14、单片机上电复位时PC= 0000H   ,SP=   07H   ;而工作寄存器则缺省采用第

  0  组,这组寄存器的地址范围是 00H-07H         。

15、JZ  rel 的操作码地址为1000H,rel=20H,它转移的目标地址为  1022H      。

16、8051内部有 4个8位的  并行口,P0口直接作输出口时,必须外接 上拉电阻      ;并行口作输入口时,必须先 置1    ,才能读入外设的状态。

17、MCS-51的堆栈只可设置在片内RAM  ,其最大长度为 128  ,存取数据的原则是 先进后出  。堆栈寄存器SP是 8    位寄存器,用来存放 栈顶指针            。

18、假定(SP)=40H ,  (39H)=30H,(40H)=60H。执行下列指令:

POP  DPH

POP  DPL

后,DPTR的内容为  6030H          ,SP的内容是    38H         。

19、CJNE <目的字节>,<源字节>,rel属于五大类指令中的__控制转移  _  ______类指令,其操作码助记符含义是__比较不等则转移_  __________。

二、选择题

1、8031单片机的(      )口的引脚,还具有外部中断、串行通信等第二功能。

a)P0         b)P1        c)P2        d)P3

2、下列指令中不影响标志位CY的指令有(     )。   

     a)ADD  A,20H         b)CLR   C       c)RRC  A        d)INC  A

3、当需要从MCS-51单片机程序存储器取数据时,采用的指令为(  )。  

   a)MOV  A, @R1           b)MOVC  A,  @A + DPTR        

c)MOVX  A, @ R0         d)MOVX  A,  @ DPTR 

4、8031单片机中既可位寻址又可字节寻址的单元是(     )   

    a)20H            b)30H            c)00H          d)70H  

5、下列哪条指令是正确的(       )

a)  PUSH    R2            b)  ADD      R0,A

c)  MOV      A,@DPTR    d)  MOV    @R0,A

6、执行中断返回指令时,从堆栈顶部弹出的内容送给( ).

(A) A   (B) CY   (C)PC   (D) DPTR

7、A7H和5BH两个立即数相加后,和为(    ),(CY)是(   )。

    (A)1CH,0                         (B)  C1H,0

     (C)  02H,1                         (D)  C1H,1

8、若(A)=86H,(PSW)=80H,则执行RRC  A指令后,A的内容是(    )。

(A)C3H       (B) B3H          (C) 0DH         (D) 56H

9、如果(P0)=65H ,则当

CPL  P0.2

SETB  C

MOV  P0.4 ,C

执行后(P0)=(    )

(A)61H         (B) 75H          (C) 71H          (D) 17H

10、若片内(60H)=8H,(R0)=60H,A=7H,则执行指令        后,片内(60H)=7H.

(A)MOV  R0,A;      (B)MOVX  R0,A;  

(C)DEC  @R0;      (D)DEC  R0;

11、MCS--51单片机在执行MOVX  A,@DPTR指令时,将发出             信号。

(A)地址信号和RD信号;(B)数据信号和RD信号;

(C)地址信号和WR信号;(D)数据信号和WR信号;

12、调用指令ACALL 的调用范围是           。

(A)2K    (B)K   (C)256    (D)512

13、SJMP  ﹩ 指令跳转的偏移量范围为:        。

(A)-128~127;         (B)0~256;    (C)0~2047;        (D)0~65535;

14、执行MOV  PSW,#08H指令后,被选中的当前工作寄存器R0~R7是:        。

(A)第0组        (B)第1组        (C)第2组        (D)第3组

15、复位后执行PUSH  00H,是把:         。

(A)R0压入08单元                (B)00H压入07H单元

三、判断题(对者打√,错者打×)

1、 MCS-51系列芯片复位后堆栈设置成从07H单元开始使用。×

2、 MCS-51中工作寄存器R7的实际物理地址与PSW中内容有关。

3、 DA  A指令只能用在减法指令之后起到十进制调整的作用。×

4、使用8031的MCS-51系统其EA引脚必须接地。×

5、中断服务程序的最后一条指令是RET。×

6、P2口既可以作为I/O使用,又可以作地址/数据复用口使用。×

7、MOV  A,30H的源操作数为立即寻址方式。×

8、MOV  A,@A+DPTR是一条查表指令。×

9、MUL  AB的执行结果是高8位在A中,低8 位在B中。×

10、AJMP跳转空间最大可达到KB 。×

11、DPTR是由DPH和DPL两个8位特殊寄存器组成的。

12、汇编语言源程序中的伪指令汇编成目标程序时不产生机器码。

13、MCS-51系列芯片特殊寄存器区按字节寻址时可以采用间接寻址。×

14、8051单片机的算术逻辑部件能完成带借位和不带借位的减法运算。×

15、在MCS-51中,为使准双向的I/O口工作在输入方式,必须先预置为1。

四、改错

请判断下列各条指令的书写格式是否有错,如有错说明原因:

1.MUL  R0R1;乘法指令的操作数只能用AB

2.MOV  A,@R7;寄存器间接寻址不能使用R7

3.MOV  A,#3000H;A是8位的,#3000H是个十六位的立即数,字长不匹配

4.MOVC  @A+DPTR, A;该指令只读不写

5.LJMP  #1000H;该指令的操作数是转移地址而不能是立即数

6. MOVX  @R0,B ;片外RAM的数据传送必须借助累加器A

7. MOV  A,30H        

8. MOVX  A,30H    ;片内RAM的数据传送只能通过MOV指令

9. ADDC  A,R7        

10. SUB  A,R2    ;51系列的减法指令助记符是SUBB    

11. ANL  #99H ,36H        ;该指令的目的操作数只能是A或直接地址,而不能是立即数

12. MOV  C,ACC.0    

13. ORL  P1.0,P3.1    ;逻辑位操作指令的两个操作数不能同时是直接地址

14. JBC    P0,LL1        ;该指令的第一个操作数是针对位地址的,而不是字节地址

15. ACALL    PROC    

16. MOV  20H , R1  ( )                   

17.  ADDC  A , 2030H  (直接寻址的地址必须是片内RAM的地址 )

18. CLR  A         ( )                    

19.  MOVX  40H , #30H( MOVX指令的读写必须借助累加器并且采用寄存器间接寻址方式)

20. ORG  3000H     ( )                   

21.  MOVC  @A+PC , A( 该指令只读不写)

22. MOVX  A ,2000H ( MOVX指令必须使用寄存器DPTR存放片外RAM的地址,采用间接寻址方式)                   

23.  DJNZ  #data , rel   (该指令不能用立即数做第一个操作数 )

24. INC  @R5       ( 寄存器间接寻址的寄存器不能使用R5)                    

25.  DEC  DPTR      (针对DPTR寄存器只有加1指令没有减1指令 )

26. MOV  R1 ,@ R2 (传送指令的两个操作数不能同时为寄存器 )                    

27.  SWAP  R1       (该指令只能用累加器A做操作数)

28. SETB  2000H   ( 该指令的操作数只能是位地址)                    

29.  JZ  A , LOOP      (该指令是单操作数指令,累加器A是隐含的操作数 )

30 DA  R2          ( 该指令只能用累加器A做操作数  )

五、按题意编写程序并加以注释,加上必要的伪指令。

1、将40H中ASCII码转换为一位BCD码,存入42H的高4位中。

MOV A,40H

CLR C

SUBB A,#30H

SWAP A

MOV 42H,A

END 

2、将片内RAM的20H-24H单元中5个压缩BCD码拆开,并转换为10个ASCII码,依次存入2100H-2109H单元中。

MOV R0,#20H 

MOV DPTR,#2100H

MOV R7,#5

LOOP1:MOV A,@R0

MOV 30H,A

MOV R2,#2

SWAP A

LOOP:ANL A,#0FH

ADD  A,#30H

MOVX @DPTR,A

INC DPTR

MOV A,30H

DJNZ R2,LOOP

INC R0

DJNZ R7,LOOP1

3、请编写多字节加法子程序。入口条件有3个,即字节长度、加数首地址和被加数首地址,累加和存放地址与加数存放单元相同。请标注出口结果。对源程序加注释和伪指令。

JIAFA:CLR C

LOOP:MOV A,@R0

      ADDC A,@R1

      MOV @R1,A

INC R0

INC R1

      DJNZ R7,LOOP

RET

4、在片外数据存储器8000H和8001H单元内各有一个小于0CH的数,请编写源程序求出这两个数的平方之和,要求采用调用查表子程序的方法实现。平方和存放在片内RAM中。对源程序加注释和伪指令。

MOV DPTR,#8000H

MOVX  A,@DPTR

MOV 30H,A

INC DPTR 

MOVX A,@DPTR

MOV 31H,A

MOV DPTR,#TAB

MOV A,30H

MOVC A,@A+DPTR

MOV 30H,A

MOV A,31H

MOVC A,@A+DPTR

ADD A,30H

MOV 30H,A;    平方和存在30H中

   TAB:DB 0,1,4,9,16,25,36,49,,81,100,121

   END

6、编写一程序将片外数据存储器中7000H~70FFH单元全部清零。

MOV R7,#0

MOV DPTR,#7000H

CLR A

LOOP:MOVX @DPTR,A

INC DPTR

DJNZ R7,LOOP

END

七、读程序题

1.执行下列程序段后,(P1)=___9BH____。01011101  

                                          10011011

  MOV  P1,#5DH

  CPL  P1.1

  CPL  P1.2

  CLR  P1.6

  SETB  P1.7

2.执行下列程序段后,(A)=__8BH_____,(C)=_ 0  ___。11000101

  MOV  A,#C5H

  RL  A

3.下列程序段执行后,(R0)=__7FH_____,(7EH)=_00H___,(7FH)=_41H______。

   MOV  R0,#7EH

   MOV  7EH,#0FFH

   MOV  7FH,#40H

   INC  @R0

   INC  R0

   INC  @R0

4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=_0345H__,(61H)=__25H_____,(62H)= _01H___。

5.阅读下列程序,说明其功能。

  MOV  R0,#data

  MOV  A,@R0  

  RL  A

  MOV  R1,A

  RL  A

  RL  A

  ADD  A,R1

  MOV  @R0,A

  RET  将R0 的内容乘以10 

6.阅读程序并填空,形成完整的程序以实现如下功能。

有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H,每个字符串的内容为7位,要求在每个字符串的D7位加上偶校验位。(以调用子程序的方法来实现。)

源程序如下:

            ORG    1000H

            MOV    R0,#40H

            MOV    R7,#10

    NEXT:    MOV    A, ① @R0

            ACALL    SEPA

            MOV        @R0,A

            INC        R0

            DJNZ    ②R7 ,NEXT

            SJMP    $

    SEPA:     JNB ③     PSW.0,SRET

            ORL    A, ④ #80H 

    SRET:    ⑤RET下载本文

显示全文
专题