西华大学单片机复习考试题集答案更全.docx

上传人:b****6 文档编号:3357320 上传时间:2022-11-22 格式:DOCX 页数:41 大小:234.81KB
下载 相关 举报
西华大学单片机复习考试题集答案更全.docx_第1页
第1页 / 共41页
西华大学单片机复习考试题集答案更全.docx_第2页
第2页 / 共41页
西华大学单片机复习考试题集答案更全.docx_第3页
第3页 / 共41页
西华大学单片机复习考试题集答案更全.docx_第4页
第4页 / 共41页
西华大学单片机复习考试题集答案更全.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

西华大学单片机复习考试题集答案更全.docx

《西华大学单片机复习考试题集答案更全.docx》由会员分享,可在线阅读,更多相关《西华大学单片机复习考试题集答案更全.docx(41页珍藏版)》请在冰豆网上搜索。

西华大学单片机复习考试题集答案更全.docx

西华大学单片机复习考试题集答案更全

西华大学单片机习题

一.填空

1.在MCS-51单片机中,若采用6MHz晶振,则1个机器周期为2us。

2.若A中的内容为63H,则标志位P的值为0。

3.MCS-51单片机复位后,R4对应的存储单元的地址为04H,若RS1=1,RS0=0,R4对应的存储单元地址又为14H。

4.使用8031时,需将

接低电平。

5.MCS-51单片机程序存储器的寻址范围为64KB,数据存储器的寻址范围为0000H~FFFFH。

6.11根地址线可以寻址2^11(2KB)个存储单元,16KB存储单元需要14根地址线。

7.写出下列每条指令源操作数的寻址方式:

MOVA,R0寄存器寻址;MOVA,@R0寄存器间接寻址,

MOVXA,@DPTR基址寄存器间接寻址;MOVCA,@A+DPTR基址寄存器加变址寄存器间接寻址。

8.MCS-51单片机的串行口工作在方式0时,引脚P3.0的作用是送出串行数据,引脚P3.1的作用是送出移动脉冲。

二.选择题

1.MCS-51单片机的串行口工作在方式1时,其波特率是(D)。

(A)固定的,为fosc/32(B)固定的,为fosc/12

(C)固定的,为fosc/64(D)可变的,由定时器/计数器1的溢出速率确定

2.在MCS-51单片机存储器扩展中,区分扩展的是片外程序存储器还是片外数据存储器的最可靠的方法是:

(D)。

(A)看其位于地址范围的低端还是高端(B)看其离CPU芯片距离的远近

(C)看其芯片是ROM还是RAM

(D)看其是与CPU的

信号连接还是与

信号连接

3.CPU对程序计数器PC的操作是(C)。

(A)自动进行的(B)通过传送指令进行的

(C)通过加1指令进行的(D)通过减1指令进行的

4.以下有关PC和DPTR的描述中错误的是(C)。

(A)DPTR是可以访问的而PC是不能访问的

(B)它们都是16位的寄存器(C)它们都有自动加1功能

(D)DPTR可以分为两个8位的寄存器使用,但PC不能

5.PC的值是(C)。

(A)当前正在执行指令前一条指令的地址

(B)当前正在执行指令的地址

(C)当前正在执行指令后一条指令的地址

(D)控制器中指令寄存器的地址

6.假定堆栈指针的值为39H,在进行了一条子程序调用指令后,SP的值为(C)。

(A)40H(B)3AH

(C)3BH(D)41H

7.在MCS-51单片机中,下列关于地址线的说法正确的是(C)。

(A)具有独立的专用的地址线(B)由P0口和P1口的口线作地址线

(C)由P0口和P2口的口线作地址线(D)由P1口和P2口的口线作地址线

8.MCS-51单片机在寄存器间接寻址方式中,寄存器中存放的是(B)。

(A)操作数(B)操作数地址

(C)转移地址(D)地址偏移量

9.对程序存储器的读操作,只能使用(D)。

(A)MOV指令(B)PUSH指令

(C)MOVX指令(D)MOVC指令

10.下列算术运算指令后可以进行十进制调整的是(C)。

(A)加法和减法(B)乘法和除法

(C)只有加法(D)只有减法

11.下列有关MCS-51单片机中断优先级控制的叙述中,错误的是(D)。

(A)低优先级不能中断高优先级,但高优先级能中断低优先级

(B)同级中断不能嵌套

(C)同级中断请求按请求的先后顺序执行

(D)多个同级的中断请求同时申请,将形成阻塞,系统无法相应

12.在MCS-51单片机中,需要外加电路实现中断撤除的是(D)。

(A)定时中断(B)脉冲触发方式的外部中断

(C)串行中断(D)电平触发方式的外部中断

13.CPU进行中断查询,查询的是(B)。

(A)中断请求信号(B)中断标志位

(C)中断允许控制位(D)外中断触发方式控制位

14.在MCS-51单片机的下列寄存器中,与定时器/计数器控制无关的是(C)。

(A)TCON(B)TMOD(C)SCON(D)IE

15.MCS-51单片机定时器/计数器在工作方式0下,其计数范围是(A)。

(A)1~8192(B)0~8191(C)0~8192(D)1~65536

三.简答题

1.简述MCS-51单片机P0~P3口的功能。

答:

P0:

该端口为漏极开路的8位双向口,它为外部低8位地址线和8位数据线复用端口,驱动能力为8个LSTTL负载。

P1:

它是一个内部带上拉电阻的8位准双向口I/O口,P1的驱动能力为4个LSTTL负载。

P2:

它是一个内部带上拉电阻的8位准双向口I/O口,P2的驱动能力也为4个LSTTL负载。

在访问外部存储器是作为8位地址线。

P3:

为内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,每一个引脚都具有第二功能。

2.MCS-51单片机的

引脚分别输入压力超限及温度超限中断请求信号,定时器/计数器0作定时检测的定时时钟,现要求中断优先权排队的顺序为:

压力超限→温度超限→定时检测,请确定IE、IP的值。

答:

D7

D6

D5

D4

D3

D2

D1

D0

EA

-

-

ES

ET1

EX1

ET0

EX0

1

0

0

0

0

1

1

1

D7

D6

D5

D4

D3

D2

D1

D0

-

-

-

PS

PX1

PX1

PT0

PX0

0

0

0

0

0

1

0

1

(1)中断控制寄存器各位定义:

D7:

CPU中断允许位EA,应设为1

D6:

未定义,可为随意量,取为0

D5:

定时器/计数器2中断允许位ET2,可取0

D4:

串行口中断允许位ES,可取0

D3:

定时器/计数器1中断允许位ET1,应取0

D2:

外部中断1中断允许位EX1,应取1

D1:

定时器/计数器0中断允许位ET0,应取1

D0:

外部中断0中断允许位EX0,应取1

故IE=87H

(2)由硬件确定的同一优先级中断源的优先权排队顺序如下:

由题意,根据IP各位的定义:

D7:

未定义,可为随意量,取为0

D6:

未定义,可为随意量,取为0

D5:

定时器/计数器2优先权选择位PT2,可取0

D4:

串行口优先权选择位PS,可取0

D3:

定时器/计数器1优先权选择位PT1,应取0

D2:

外部中断1优先权选择位PX1,应取1,应接温度超限信号

D1:

定时器/计数器0优先权选择位PT0,由于其优先级最低,所以应取0

D0:

外部中断0优先权选择位PX0,应取1,应接压力超限信号。

故IP=05H

综上:

IE=87H;IP=05H

3.常用的I/O端口编址有哪两种方式?

它们各有什么特点?

MCS-51单片机采用的是何种编址方式?

答:

一.独立编址方式:

独立编址方式就是I/O地址空间和存储器地址空间分开编址。

独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。

但是,却需要设置一套专门的读写I/O的指令和控制信号。

二.统一编址方式:

这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。

统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。

MCS-51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。

4.简述数码管动态显示的工作原理。

答:

静态显示方式时,各位的共阴极或共阳极连接在一起并接地,每位的断码线分别与一个8位的I/O口锁存器输出相连。

如果送往各个LED数码管所显示字符的段码一经确定,则相应I/O锁存器锁存的段码输出将维持不变,直到送人另一个字符的段码为止。

动态显示方式是指无论在任何时刻只有一个LED数码管处于显示状态,即单片机采用’扫描’方式控制各个数码管轮流显示。

5.指出下列指令中的错误指令:

MOVA,P1MULA,BMOVA,@R2

MOVR1,R2SUBBA,@R0MOVXA,@A+PC

CJNER7,#77H,$INCDPTRDECDPTR

PUSHACCPUSHDPTRPOPR0

XCHDA,R3XCHA,R3MOVCA,@A+DPTR

答:

错误的指令如下:

MOVA,P1(p1不是操作数)

MULA,BAB中应无“,”

MOVA,@R2MOVA,@Ri其中i=0或1

MOVR1,R2不能从寄存器把数据在送到寄存器中去

DECDPTRDEC不能操作DPTR

PUSHACCPUSH只有PUSHdirect指令

PUSHDPTRPUSH只有PUSHdirect指令

POPR0POP只有PUSHdirect指令

XCHDA,R3XCHD只有XCHDA,@Ri指令

1.8051单片机的指令系统有何特点?

答:

8051的指令系统由111条指令组成。

如果按字节数分类,有49条单字节指令46条双字节指令和16条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64条单周期指令、45条双周期指令和2条四周期指令,以单周期指令为主。

8051的指令系统具有以下特点:

(1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行I/O口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器Rn。

这样可以大大提高传送速度和缓解累加器A的瓶颈效应。

(2)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定常数或表格字节内容传送到累加器A中。

这为编成翻译算法提供了方便。

(3)在算术运算指令中设有乘法和除法指令

(4)指令系统中一些对I/O口进行操作的指令具有“读——修改——写”的功能。

这一功能指:

在执行读锁存器的指令时,CPU首先完成将锁存器的值通过缓冲器BUF2度入内部,进行修改、改变,然后重新写到锁存器中去。

这种类型指令包含所有的逻辑操作和位操作指令。

(5)8051单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。

布尔操作类指令有17条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布尔条件转移指令。

2.8051单片机指令系统按功能可分为几类?

具有几种寻址方式?

它们的寻址范围如何?

答:

MCS-51单片机指令系统按功能可分为5类:

(1)数据传送指令

(2)算术运算指令

(3)逻辑运算和移位指令

(4)控制转移指令

(5)位操作指令

MCS-51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:

 寻址方式

使用的变量

    寻址范围

立即寻址

程序存储器

直接寻址

内部RAM低128个字节;

特殊功能寄存器SFR

寄存器寻址

R0~R7;A、B、DPTR、C

寄存器间接寻址

@R0、@R1、SP

内部RAM、堆栈指针SP

@R0、@R1、@DPTR

外部RAM

变址寻址

@A+PC、@A+DPTR

程序存储器

相对寻址

PC+偏移量

程序存储器

位寻址

内部RAM低128B位寻址区

可位寻址的特殊功能寄存器位

3.访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?

答:

访问特殊功能寄存器,应采用直接寻址、位寻址方式。

访问外部数据存储器,应采用寄存器间接寻址方式。

在0~255B范围内,可用寄存器R0、R1间接寻址:

MOVXA,@R0或MOVXA,@R1

MOVX@R0,A或MOVX@R1,A

在0~64KB范围内,可用16位寄存器DPTR间接寻址:

MOVXA,@DPTR

MOVX@DPTR,A

4.“DAA”指令的作用是什么?

怎样使用?

答:

这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD码的加法运算结果自动进行修正的,使其仍为BCD码表达形式。

在计算机中,遇到十进制调整指令时,中间结果的修正是由ALU硬件中的十进制修正电路自动进行的。

用户不必考虑何时该加“6”,使用时只需在上述加法指令后面紧跟一条“DAA”指令即可。

5.片内RAM20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?

答:

虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围00H~7FH形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。

位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。

MOVC,bit

MOVbit,C

CLRbit

SETBbit

CPLbit

ANLC,bit

ANLC,/bit

JBbit,rel

JNBbit,rel

6.8051单片机指令系统中有长跳转LJMP,长调用LCALL指令,为何还没有设置了绝对跳转AJMP,绝对调用ACALL指令?

在实际使用是应怎样考虑?

答:

在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指令AJMP、长调用指令LCALL和短调用指令ACALL。

长跳转LJMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。

长调用LCALL调用位于64KB程序空间的子程序,而短调用ACALL调用位于2KB程序空间范围的子程序。

AJMP、ACALL指令代码长度为2个字节;LJMP、LCALL指令代码长度为3个字节。

7.SJMP,AJMP和LJMP指令在功能上有何不同?

答:

指令的转移范围不同。

SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP是64KB范围内的无条件长跳转指令。

8.MOVCA,@DPTR与MOVXA,@DPTR指令有何不同?

答:

指令的转移范围不同。

SJMP是256B范围内的相对转移指令,AJMP是2KB范围内的无条件短跳转指令,LJMP是64KB范围内的无条件长跳转指令。

9.在“MOVCA,@A+DPTR”和“MOVCA,@A+PC”中,分别使用了DPTR和PC作基址,请问这两个基址代表什么地址?

使用中有何不同?

答:

使用@A+DPTR基址变址寻址时,DPTR为常数且是表格的首地址,A为从表格首址到被访问字节地址的偏移量。

使用@A+PC基址变址寻址时,PC仍是下条指令首地址,而A则是从下条指令首地址到常数表格中的被访问字节的偏移量。

10.设片内RAM中的(40H)=50H,写出执行下列程序段后寄存器A和R0,以及片内RAM中50H和51H单元的内容为何值?

MOVA,40H

MOVR0,A

MOVA,#00

MOV@R0,A

MOVA,#30H

MOV51H,A

MOV52H,#70H

答:

结果为:

(A)=30H(R0)=50H(50H)=00H(51H)=30H

11.设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。

执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?

答:

结果为:

(61H)=24H(62H)=10H(30H)=00H

(31H)=0FFHDPTR=2410H  SP=60H

12.在8051的片内RAM中,已知(20H)=30H,(30H)=40H,(40H)=50H,(50H)=55H。

分析下面各条指令,说明源操作数的寻址方式,分析按顺序执行各条指令后的结果。

MOVA,40H

MOVR0,A

MOVP1,#0F0H

MOV@R0,20H

MOV50H,R0

MOVA,@R0

MOVP2,P1

答:

指令源操作数的寻址方式执行指令后的结果

MOVA,40H直接寻址(A)=50H

MOVR0,A寄存器寻址(R0)=50H

MOVP1,#80H立即寻址(P1)=80H

MOV@R0,20H寄存器间接寻址(50H)=30H

MOVDPTR,#2000H立即寻址(DPTR)=2000H

MOV40H,30H直接寻址(40H)=40H

MOVR0,30H直接寻址(R0)=40H

MOVD0H,R0直接寻址(D0H)=40H

MOV10H,#10H立即寻址(10H)=10H

MOVA,@R0寄存器间接寻址(A)=50H

MOVP2,P1寄存器寻址(P2)=80H

13.完成以下的数据传送过程。

(1)R1的内容传送到R0。

(2)片外RAM20H单元的内容送R0。

(3)片外RAM20H单元的内容送片内RAM20H

(4)片外RAM1000H单元的内容送片内RAM20H

(5)片外RAM20H单元的内容送R0。

(6)片外RAM2000H单元的内容送片内RAM20H

(7)片外RAM20H单元的内容送片外RAM20H

答:

(1)R1的内容传送到R0;

MOVA,R1

MOVR0,A

(2)片外RAM20H单元内容送R0;

MOVDPTR,#0020H

MOVXA,@DPTR

MOVR0,A

(3)片外RAM20H单元的内容送片内RAM20H单元;

MOVDPTR,#0020H

MOVXA,@DPTR

MOV20H,A

(4)片外RAM1000H单元的内容送片内RAM20H单元;

MOVDPTR,#1000H

MOVXA,@DPTR

MOV20H,A

(5)ROM2000H单元的内容送R0单元;

MOVA,#00H

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVR0H,A

(6)ROM2000H单元的内容送片内RAM20H单元;

MOVA,#00H

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOV20H,A

(7)ROM2000H单元的内容送片外RAM20H单元。

MOVA,#00H

MOVDPTR,#2000H

MOVCA,@A+DPTR

MOVDPTR,#0020H

MOVX@DPTR,A

14.设有两个4位BCD码,分别存放在片内RAM的23H,22H单元和33H,32H单元中,求它们的和,并送入43H,42H单元中去。

(以上均为低位字节,高位在高字节)。

答:

ORG0000H

LJMPSTART

ORG0030H

START:

MOVA,22H

ADDA,32H

DAA

MOV42H,A

MOVA,23H

ADDCA,33H

DAA

MOV43H,A

SJMP$

END

15.编程将片内RAM的40H~60H单元中内容送到片外RAM以3000H开始的单元中。

答:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVR7,#20H

MOVR1,#40H

MOVDPTR,#3000H

LOOP:

MOVA,@R1

MOVX@DPTR,A

INCR1

INCDPTR

DJNZR7,LOOP

SJMP$

END

16.编程计算片内RAM区30H~37H的8个单元中数的算术平均值,结果存在3AH单元中。

答:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVR0,#30H

MOVR1,#00H

MOVR2,#00H

MOVR3,#07H

LP2:

MOVA,@R0

ADDA,R2

MOVR2,A

JNCLP1

INCR1

LP1:

INCR0

DJNZR3,LP2

MOVR3,#03H

LP3:

CLRC

MOVA,R1

RRCA

MOVR1,A

MOVA,R2

RRCA

MOVR2,A

DJNZR3,LP3

MOV3AH,R2

SJMP$

END

17.编写计算下式的程序,设乘积的结果均小于255,A,B值分别存放在片外RAM的2001H和2002H单元中,结果存于2000H单元中。

(A+B*(A+B)+10若(A+B)*(A+B)〈10

Y=(A+B)*(A+B)若(A+B)*(A+B)=10

(A+B)*(A+B)-10若(A+B)*(A+B)〉10

答:

ORG0000H

LJMPSTART

ORG0030H

START:

MOVDPTR,#2001H

MOVXA,@DPTR

MOV30H,A

MOVDPTR,#2002H

MOVXA,@DPTR

ADDA,30H

MOVB,A

MULAB

MOVR1,A

CJNEA,#10,NET1

MOVDPTR,#2000H

MOVX@DPTR,A

SJMPNET3

NET1:

JNCNET2

CLRC

MOVA,R1

ADDA,#10

MOVDPTR,#2000H

MOVX@DPTR,A

SJMPNET3

NET2:

MOVA,R1

SUBBA,#10

MOVDPTR,#2000H

MOVX@DPTR,A

NET3:

SJMP$

END

19.设有100个有符号数,连续存放在片外RAM以2200H为首地址的存储区中,试片成统计其中正数|、负数、零的个数。

答:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVR2,#100

MOVR3,#00H

MOVR4,#00H

MOVR5,#00H

MOVDPTR,#2000H

LOOP:

MOVXA,@DPTR

CJNEA,#00H,NET1

INCR3

INCDPTR

DJNZR2,LOOP

SJMPNET3

NET1:

JCNET2

INCR4

INCDPTR

DJNZR2,LOOP

SJMPNET3

NET2:

INCR5

INCDPTR

DJNZR2,LOOP

NET3:

SJMP$

END

22.试编一查表程序,从首地址为2000H、长度为9FH的数据块中找出第一个ASCII码A,将其地址送到20A0H和20A1H单元中。

答:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

LCALLSUBONE

AJMP$

;SUBONEusedptr,a,30h,31h

SUBONE

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

当前位置:首页 > 小学教育 > 语文

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

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