×
单片机 > 单片机程序设计 > 详情

MCS-51单片机试题及答案

发布时间:2020-09-03 发布时间:
|
试题 
一、填空题(每空1分,共10分)

  1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_________.

  2.P0通常用作_________.

  3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________.

  4.返回地址(或断点)是_________的程序计数器的内容。

  5.中央处理器CPU是单片机的核心,它完成_________.

  6.单片机的工作过程,实际上就是_________.

  7.所谓中断源即是_________.

  8.端口(或称口)是_________.

  9.异步串行近程通信时的传送信号是_________.

  10.若累加器A中的数据为01110010B,则PSW中的P=_________.

  二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分)

  1.MCS—51单片机的复位信号是(   )有效。

  A.高电平   B.低电平   C.脉冲   D.下降沿

  2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过(   )。

  A.2μs   B.4μs   C.8μs   D.1ms

  3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用(   )指令。

  A.PUSH   R0   B.PUSH   @R0

  C.PUSH   00H   D.PUSH   08H

  4.能够用紫外光擦除ROM中程序的只读存储器称为(   )。

  A.掩膜ROM   B.PROM   C.EPROM   D.EEPROM

  5.在片外扩展一片2764程序存储器芯片要(   )地址线。

  A.8根   B.13根   C.16根   D.20根

  6.定时器/计数器工作方式1是(   )。

  A.8位计数器结构   B.2个8位计数器结构

  C.13位计数结构   D.16位计数结构

  7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为(  

  A.2MHz   B.1MHz   C.500KHz   D.250KHz

  8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为(   )。

  A.06H   B.F9H   C.30H   D.CFH

  9.下列数据字定义的数表中,(   )是错误的。

  A.DW“AA”   B.DW“A”

  C.DW“OABC”   D.DWOABCH

  10.串行口的控制寄存器SCON中,REN的作用是(   )。

  A.接收中断请求标志位   B.发送中断请求标志位

  C.串行口允许接收位   D.地址/数据位

  三、简答题(每小题4分,共20分)

  1.简述堆栈。

  2.简述变址寻址方式并举例说明。

  3.简述中断响应的主要内容。

  4.简述汇编语言中的标号有什么规定

  5.A/D转换器转换数据的传送有几种方式

  四、读程序(每小题4分,共20分)

  1.执行下列程序段中第一条指令后,(1)(P1.7)=____   (P1.3)=_____,(P1.2)=_________;执行第二条指令后,(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________.

  ANL   P1,#73H

  ORL   P1,#38H

  2.下列程序段执行后,(A)=_________,(B)=_________.

  MOV   A,#0FBH

  MOV   B,#12H

  DIV   AB

  3.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________.

  MOV   R0,#7FH

  MOV   7EH,#0

  MOV   7FH,#40H

  DEC   @R0

  DEC   R0

  DEC   @R0

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

  PUSH   DPL

  PUSH   DPH

  5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间

  MOV R3,#100;1

  LOOP:NOP   ;1

  NOP

  NOP

  DJNZ   R3,LOOP   ;2

  RET   ;   2

  五、编程题(每小题4分,共20分)

  1.请使用位操作指令,实现下列逻辑操作:

  P1.5=ACC.2∧P2.7∨ACC.1∧P2.0

  2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.

  3.已知内部RAM   30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。

  4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。

  5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。

  六、综合应用题(每小题10分,共20分)

  1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请:

  (1)画出逻辑电路图

  (2)说明其存储空间

  2.已知D/A转换器DAC   0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请

  (1)画出单缓冲接口方式电路

  (2)编程产生正向锯齿波

 

答案

   一、填空题(每空1分,共10分)

  1.低电平

  2.单片机系统的地址/数据总线

  3.10H~17H

  4.在程序中断或子程序调用时

  5.运算和控制功能

  6.周而复始地取指令和执行指令的过程

  7.引起中断的原因(或能发出中断请求的来源)

  8.接口电路中已编址并能进行读或写操作的寄存器

  9.TTL电平信号

  10.0

  二、单项选择题(每题1分,共10分)

  1.A   2.B   3.D   4.C   5.B

  6.D   7.C   8.A   9.C   10.C

  三、简答题(每题4分,共20分)

  1.(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。

  (2)用MOV SP,#STK指令建立堆栈。

  (3)存放数据按“后进先出”原则进行。

  (4)利用PUSH、POP指令即可进行进栈、出栈操作。

  2.(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。

  (2)变址寻址只能对移定存储器寻址,其指令只有三条:

  MOVC A,@A+DPTR

  MOVC A,@A+PC

  JMP @A+DPTR

  前二条为查表指令,后一条为无条件转移指令

  3.由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为:

  (1)将程序计数器PC的内容(断点)压栈

  (2)将中断入口地址装入PC,转去执行中断服务程序

  4.(1)标号由1—8字符组成,头一个字符必须是字母。

  (2)不能使用汇编语言已定义的符号。

  (3)标号后必须跟冒号:

  (4)同一标号在一个程序中只能定义一次。

  5.(1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。

  (2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。

  (3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。

  四、读程序(每题4分,共20分)

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

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

  2.(A)=0DH(或13)

  (B)=11H(或17)

  3.(R0)=7EH,(7EH)=FFH,(7FH)=3FH

  4.(SP)=0BH

  (0AH)=67H

  (0BH)=45H

  5.一个机器周期为2μs

  执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms

  五、编程题(每题4分,共20分)

  1.先进行与操作,再进行或操作程序如下:

  MOV   C,ACC.1

  ANL   C,P2,0

  MOV   12H,C

  MOV,C,A   CC.2

  ANL   C,P2.7

  ORL   C,12H

  MOV   P1.5,C

  RET

  2.   MOV   R2,#10

  MOV   DPRT,#TABLE

  LOOP:   MOV    A,@DPRT;取一数

  ORL   A,#80H;最高位置1

  MOV    @DPTR,A;写回原地址

  1NC   DPTR;处理下一单元

  DJNZ   R2,LOOP

  RET

  3.   MOV   R0,#30H

  MOV   R1,#00H

  MOV   R2,#20H

  LOOP: MOV   A,@R0;取数

  MOV    @R1,A;存数

  1NC   R0

  1NC   R1

  DJNZ R2,LOOP

  RET

  4.利用移位指令作除8操作,程序如下:

  MOV   R2,#3

  LOOP:CLR   C

  MOV   A,R3

  RRC    ;高字节除以2,末位移入C,高位补0

  MOV   R3,A   ;暂存高字节

  MOV   A,R4

  RRC    ;低字节除以2,高字节末位移入低字节高位

  MOV   R3,A

  DJNZ R2,LOOP

  RET

  5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等

  MOV   R0,#42H

  MOV   R1,#52H

  LOOP:MOV   A,@R0

  CLR    ;不相等,FFH→40H

  SUBB A,@R1

  JNZ   LOOP1   ;相等时,比较下一字节

  INC   R0

  INC   R1

  DJNZ   41H,LOOP

  MOV   40H,#0   ;所有字符均相等,则两字串相等。

  RET

  LOOP1:MOV   40H,#0FFH

  RET

  六、综合应用题(每题10分,共20分)

  1.(1)逻辑图

  (2)地址:

  芯片 P2.2 P2.1 P2.0 P0.7 …… P0.0 地址范围

  2716 0 0 0 0 … 0 0000H

  …

  1 1 1 1 … 1 07FFH

  6116 0 0 0 0 … 0 0000H

  1 1 1 1 … 1 07FFH

  2.(1)

  (2)程序

  DASAW:MOV   DPTR,#7FFFH

  MOV,A,#0

  LOOP:MOVX   @DPRT,A

  1NC   A

  NOP

  AJMP   LOOP



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会