MCS51单片机.docx
《MCS51单片机.docx》由会员分享,可在线阅读,更多相关《MCS51单片机.docx(19页珍藏版)》请在冰豆网上搜索。
![MCS51单片机.docx](https://file1.bdocx.com/fileroot1/2023-2/9/fe009cd6-d747-4483-940a-e36c2113d69f/fe009cd6-d747-4483-940a-e36c2113d69f1.gif)
MCS51单片机
MCS-51单片机试题
一、填空题
1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_________.
2.P0通常用作_________.
3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________.
4.返回地址(或断点)是_________的程序计数器的内容。
5.中央处理器CPU是单片机的核心,它完成_________.
6.单片机的工作过程,实际上就是_________.
7.所谓中断源即是_________.
8.端口(或称口)是_________.
9.异步串行近程通信时的传送信号是_________.
10.若累加器A中的数据为01110010B,则PSW中的P=_________.
11、单片机与普通计算机的不同之处在于其将 、 和 三部分集成于一块芯片上。
12、使用双缓冲方式的D/A转换器,可实现多路模拟信号的 输出。
13、通过堆栈操作实现子程序调用,首先就要把 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 。
14、在基址加变址寻址方式中,以 作变址寄存器,以 或 作基址寄存器。
15、假定累加器A中的内容为40H,执行指令1000H:
MOVC A,@A+PC
后,把程序存储器 单元的内容送入累加器A中。
16、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 。
17、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后,A的内容为 。
18、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。
下述程序执行后:
POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH A
RET
ORG 3000H
DB 10H,80H,30H,80H,50H,80H
请问:
A= ,SP= ,(41H)= ,(42H)= 。
19、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的 端提供信号。
20、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问 存储器提供地址,而DPTR是为访问 存储器提供地址。
21、16KBRAM存储器的首地址若为3000H,则末地址为 H。
二.选择题
1.MCS—51单片机的复位信号是()有效。
A.高电平B.低电平C.脉冲D.下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过()。
A.2μsB.4μsC.8μsD.1ms
3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用()指令。
A.PUSHR0B.PUSH@R0
C.PUSH00HD.PUSH08H
4.能够用紫外光擦除ROM中程序的只读存储器称为()。
A.掩膜ROMB.PROMC.EPROMD.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.2MHzB.1MHzC.500KHzD.250KHz
8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它字形代码应为()。
A.06HB.F9HC.30HD.CFH
9.下列数据字定义的数表中,()是错误的。
A.DW“AA”B.DW“A”
C.DW“OABC”D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是()。
A.接收中断请求标志位B.发送中断请求标志位
C.串行口允许接收位D.地址/数据位
11、8051与8751的区别是:
A、内部数据存储但也数目的不同 B、内部程序存储器的类型不同
C、内部数据存储器的类型不同 D、内部的寄存器的数目不同
12、判断以下有关PC和DPTR的结论是否正确?
A、DPTR是可以访问的,而PC不能访问。
B、它们都是8位的存储器
C、它们都有加1的功能。
D、DPTR可以分为两个8位的寄存器使用,但PC不能。
13、PC的值是
A、当前正在执行指令的前一条指令的地址 B、当前正在执行指令的下一条指令的地址
C、当前正在执行指令的地址 D、控制器中指令寄存器的地址
14、判断下列说法是否正确
A、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
C、程序计数器PC不能为用户编程时直接使用,因为它没有地址。
15、下列说法错误的是:
A、各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。
B、各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。
C、各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。
D、各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。
16、在MCS-51中,需要外加电路实现中断撤除的是:
A、电平方式的外部中断 B、定时中断
C、外部串行中断 D、脉冲方式的外部中断
17、判断下列的说法是否正确?
A、 特殊功能寄存器SCON,与定时器/计数器的控制无关。
B、 特殊功能寄存器TMOD,与定时器/计数器的控制无关。
C、 特殊功能寄存器IE,与定时器/计数器的控制无关。
D、 特殊功能寄存器TCON,与定时器/计数器的控制无关。
18、判断下列说法是否正确?
A、在8155H芯片中,决定端口和RAM单元编址的信号线是AD7-AD0和WR。
B、由于8155H不具有地址锁存功能,因此在与8031的接口电路中必须加地址锁存器。
C、8255A的B口可以设置成方式2。
D、8255A具有三态缓冲器,因此可以直接挂在系统的数据总线上。
19、区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:
A、看其芯片的型号是ROM还是RAM
B、看其离MCS-51芯片的远近
C、看其位于地址范围的低端还是高段看其是与RD信号连接还是与PSEN信号连接
20、下列说法正确的是:
A、同一级别的中断请求按时间的先后顺序响应。
B、同级中断不能嵌套。
C、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
D、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
三、简答题
1.简述堆栈。
2.简述变址寻址方式并举例说明。
3.简述中断响应的主要内容。
4.简述汇编语言中的标号有什么规定
5、片内RAM低128个单元划分为哪3个主要部分?
各部分的主要功能是什么?
6、如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断MCS-51单片机正在工作?
7、若SP=60H,标号LABEL所在的地址为3456H。
LCALL指令的地址为2000H,执行指令如下:
2000H LCALL LABEL
后,堆栈指针SP和堆栈内容发生了什么变化?
PC的值等于什么?
如果将指令LCALL 直接换成ACALL是否可以?
如果换成ACALL指令,可调用的地址范围是什么?
8、定时/计数器用作定时器时,其计数脉冲由谁提供?
定时时间与哪些因素有关?
9、常用的I/O接口编址有哪两种方式?
它们各有什么特点?
MCS-51的I/O端口编址采用的是哪种方式?
四、读程序
1.执行下列程序段中第一条指令后,
(1)(P1.7)=____(P1.3)=_____,(P1.2)=_________;执行第二条指令后,
(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________.
ANLP1,#73H
ORLP1,#38H
2.下列程序段执行后,(A)=_________,(B)=_________.
MOVA,#0FBH
MOVB,#12H
DIVAB
3.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________.
MOVR0,#7FH
MOV7EH,#0
MOV7FH,#40H
DEC@R0
DECR0
DEC@R0
4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_________,内部RAM(0AH)=_________,(0BH)=_________
PUSHDPL
PUSHDPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间
MOVR3,#100;1
LOOP:
NOP;1
NOP
NOP
DJNZR3,LOOP;2
RET;2
五.计算与编写程序
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.
3.已知内部RAM30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。
若相等,则把数字00H送40H单元,否则把0FFH送40H单元。
6、试编写程序,查找在内部RAM的40H~60H单元中是否有0FFH这一数据。
若有,则将51单元置为“00H”;若未找到,则将51H单元置为“01H”。
(5分)
7、编写出外部中断1为跳沿触发的中断初始化程序。
(5分)
8、编写一段程序,功能要求为:
当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行数当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。
(15分)
9、根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8个通道的模拟量循环采集,采集结构存放至片内RAM40H~47H中。
(15分)
六、综合应用题(每小题10分,共20分)
1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请:
a
(1)画出逻辑电路图
(2)说明其存储空间
2.已知D/A转换器DAC0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,
(1)画出单缓冲接口方式电路
(2)编程产生正向锯齿波
MCS-51单片机试题答案
一、填空题
1.低电平
2.单片机系统的地址/数据总线
3.10H~17H
4.在程序中断或子程序调用时
5.运算和控制功能
6.周而复始地取指令和执行指令的过程
7.引起中断的原因(或能发出中断请求的来源)
8.接口电路中已编址并能进行读或写操作的寄存器
9.TTL电平信号
10.0
11、答:
CPU、存储器、I/O口
12、答:
同步
13、答:
PC、PC
14、答:
累加器A,DPTR、PC
15、答:
1041H
16、答:
地址
17、答:
A的内容为 4BH 。
18、答:
A=80H,SP= 42H,(41H)= 30H ,(42H)= 80H ,PC= 8030H 。
19、答:
片选。
20、答:
程序、数据
21、答:
6FFFH。
二、单项选择题(每题1分,共10分)
1.A2.B3.D4.C5.B
6.D7.C8.A9.C10.C
11B
12、答:
对、对、对、对
13、答:
B
14、答:
错、错、对。
15、答:
A、C、D
16、答:
A
17、答:
A对,B、C、D错
18、答:
错、错、错、错
19、答:
A、D对
20、答:
A、B、C对
三、简答题(每题4分,共20分)
1.
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。
(2)用MOVSP,#STK指令建立堆栈。
(3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。
2.
(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条:
MOVCA,@A+DPTR
MOVCA,@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作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
1、片内RAM低128个单元划分为哪3个主要部分?
各部分的主要功能是什么?
答:
工作寄存器区、位寻址区、数据缓冲区
2、答:
ALE引脚
3、答:
1)SP=SP+1=61H (61H)=PC的低字节=03H
SP=SP+1=62H (62H)=PC的高字节=20H
2)PC=3456H
3)可以
4)2KB=2048Byte
4、答:
定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。
定时时间与时钟频率和定时初值有关。
5、常用的I/O接口编址有哪两种方式?
它们各有什么特点?
MCS-51的I/O端口编址采用的是哪种方式?
解:
一.独立编址方式:
独立编址方式就是I/O地址空间和存储器地址空间分开编址。
独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。
但是,却需要设置一套专门的读写I/O的指令和控制信号。
二.统一编址方式:
这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。
统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。
MCS-51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
四、读程序(每题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.先进行与操作,再进行或操作程序如下:
MOVC,ACC.1
ANLC,P2,0
MOV12H,C
MOV,C,ACC.2
ANLC,P2.7
ORLC,12H
MOVP1.5,C
RET
2.MOVR2,#10
MOVDPRT,#TABLE
LOOP:
MOVXA,@DPRT;取一数
ORLA,#80H;最高位置1
MOVX@DPTR,A;写回原地址
1NCDPTR;处理下一单元
DJNZR2,LOOP
RET
3.MOVR0,#30H
MOVR1,#00H
MOVR2,#20H
LOOP:
MOVA,@R0;取数
MOVX@R1,A;存数
1NCR0
1NCR1
DJNZR2,LOOP
RET
4.利用移位指令作除8操作,程序如下:
MOVR2,#3
LOOP:
CLRC
MOVA,R3
RRCA;高字节除以2,末位移入C,高位补0
MOVR3,A;暂存高字节
MOVA,R4
RRCA;低字节除以2,高字节末位移入低字节高位
MOVR3,A
DJNZR2,LOOP
RET
5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等
MOVR0,#42H
MOVR1,#52H
LOOP:
MOVA,@R0
CLRC;不相等,FFH→40H
SUBBA,@R1
JNZLOOP1;相等时,比较下一字节
INCR0
INCR1
DJNZ41H,LOOP
MOV40H,#0;所有字符均相等,则两字串相等。
RET
LOOP1:
MOV40H,#0FFH
RET
1、答:
START:
MOVR0,#40H
MOVR2,#20H
LOOP:
MOVA,@R0
CJNE A,#0FFH,NEXT
MOV51H,#00H
LJMP EXIT
NEXT:
INC R0
DJNZ R2,LOOP
MOV51H,#01H
EXIT:
RET
2、答:
SETB IT1
SETB EX1
SETB EA
3、答:
将P1.1的输入脉冲接入T0,即使用T0计数器完成对P1.1口的脉冲计数。
编写序如下:
ORG0000H
LJMP MAIN
ORG000BH
LJMP IT0P
MAIN:
JNB P1.0,MAIN
MOVTMOD,#05H ;定时器/计数器T0为计数方式1
SETB TR0 ;启动T0,开始计数
SETB ET0 ;允许T0中断
SETB EA ;CPU开中断
WAIT:
JB P1.2,WAIT
CLR EA
CLR TR0
MOVR1,TH0
MOVR0,TL0
AJMP $
IT0P:
INC R2 ;在电平负跳变前,如果计数器溢出,则进位存入R2
RETI
4、根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8个通道的模拟量循环采集,采集结构存放至片内RAM40H~47H中。
(15分)
解:
根据电路连接图可计算出ADC0809的8个模拟量输入通道的地址为:
7F00H~7F07H (5分)
循环采集的程序设计如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#7F00H
MOV R0,#40H
MOV R7,#8
LOOP:
MOVX @DPTR,A
JNB P3.2,$
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP
MOV DPTR,#7F00H
MOV R0,#40H
MOV R7,#8
AJMP LOOP
END (10分)
或:
ORG0000H
AJMP MAIN
ORG 0003H
LJMP INT0_INT
ORG0030H
MAIN:
MOVDPTR,#7F00H
MOV R0,#40H
MOV R7,#8
SETB EX0
SETB EA
MOVX A,@DPTR
SJMP $
INTO_INT:
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
MOVX @DPTR,A
DJNZ R7,LOOP
MOV DPTR,#7F00H
MOV R0,#40H
MOV R7,8
LOOP:
RETI
六、综合应用题(每题10分,共20分)
1.
(1)逻辑图
(2)地址:
芯片P2.2P2.1P2.0P0.7……P0.0地址范围
27160000…00000H
…
1111…107FFH
61160000…00000H
1111…107FFH
2.
(1)
(2)程序
DASAW:
MOVDPTR,#7FFFH
MOV,A,#0
LOOP:
MOVX@DPRT,A
1NCA
NOP
AJMPLOOP