单片机练习题含答案.docx
《单片机练习题含答案.docx》由会员分享,可在线阅读,更多相关《单片机练习题含答案.docx(19页珍藏版)》请在冰豆网上搜索。
![单片机练习题含答案.docx](https://file1.bdocx.com/fileroot1/2023-3/29/a044f39f-35d2-4de1-809c-9d21ed7e51e3/a044f39f-35d2-4de1-809c-9d21ed7e51e31.gif)
单片机练习题含答案
1.单片机还可称为(微控制器)。
2.单片机与普通计算机的不同之处在于其将(CPU)、(存储器)、和(I/O接口电路)三部分集成于一块芯片上。
3.MCS-51系列单片机芯片间主要差别是什么?
主要差别在于片内是否带有程序存储器
4.在家用电器中使用单片机应属于微计算机的(B)
A)辅助设计应用(B)测量、控制应用(C)数值计算应用(D)数据处理应用
5.MCS-51单片机的引脚EA接高电平和接低电平时各有何种功能?
接高电平,则使用片内程序存储器,否则使用片外程序存储器。
6.什么是机器周期?
一个机器周期的时序是如何来划分的?
如果采用12MHz晶振,一个机器周期为多长时间?
1个机器周期等于12个时钟振荡周期,而时钟振荡周期即晶振频率的倒数。
如果采用12MHz晶振,一个机器周期为1us。
7.存储器的空间里,有5个单元是特殊的,这5个单元对应MCS-51单片机5个中断源的中断入口地址,请写出这些单元的地址以及对应的中断源。
中断源
入口地址
外部中断0(INT0)
0003H
定时器0(T0)
000BH
外部中断1(INT1)
0013H
定时器1(T1)
001BH
串行口
0023H
8.判断下列说法是否正确:
(A)8031的CPU是由RAM和EPROM所组成。
错
(B)区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
错
(C)在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。
对
(D)PC可以看成是程序存储器的地址指针。
对
9.8051单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=(00H)。
这时当前的工作寄存器区是(0)组工作寄存器区。
10.判断以下有关PC和DPTR的结论是否正确?
(A)DPTR是可以访问的,而PC不能访问。
对
(B)它们都是16位的寄存器。
对
(C)它们都具有加“1”的功能。
错
(D)DPTR可以分为2个8位的寄存器使用,但PC不能。
对
11.内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?
写出其地址范围。
答:
字节地址为00H-1FH的单元可以作为工作寄存器区;字节地址为20H-2FH的单元可以进行位寻址。
12.使用8031单片机时,需将EA引脚接(低)电平,因为其片内无(程序)存储器。
13.(A)程序计数器PC不能为用户编程时直接使用,因为它没有地址。
对
(B)内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
错
(C)8031共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。
错
14.PC的值是(当前正在执行指令的下一条指令的地址)
15.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为(64)K字节。
一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题的括号中)
1、80C51基本型单片机内部程序存储器容量为(C)。
(A)16K(B)8K(C)4K(D)2K
2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。
(A)(B)RST(C)ALE(D)
3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。
(A)P0(B)P1(C)P2(D)P3
4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。
(A)(B)T1(C)串口(D)T0
5、在80C51中,要访问SFR使用的寻址方式为(A)。
(A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址
6、以下的4条指令中,不合法的指令为(D)。
(A)INCA(B)DECA(C)INCDPTR(D)SWAPACC
7、当需要扩展一片8K的RAM时,应选用的存储器为(B)。
(A)2764(B)6264(C)6116(D)62128
8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。
(A)8155(B)8255(C)8279(D)74LS164
9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B)。
(A)方式0(B)方式1(C)方式2(D)方式3
10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。
(A)08H(B)80H(C)00H(D)07H
二、填空题
1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组成。
2、80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不同的区域,一是工作寄存器区,二是位寻址区,三是数据缓冲区。
4、8051的堆栈是向地址的高端生成的。
入栈时SP先加1,再压入数据。
5、对于80C51无嵌套的单级中断,响应时间至少3个机器周期,最多8个机器周期。
三、简答题
简述80C51单片机的I/O口的功能和特点;
答:
P0:
地址总线低8位/数据总线和一般I/O口,P1:
一般I/O口
P2:
地址总线高8位和一般I/O口,P3:
第二功能和一般I/O口
4个口作为一般I/O时均为准双向口。
简述80C51单片机的中断系统功能;
答:
5个中断源、2个优先级,中断控制、中断响应时间、中断受阻条件等。
简述80C51单片机定时/计数器的功能;
答:
2个16位定时/计数器。
T0有4种工作方式,T1有4种工作方式。
简述80C51单片机串行口的功能;
答:
全双工。
由SBUF和PCON完成控制,波特率由T1产生。
收、发中断用一个中断向量,中断标志RI、TI由软件清除。
4种工作方式。
5、简述80C51单片机指令系统的特点及寻址方式。
答:
111条指令,大多为单、双周期指令,速度快。
指令字节多为单、双字节,省空间。
寻址方式多(7种),操作灵活。
有布尔指令集,控制应用方便。
7种寻址方式为寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。
四、程序阅读与分析题
1、试阅读下面的程序,指出该程序结束后累加器ACC和寄存器TH0的值,并说明该程序完成了怎样的功能。
ORG0000H
MOVSP,#60H
MOVA,#10H
MOVTH0,#20H
PUSHACC
PUSHTH0
POPACC
POPTH0
END答:
利用堆栈交换了ACC和TH0的内容,(A)=20H,(TH0)=10H
2、程序段如下,试说明其功能。
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位中。
五、综合应用题
1、设80C51单片机晶振频率为6MHz,定时器T0工作于方式1。
要求80C51以中断方式工作并在P1.0引脚输出周期为500微秒的方波。
试:
计算初值、编写含有初始化功能的主程序和完成方波输出的中断服务程序。
答:
机器周期为2微秒。
定时时间250微秒。
需要计数N=125
初值为65536-125=65411=FF83H,所以(TH0)=FFH,(TL0)=83H
工作方式设置:
00000001B,即(TMOD)=01H
主程序:
中断服务程序:
(整体结构!
)
MOVTMOD,#01HMOVTH0,#0FFH
MOVTH0,0FFHMOVTL0,#83H
MOVTL0,#83HCPLP1.0
SETBEARETI
SETBET0
SETBTR0
SJMP$
一、填空题
1.单片机由CPU、存储器和I/O接口电路三部分组成。
2.若不使用MCS-51片内存储器,则引脚
信号有效时,表示CPU要从片外程序存储器读取信息。
10.MCS-51特殊功能寄存器只能采用直接寻址方式。
11.MCS-51的4组工作寄存器地址范围为00H-1FH。
12.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址,又可以位寻址。
13.若用传送指令访问MCS-51的程序存储器,其操作码助记符为MOVC。
14.访问MCS-51片内RAM应该使用的传送指令的助记符为MOV,(访问片外RAM是MOVX)
15.设计8031系统时,P0、P2口不能用作一般I/O口。
16.MCS-51可外扩64KB的RAM。
但当外扩I/O口后,其外部RAM的寻址空间将变小。
17.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写SCON特殊功能寄存器加以选择。
18.累加器(A)=80H,执行完指令ADDA,#83H后,进位位C=1。
19.执行ANLA,#0FH指令后,累加器A的高4位为0000。
20.JZe的操作码地址为1000H,e=20H,它的转移目的地址为1022H。
21.JBC00H,e操作码的地址为2000H,e=70H,它的转移目的地址为2073H。
22.MOVPSW,#10H将选择MCS-51的第2组工作寄存器。
23.指令DJNZR7,e操作码所在地址为3000H,e=0EFH,则它的转移目的地址为2FF1H。
24.ORLA.#0F0H是将A的高4位置1,而低4位不变.
25.SJMPe的指令操作码地址为0050H,e=65H,则其转移目的地址为00B7H。
26.设DPTR=2000H,(A)=80H,则MOVCA,@A+DPTR的操作数的实际地址为2080H。
27.用串口扩并口时,串行接口工作方式应选为方式0。
29.MCS-51中,T0中断服务程序入口地址为000BH。
30.PSW中,RS1RS0=11H时,R2的地址为1AH。
31.MOVC,20H的寻址方式是位寻址。
32.MOVXA,@DPTR的寻址方式是寄存器间接寻址。
33.下列程序段:
ORG1000H
LCALL4000H
ORG4000H
ADDA,R2执行完LCALL后(PC)=4000H
34.8051中断有2个优先级。
35.8051中断嵌套最多2级。
36.RST引脚上保持2个机器周期以上的低电平时,8051即复位。
37.三态缓冲器输出端的“三态”是指低电平态、高电平态和高阻态
38.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8块芯片。
39.MCS-51访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号。
40.74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。
41.MCS-51单片机片内RAM寄存器区共有32个单元,分为4组寄存器,每组8个单元,以R7~R0作为寄存器名称。
42.单片机系统复位后,(PSW)=00H,因此片内当前工作寄存器是第0组,8个寄存器的单元地址为00H~07H。
43.通过堆栈操作实现子程序调用,首先要把PC的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点弹回PC。
44.在直接寻址方式中,只能使用8位二进制数作为直接地址,因此寻址对象限于片内RAM.
45.在寄存器间接寻址方式中,指令中出现的寄存器中的内容是操作数的地址.
46.在变址寻址方式中,以A作变址寄存器,以PC或DPTR作基址寄存器。
47.假定(SP)=60H,(ACC)=30H,(B)=70H。
执行下列指令:
PUSHACC
PUSHB后,(SP)=62H,(61H)=30H,(62H)=70H.
48.假定(A)=85H,(R0)=20H,(20H)=0AFH。
执行指令:
ADDA,@R0后,(A)=34H,CY=1,AC=1,OV=1。
49.假定(A)=0FFH,(R3)=0FH,(30H)=0H,(R0)=40H,(40H)=00H。
执行指令:
INCA
INCR3
INC30H
INC@R0后,(A)=00H,(R3)=10H(30H)=0F1H,(40)=01H。
50.累加器A中存放着一个值小于或等于127的8位无符号数,CY清零后执行“RLCA”指令,则A中数变为原来的2倍。
51.计算机的数据传送有串行方式和并行方式。
其中具有成本低特点的是串行方式。
52.异步串行数据通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。
53.异步串行数据通信有单工、全双工和半双工共三种传送方向形式。
54.使用定时器T1设置串行通信的波特率时,应把定时器T1设定为工作模式2,即自动重装载模式。
55.假定(A)=56,(R5)=67。
执行指令:
ADDA,R5
DA后,(A)=00100011,CY=1。
56.假定(A)=50H,(B)=0A0H。
执行指令:
MULAB后,(B)=32H,(A)=00H,CY=0,OV=1。
57.执行如下指令序列:
MOVC,P1.0
ANLC,P1.1
ANLC,/P1.2
MOVP3.0,C所实现的逻辑运算式为P3.0=(P1.0)∧(P1.1)∧(
)。
58.假定addr11=00100000000B,标号qaz的地址为1030H。
执行指令:
qaz:
AJMPaddr11后,程序转移到1100H(地址)去执行。
59.堆栈设在片内数据存储区,程序存放在程序存储区,外部I/O接口设在片外数据存储区,中断服务程序存放在程序存储区。
60.若单片机的晶振为6MHz,那么状态周期0.1667µs,机器周期2µs指令周期2µs~8µs。
61.设(SP)=60H,片内RAM的(30H)=24H,(31H)=10H。
PUSH30H;SP=61H,(SP)=24H
PUSH31H;SP=62H,(SP)=10H
POPDPL;SP=61H,DPL=10H
POPDPH;SP=60H,DPH=24H
MOVA,#00H
MOVX@DPTR,A最后执行结果是执行结果将0送外部数据存储器到410单元。
62.8051复位后:
CPU从0000HH单元开始执行程序。
(SP)=07H,第一个压入堆栈的数据将位于片内RAM的08H单元。
SBUF的内容为不定。
ORLA,#4指令执行后,PSW寄存器的内容将为01H。
63.中断系统:
T0和T1两引脚可作外部中断输入引脚,这时TMOD寄存器中的C/T位应为1。
若M1、M0两位置成10B,则计数初值应当是(TH)=(TL)=255H。
RETI指令以及任何访问IE和IP寄存器的指令执行过后,CPU不能马上响应中断。
二、单项选择题
1.在中断服务程序中,至少应有一条(D)
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令
2.当MCS-51复位时,下面说法正确的是(A)
(A)PC=0000H(B)SP=00H(C)SBUF=00H(D)(30H)=00H
3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是(B)
(A)MOV(B)MOVX(C)MOVC(D)以上都行
4.下面哪一种传送方式适用于电路简单且时序已知的外设(B)
(A)条件传送(B)无条件传送(C)DMA(D)中断
5.ORG2000H
LCALL3000H
ORG3000H
RET(A)2000H(B)3000H(C)2003H(D)3003H程序执行完RET指令后,PC=(C)
6.要使MCS-51能够响应定时器T1中断、串行接口中断,其中断允许寄存器(IE)=(A)
(A)98H(B)84H(C)42H(D)22H
8.MCS-51在响应中断时,下列哪种操作不会发生(A)
(A)保护现场(B)保护PC(C)找到中断入口(D)保护PC找到中断入口
9.用MCS-51串行接口扩展并行I/O口时,串行接口工作方式应选择(A)
(A)方式0(B)方式1(C)方式2(D)方式3
10.JNZe指令的寻址方式是(C)
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址
11.执行LCALL4000H指令时,MCS-51所完成的操作是(D)
(A)保护PC(B)4000H→PC(C)保护现场(D)PC+3入栈,4000H→PC
13.若某存储器芯片地址线为12根,那么它的存储容量为(C)
(A)1KB(B)2KB(C)4KB(D)8KB
14.要想测量
引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为(A)
(A)09H(B)87H(C)00H(D)80H
15.(PSW)=18H时,则当前工作寄存器是(D)
(A)0组(B)1组(C)2组(D)3组
17.MOVXA,@DPTR指令的寻址方式是(B)
(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址
18.MCS-51有中断源(A)
(A)5个(B)2个(C)3个(D)6个
19.MCS-51上电复位后,SP的内容应是(B)
(A)00H(B)07H(C)60H(D)70H
20.ORG0003H
LJMP2000H
ORG000BH
LJMP3000H当CPU响应外部中断0后,PC的值是2000H
21.控制串行接口工作方式的寄存器是(C)
(A)TCON(B)PCON(C)SCON(D)TMOD
22.MCS-51响应中断时,下面哪一个条件不是必须的(C)
(A)当前指令执行完毕(B)中断是开放的
(C)没有同级或高级中断服务(D)必须有RETI指令。
23.使用定时器T1时,有几种工作模式(C)
(A)1种(B)2种(C)3种(D)4种
24.执行PUSHACC指令,MCS-51完成的操作是(A)
(A)SP+1→SP,(ACC)→(SP)(B)(ACC)→(SP),SP-1→SP
(C)SP+1→SP,(ACC)→(SP)(D)(ACC)→(SP),SP+1→SP
25.P1口的每一位能驱动(B)
(A)2个TTL低电平负载(B)4个TTL低电平负载
(C)8个TTL低电平负载(D)10个TTL低电平负载
26.使用8255可以扩展出的I/O口线是(B)
(A)16根(B)24根(C)22根(D)32根
27.PC中存放的是(A)
(A)下一条指令的地址(B)当前正在执行的指令
(C)当前正在执行指令的地址(D)下一条要执行的指令
28.LCALL指令操作码地址是2000H,执行完相应子程序返回指令后,PC=(D)
(A)2000H(B)2001H(C)2002H(D)2003H
30.下面哪种方式适用于处理外部事件(C)
(A)DMA(B)无条件传送(C)中断(D)条件传送
31.关于MCS-51的堆栈操作,正确说法是(C)
(A)先入栈,再修改SP(B)先修改SP,再出栈
(C)先修改SP,再入栈(D)以上都不对
32.某种存储器芯片是8KB×4/片,那么它的地址线根数是(C)
(A)11根(B)12根(C)13根(D)14根
33.要访问MCS-51的特殊功能寄存器应使用的寻址方式是(C)
(A)寄存器间接寻址(B)变址寻址(C)直接寻址(D)相对寻址
34.下面哪条指令将MCS-51的工作寄存器置成3区(B)
(A)MOVPSW,#13H(B)MOVPSW,#18H
(C)SETBPSW.4(D)SETBPSW.3
CLRPSW.3CLRPSW.4
36.当MCS-51进行多机通信时,串行接口的工作方式应选择(C)
(A)方式0(B)方式1(C)方式2(D)方式3
38.MCS-51的相对转移指令的最大负跳距离为(B)
(A)2KB(B)128B(C)127B(D)256B
39.指令寄存器的功能是(B)(A)存放指令地址(B)存放当前正在执行的指令
(C)存放指令与操作数(D)存放指令地址及操作数
40.ORG0000H
AJMP0040H
ORG0040H
MOVSP,#00H(A)0040H(B)0041H(C)0042H(D)0043H上述指令执行后,(PC)=(C)
41.MCS-51外扩ROM、RAM和I/O接口时,它有数据总线是(A)
(A)P0(B)P1(C)P2(D)P3
42.当CPU响应串行中断时,程序应转移到(C)
(A)0003H(B)0013H(C)0023H(D)0033H
43.当ALE信号有效时,表示(B)
(A)从ROM中读取数据(B)从P0口可靠地送出低8位地址
(C)从P0口送出数据(D)从RAM中读取数据
45.MCS-51复位时,下述说法正确的是(D)
(A)(20H)=00H(B)SP=00H(C)SBUF=00H(D)TH0=00H
46.执行指令MOVIE,#03H后,MCS-51可响应的中断有(D)
(A)1个(B)2个(C)3个(D)0个
48.各中断源发出的中断请求信号,都会标记在MCS-51中的(B)
(A)TMOD(B)TCON/SCON(C)IE(D)IP
49.MCS-51单片机各中断的优先级设定是利用寄存器(B)
(A)IE(B)IP(C)TCON(D)SCON
50.MCS-51的并行I/O口信息有两种读取方法:
一种是读引脚,还有一种是(A)
(A)读锁存器(B)读数据线(C)读寄存器(D)读RAM
51.以下指令中,属于单纯读引脚的指令是(C)
(A)MOVP1,A(B)ORLP1,#0FH(C)MOVC,P1.5(D)DJNZP1,short-label
52.以下哪项不是单片机系统响应中断的必要条件(C)
(A)TCON或SCON寄存器的有关标志位为1(B)IE内的有关中断允许位置1
(C)IP内的有关位置1(D)当前一条指令执行完
53.指令AJMP的跳转范围为(C)
(A)256B(B)1KB(C)2KB(D)64KB
54.以下运算中,对OV没有影响或不受OV影响的运算是(A)
(A)逻辑运算(B)符号数加减运算(C)乘法运算(D)除法运算
55.在算术运算中,与AC标志有关的数是(C)
(A)二进制数(B)八进制数(C)十进制数(D)十六进制数
56.在寄存器间接寻址方式中,指定寄存器中存放的是(B)
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量
57.对程序存储器的读操作,只能使用(D)
(A)MOV指令(B)P