微机原理习题库51单片机含答案.docx
《微机原理习题库51单片机含答案.docx》由会员分享,可在线阅读,更多相关《微机原理习题库51单片机含答案.docx(50页珍藏版)》请在冰豆网上搜索。
微机原理习题库51单片机含答案
第一章单片机概述与结构
一、选择题
1.访问片外部数据存储器时,不起作用的信号是(C)。
A./RDB./WEC./PSEND.ALE
2.51单片机P0口用作输出时,应外接(A)。
A.上拉电阻B.二极管C.三极管D.下拉电阻
3.进位标志CY在(C)中。
A.累加器B.算逻运算部件ALUC.程序状态字寄存器PSWD.DPTR
4.堆栈数据的进出原则是(D)。
A.先进先出B.进入不出C.后进后出D.先进后出
5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D)μs。
A.1.5B.3C.1D.2
6.在家用电器中使用单片机应属于微计算机的(B)。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用
7.PC的值是(C)。
A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址
C.当前正在执行指令的下一条指令的地址D.控制器中指令寄存器的地址
8.单片机应用程序一般存放在(B)中。
A.RAMB.ROMC.寄存器D.CPU
9.在堆栈操作中,当进栈数据全部弹出后,这时SP应指向(D)
A.栈底单元B.7FH单元C.栈底单元地址加1D.栈底单元地址减1
10.51单片机的并行I/O口信息有两种读取方法:
一种是读引脚,还有一种是(A)。
A.读锁存器B.读数据库C.读A累加器D.读CPU
二、填空题
1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH。
2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决
定。
单片机复位后,若执行SETBRS0指令,此时只能使用1区的工作寄存器,
地址范围是08H---0FH。
3.51单片机驱动能力最强的并行端口为P0端口。
4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__
位。
5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地
址的指令分别为__movc_____,MOV和_movx______。
6.若A中的内容为63H,那么P标志位的值为1。
7.当扩展外部存储器或I/O口时,P2口用作高八位地址总
线。
8.51单片机内部RAM区有4个工作寄存器区。
9.51单片机内部RAM区有128个位地址。
10.外部中断1()的中断入口地址为0013;定时器1的中断入口地
址为001B。
11.51单片机有4个并行I/O口,P0~P3是准双向口,所以由输出转
输入时必须先写入1。
12.51单片机的堆栈建立在内部RAM内开辟的区域。
三、判断
1.所谓的单片机,就是将CPU、存储器、定时/计数器、中断功能以及I/O设备等
主要功能部件都集成在一块超大规模集成电路的微型计算机。
(T)
2.51单片机的程序存储器数和数据存储器扩展的最大范围都是一样的。
(T)
3.51单片机是微处理器。
(T)
四、简答题
1.单片机的发展大致分为哪几个阶段?
单片机的发展历史可分为四个阶段:
第一阶段(1974年----1976年):
单片机初级阶段。
第二阶段(1976年----1978年):
低性能单片机阶段。
第三阶段(1978年----现在):
高性能单片机阶段。
第四阶段(1982年----现在):
8位单片机巩固发展及16位单片机、32位单片机推
出阶段
2.什么是单片机,什么是微型计算机系统?
它们各有什么特点?
以微型计算机为核心组成的应用控制系统叫做微型计算机系统,包括系统软件和硬
件两个组成部分。
单片机是面向工业控制的微处理器,是工业CPU,它是将CPU、RAM、
ROM存储器、定时计数器、中断控制、I/O接口电路集成在一块芯片上。
也叫单片微型
计算机。
由于体积小、功能强、可靠性高、低功耗,被广泛应用在嵌入式控制系统中。
是计算机向小型化发展的结果。
微处理器、单片机是计算机的处理器即指挥中心单元,
微型计算机就是办公用的电脑,微型计算机系统就是计算机的应用系统。
3.调研目前都有哪些新型的8位单片机,它们各有哪些特点?
应用在什么场合?
智能消费型的ARM11A8A10核心的,速度快有PDA所需的各种模块,例如LCD,
AUDIO,SDI,USB等,用在PDA领域比如PAD,手机。
工业型的STM32NXP11XXNXP21XXARM7M8核心,工业场合的各种接口
ADCDACCANUARTPWMSPI等主要用在工业控制,工业仪表方面。
专业型的,有些单片机有三相电机控制模块,有些单片机有智能电表控制模块,有
些单片机有数字解码模块,等等。
。
。
。
4.51单片机存储器的分为几个空间,每个空间的地址范围是多少?
分为四个空间内部程序存储器地址范围0000H-0FFFH共4KB,外部程序存储
器0FFFH-0FFFFH共64KB;内部数据存储器00H-FFH共256个字节(其中包括低
128字节和特殊功能寄存器SFR128个字节),外部数据存储器可扩展至64KB。
CPU
访问片内外程序存储器ROM指令用MOVC,访问片外数据存储器RAM指令用MOVX,
访问片内RAM用MOV
5.说明51单片机的引脚EA的作用,该引脚接高电平和接低电平时各有何种功
能?
当该引脚为高电平时,单片机访问片内程序存储器,但在PC(程序计数器)值超
过0FFFH(对于8051、8751)时,即超出片内程序存储器的4KB地址范围时,将自动
转向执行外部程序存储器内的程序。
当该引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储
器。
对于8031来说,因其无内部程序存储器,所以该引脚必须接地,这样只能选择外
部程序存储器
6.51单片机片内RAM低128个单元划分为哪三个主要部分?
各部分的主要功能
是什么?
8051单片机内部RAM低128单元划分为工作寄存器组、位寻址区、堆栈与数据缓
冲区。
它们的特点如下:
(1)工作寄存器组(00H——1FH)
这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。
它
是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。
(2)位寻址区(20H——2FH)
16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实
现位寻址。
主要用于位寻址。
(3)堆栈与数据缓冲区(30H——7FH)
用于设置堆栈、存储数据。
7.如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断51单片机
是否正在工作?
ALE引脚,地址锁存有效信号输出端。
在访问片外程序存储器期间,每个机器周期
该信号出现两次,其下降沿用于控制锁存P0口输出的低8位地址。
及时不再访问片外
程序存储器,改信号也以上述频率(振荡频率的1/6)出现,因此可用作对外输出的始
终脉冲。
也就是说,正常工作的MCS51,ALE会有脉冲信号输出。
如果没有正常工作,
那就没有脉冲信号输出,或者输出的不是等间距的脉冲信号。
第二章指令系统
一、选择题
1.在相对寻址方式中,寻址的结果存放在(A)。
A.PC中B.A中C.DPTR中D.某个存储单元中
2.在寄存器间接寻址方式中,指定寄存器中存放的是(B)。
A.操作数B.操作数地址C.转移地址D.地址的偏离量
3.对程序存储器的读操作,只能使用(D)。
A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令
4.能够进行十进制调整的十进制运算(C)。
A.有加法和减法B.有乘法和除法C.只有加法D.只有减法
5.不能为程序存储器提供或构成地址的有(D)。
A.PCB.AC.DPTRD.PSW
6.以下各项中不能用来对内部数据存储器进行访问的是(A)。
A.DPTRB.按存储单元地址或名称C.SPD.由R0或R1作间址寄存器
7.若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使
用的指令(C)。
A.SETBPSW.3B.SETBD0H.3C.MOVPSW.3,1D.CPLPSW.3
8.在进行BCD码运算时,紧跟加法运算指令后面的指令必须是(B)指令。
A.ADDB.DAAC.ADDCD.由实际程序确定
9.有如下程序段:
MOV31H,#24H
MOVA,31H;
SWAPA
ANLA,#0F0H
执行结果是(C)。
A.(A)=24HB.(A)=42HC.(A)=40HD.(A)=00H
10.假定A=38H,(R0)=17H,(17H)=34H,执行以下指令:
ANLA,#17H
ORL17H,A
XRLA,@R0
CPLA
后,A的内容为(D)。
A.CDHB.DCHC.BCHD.DBH
11.使用单片机开发系统调试程序时,对原程序进行汇编的目的是(A)。
A.将源程序转换成目标程序B.将目标程序转换成源程序
C.将低级语言转换成高级语言D.连续执行键
12.设内部RAM中(30H)=40H,(40H)=10H,(10H)=00H,分析以下程序执行后(B)
=(B)。
MOVR0,#30H
MOVA,@R0
MOVR1,A
MOVB,@R1
A.00HB.40HC.30HD.10H
13.调用子程序、中断响应过程及转移指令的共同特点是(D)。
A.都能返回B.都通过改变PC实现转移
C.都将返回地址压入堆栈D.都必须保护现场
二、判断题
1.MOVA,30H这条指令执行后的结果(A)=30H。
()
2.指令字节数越多,执行时间越长。
()
3.51单片机可执行指令:
MOVR6,R7。
()
4.指令中直接给出的操作数称为直接寻址。
()
5.51有5个中断源,有5个中断优先级,优先级由软件填写特殊功能寄存器IP以
选择。
()
6.MOVA,@R0,将R0中的数据作为地址,从该地址中取数,送入A中。
()
7.51单片机可执行指令:
MOVA,@R3。
()
8.当向堆栈压入一个字节的数据后,SP的内容减1。
()
9.内部寄存器Rn(n=0~7)作为间接寻址寄存器。
()
10.MOVA,@R0这条指令中@R0的寻址方式称之为寄存器间址寻址。
()
11.堆栈是单片机内部的特殊区域,与RAM无关。
()
三、填空题
1.51单片机共有111条指令,有七种不同寻址方式。
如:
MOVA,@R1
属于寄存器间接寻址方式,MOVC,bit属于位寻址方式。
2.访问51单片机片外数据存储器采用的是寄存器间接寻址方式,访问片
外程序存储器采用的是变址寻址方式。
3.在中断子程序使用累加器、工作寄存器等资源时,要先将其原来的内容保存起
来,这一过程叫做保护现场。
当中断子程序执行完毕,在返回主程序之前,要
将这些内容再取出,送还到累加器、工作寄存器等原单元中,这一过程称为恢复现
场。
4.已知:
MOVA,#28H
MOVR0,#20H
MOV@R0,A
ANLA,#0FH
ORLA,#80H
XRLA,@R0
执行结果A的内容为28H。
四、下列指令是否错误,如错请改正(不能修改指令助记符)
1.MOVA,#1000H
2.MOVXA,1000H
3.MOVCA,1000H
4.MOVX60H,A
5.MOVR0,60H
MOV61H,@R0
6.XCHR1,R2
7.MOVX60H,@DPTR
五、综合题
1.51指令系统主要有哪几种寻址方式?
每种寻址方式举个例子。
2.阅读程序
(1)对每一条指令加上注释;
(2)说明连续运行该程序时,二极管的变化的规律;
(3)如果要使发光二极管依次轮流点亮,如何修改程序。
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
LEDRESET:
MOVR2,#80H
MOVR1,#08H
CLRP2.7
IEDUP:
MOVP1,R2
ACALLDELAY
MOVA,R2
RRA
MOVR2,A
DJNZR1,IEDUP
AJMPLEDRESET
3.编程将片内RAM30H单元开始的15个字节的数据传送到片外RAM3000H开
始的单元中去。
4.请编程:
片外RAM2000H开始的单元中有10个字节的二进制数,求它们之和,
并将结果存储在片内RAM的30H的单元中(和<256)。
5.下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么?
ORG1000H
TAB1EQU1234H
TAB2EQU3000H
DB“MAIN”
DWTAB1,TAB2,70H
6.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。
若
有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
7.试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次
数。
并将查找到的结果存入41H单元。
8.编写程序,实现双字节无符号数加法运算(和小于65536),要求(R1R0)+
(R7R6)→(61H60H)。
9.试编程把片外RAM从2040H开始的连续50个单元的内容按降序排列,结果存
入3000H开始的存储区中。
10.在片外2000H开始的单元中有100个有符号数,试编程统计其中正数、负数和
零的个数。
11.试编程计算片外RAM8100H开始单元的100个数的平均值,结果存放在9000H
开始的2个单元中(查阅双字节除法子程序,并用主程序调用该子程序实现)。
12.利用单片机的P0口接8个发光二极管,P1口接8个开关,编程实现,当开关
动作时,对应的发光二极管亮或灭。
13.将外部RAM的10H~15H单元的内容传送到内部RAM的10H~15H单元。
14.内部RAM的20H、21H和22H、23H单元分别存放着两个无符号的16位数,
将其中的大数置于24H和25H单元。
15.编程将51单片机的内部数据存储器20H单元和35H单元的数据相乘,结果存
到外部数据存储器2000H开始的单元中。
16.将第二章习题中的编程题用C51实现。
第五章中断系统
一、填空题
1.外部中断有两种触发方式:
电平触发方式和边沿触发方式。
其中电平触发方式
适合于外部中断以低(高或低)电平输入,边沿触发方式适合于以正(正
或负)脉冲输入。
2.51单片机的五个中断源的入口地址分别是:
0003;:
0013;
T0:
000B;T1:
001B;串行口:
0023。
3.在CPU未执行同级或更高优先级中断服务程序的条件下,中断响应等待时间最
少需要3个机器周期。
4.中断嵌套与子程序嵌套的区别在于:
一是子程序嵌套是在程序中事先按排序好的;而中断嵌套是各写各的。
二是子程序嵌套无次序限制;而中断嵌套只允许低嵌套高。
5.若实现下列中断优先级:
T0>外中断1>外中断0,则要_SETB___PT0___、
SETB___PX1____和CLRPX0。
二、选择题
1.CPU响应中断后,不能自动清除中断请求“1”标志的有(C)。
A./采用电平触发方式B./采用两边触发方式
C.定时/计数器T0/T1中断D.串行口中断TI/RI
2.80C51五个中断源中,属外部中断的有(AB)。
A.B.C.T0D.T1E.TIF.RI
3.各中断源发出的中断申请信号,都会标记在51系统中的(B)中。
A.TMODB.TCON/SCONC.IED.IP
4.外中断初始化的内容不包括:
(B)。
A.设置中断响应方式B.设置外中断允许
C.设置中断总允许D.设置中断触发方式
5.在51单片机中,需要软件实现中断撤销的是:
(A)。
A.定时中断B.脉冲触发的外部中断
C.电平触发的外部中断D.串行口中断
6.中断查询确认后,在下列各种单片机运行情况下,能立即进行中断响应的是:
(D)。
A.当前正在进行高优先级中断处理
B.当前正在执行RET指令
C.当前执行的指令是DIV指令,且正处于取指令机器周期
D.当前指令是MOVA,R7指令
7.执行MOVIE,#81H指令的意义是:
(B)。
A.屏蔽中断源B.开放外中断源0C.开放外中断源1D.开放外部中断源0
和1
8.下述条件中,能封锁主机对中断的响应的条件是(ABC)。
A.一个同级或高一级的中断正在处理中
B.当前周期不是执行当前指令的最后一个周期
C.当前执行的指令是RETI指令或对IE或IP寄存器进行读/写指令
D.当前执行的指令是一长跳转指令
E.一个低级的中断正在处理中
9.要想测量引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应
为(A)。
A.09HB.87HC.00HD.80H
10.51单片机在响应中断时,下列哪种操作不会发生(A)。
A.保护现场B.保护PCC.找到中断入口D.保护PC转入中断入
口
11.51单片机响应中断时,下面哪一个条件不是必须的(D)。
A.当前指令执行完毕B.中断是开放的
C.没有同级或高级中断服务D.必须有RETI指令
12.假定程序按如下编写:
SETBEA
SETBEX1
SETBET0
SETBES
SETBPS
SETBPT1
则:
(A)可以被响应。
A.CPU正在执行INT1中断,TF0请求B.CPU正在执行TF0中断,TI请求
C.CPU正在执行TI中断,INT1请求D.CPU正执行主程序,TF1出现请求
13.在51单片机中,需要外加电路实现中断撤除的是:
(D)
A.定时中断B.脉冲方式的外部中断
C.外部串行中断D.电平方式的外部中断
三、判断题
1.中断响应最快响应时间为3个机器周期。
()
2.51单片机每个中断源相应地在芯片上都有其中断请求输入引脚。
()
3.51单片机对最高优先权的中断响应是无条件的。
()
4.中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用
字节操作指令。
()
5.在一般情况下51单片机允许同级中断嵌套。
()
6.51单片机中断源中优先级最高的是外部中断0,优先级最低的是串行口中断。
()
7.51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择。
()
四、简答题
1.什么是中断?
其主要功能是什么?
答:
中断系统:
能使计算机的功能更强、效率更高、使用更加方便灵活。
主要功能:
为了解决快速CPU与慢速的外设之间的矛盾,它由硬件和软件组成
2.什么是中断优先级?
中断优先处理的原则是什么?
答:
中断优先级:
中断优先级分为高级和低级,对于每个中断源都可通过中断优先
级控制寄存器IP中的相应位控制,当没中断源的优先级控制位置“1”时,该中断源设
置为高级,否则为低级。
对于同级中断源,由内部硬件查询逻辑来决定响应次序。
处理原则:
①低优先级中断源可以被高优先级中断源中断,反之不能。
②一种中
断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。
3.各中断源对应的中断服务程序的入口地址是否能任意设定?
答:
不能(外部中断0:
0003H、外部中断1:
0013H、定时器0:
000BH、定时器1:
001BH、
串行口:
0023H)
4.51系列单片机具有几个中断源,分别是如何定义的?
其中哪些中断源可以被定
义为高优先级中断,如何定义?
答:
五个中断源:
外部中断0(/INT0)IE0=1、外部中断1(/INT1)IE1=1、定时
器0(T0)TF0=1、定时器1(T1)TF1=1、串行口RI(接收)=1TI(发送)=1。
PX0=1:
外部中断0为高优先级PX1=1:
T1为高优先级PT0=1:
定时器0为高优
先级PT1=1:
定时器1为高优先级PS=1:
串行口为高优先级
5.中断服务子程序与普通子程序有哪些相同和不同之处?
答:
相同点:
都是让CPU从主程序转去执行子程序,执行完毕又返回主程序。
不同点:
中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程
序以RETI结束,而一般子程序以RET结束。
RETI除将断点弹回PC动作外,还要清
除对应的中断优先标志位,以便新的中断请求能被响应。
6.想将中断服务程序放置在程序存储区的任意区域,在程序中应该如何设置?
请
举例加以说明。
设置:
在中断服务程序入口地址单元出存放一条无条件转移指令,转移至该中断服务程
序。
例:
ORG00000H
LJMPMIN0
ORG0003H
LJMPINTB0
OPG000BH
RETI
ORG0013H
RETI
ORG001BH
RETI
ORG0023H
RETI
ORG0030H
MIN0:
.
.
INTB0:
.
.
END
7.中断响应的条件是什么?
答:
1、有中断源发出的中断请求;
2、中断总允许位EA=1,即CPU开中断;
3、申请中断的中断源的中断允许位为1,即中断没有被屏蔽;
4、无同级或更高级中断正在被服务;
5、当前的指令周期已经结束
五、编程题
某系统有三个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行
处理,它们的优先处理次序由高到底为3、2、1,中断处理程序的入口地址分别为1000H,
1100H,1200H。
试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。
第六章定时器
一、填空题
1.若将定时/计数器用于计数方式,则外部事件脉冲必须从P3.2P3.3引脚