单片机考试题集及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、填空(每空2 分,共40 分)
1、MCS-8051系列单片机字长是8 位,有40 根引脚,96系列字长是16 位。
单片机的特点有体积小、价格低、功能全。
2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据
存储器统一编址的,或者说属于该存储器。
3、8051最多可以有4 个并行输入输出口,最少也可以有1个并行口,即P1 。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
4、ALE信号的作用是低8位地址锁存。
5、8051复位后,PC= 0 H。
若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFF H时,8051会自动转向片外存储器继续取指令执行。
6、8051的C/T是加(加或减)计数的。
7、8051的中断向量表在3 H、0B H和13H、1BH、23H。
8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址。
9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC 。
(0A7H是P2.7的地址)
10、将CY与A的第0位的非求或的指令是ORL C,/ACC.0 ,若原A=0,执行后A= 0 。
2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共 5 分)
[解答] OV:0、CY:1、AC:1、P:1 A:-95
3、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。
画出连接示意图,写出完整的程序。
(共15 分)
一、填空题
1.单片机由CPU、存储器和三部分组成。
2.若不使用MCS-51片内存储器,则引脚必须接。
3.微处理器由
寄存器块、控制器和三部分组成。
4.当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了。
5.MCS-51的P0口作为输出端口时,每位能驱动个LS型TTL负载。
6.MCS-51的堆栈是软件填写堆栈指针临时在内开辟的区域。
7.MCS-51中凡字节地址能被整除的特殊功能寄存器均能位寻址。
8.MCS-51系统中,当信号有效时,表示CPU要从读取信息。
9.当使用8751且=1,程序存储器地址小于
时,访问的是片内ROM。
10.MCS-51特殊功能寄存器只能采用寻址方式。
11.MCS-51的4组工作寄存器地址范围为。
12.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址,又可以
寻址。
13.若用传送指令访问MCS-51的程序存储器,其操作码助记符为。
14.访问MCS-51片内RAM应该使用的传送指令的助记符为。
15.设计8031系统时,口不能用作一般I/O口。
16.MCS-51可外扩64KB的RAM。
但当外扩I/O口后,其外部RAM的寻址空间将。
17.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写
特殊功能寄存器加以选择。
18.累加器(A)=80H,执行完指令ADD A, #83H后,进位位C= 。
19.执行ANL A, #0FH指令后,累加器A的高4位为。
20.JZ e的操作码地址为1000H,e=20H,它的转移目的地址为。
21.JBC 00H,e操作码的地址为2000H,e=70H,它的转移目的地址为。
22.MOV PSW,#10H将选择MCS-51的第组工作寄存器。
23.指令DJNZ R7,e操作码所在地址为3000H,e=0EFH,则它的转移目的地址为。
24.ORL性计划A,#0F0H的功能是。
25.SJMP e的指令操作码地址为0050H,e=65H,则其转移目的地址为。
26.设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为。
27.用串口扩并口时,串行接口工作方式应选为方式。
28.外部中断入口地址为。
29.MCS-51中,T0中断服务程序入口地址为。
30.PSW中,RS1 RS0=11H时,R2的地址为。
31.MOV C,20H的寻址方式是。
32.MOVX A,@DPTR的寻址方式是。
33.下列程序段:
ORG 1000H
LCALL 4000H
ORG 4000H
ADD A,R2
执行完LCALL后(PC)= 。
34.8051中断有个优先级。
35.8051中断嵌套最多级。
36.RST引脚上保持个机器周期以上的低电平时,8051即复位。
37.三态缓冲器输出端的“三态”是指态、
态和态。
38.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中块芯片。
39.MCS-51访问外部存储器时,利用信号锁存来自口的低8位地址信号。
40.74LS273通常用来作简单接口扩展;而74LS244则常用来作简单接口扩展。
41.MCS-51单片机片内RAM寄存器区共有个单元,分为组寄存器,每组个单元,以作为寄存器名称。
42.单片机系统复位后,(PSW)=00H,因此片内当前工作寄存器是第组,8个寄存器的单元地址为
~ 。
43.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点弹回。
44.在直接寻址方式中,只能使用位二进制数作为直接地址,因此其寻址对象只限于。
45.在寄存器间接寻址方式中,指令中出现的寄存器中的内容是。
46.在变址寻址方式中,以作变址寄存器,以或作基址寄存器。
47.假定(SP)=60H,(ACC)=30H,(B)=70H。
执行下列指令:PUSH ACC
PUSH B
后,(SP)= ,(61H)= ,(62H)= 。
48.假定(A)=85H,(R0)=20H,(20H)=0AFH。
执行指令:ADD A,@R0
后,(A)= ,CY= ,AC= ,OV= 。
49.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。
执行指令:
INC A
INC R3
INC 30H
INC @R0
后,(A)= ,(R3)= ,(30H)= ,(40)= 。
50.累加器A中存放着一个值小于或等于127的8位无符号数,CY清零后执行“RLC A”指令,则A中数变为原来的倍。
51.计算机的数据传送有方式和方式。
其中具有成本低特点的是方式。
52.异步串行数据通信的帧格式由位、位、
位和位组成。
53.异步串行数据通信有、和共三种传送方向形式。
54.使用定时器T1设置串行通信的波特率时,应把定时器T1设定为工作模式,即模式。
55.假定(A)=56,(R5)=67。
执行指令:
ADD A,R5
DA
后,(A)= ,CY= 。
56.假定(A)=50H,(B)=0A0H。
执行指令:
MUL AB
后,(B)= ,(A)= ,CY= ,OV= 。
57.执行如下指令序列:
MOV C,P1.0
ANL C,P1.1
ANL C,/P1.2
MOV P3.0,C
所实现的逻辑运算式为。
58.假定addr11=00100000000B,标号qaz的地址为1030H。
执行指令:qaz:AJMP addr11
后,程序转移到(地址)去执行。
59.堆栈设在存储区,程序存放在存储区,外部I/O接口设在
存储区,中断服务程序存放在存储区。
60.若单片机的晶振为6MHz,那么状态周期为,机器周期为,指令周期为。
61.设(SP)=60H,片内RAM的(30H)=24H,(31H)=10H,则下列程序段执行的结果是。
PUSH 30H
PUSH 31H
POP DPL
POP DPH
MOV A,#00H
MOVX @DPTR,A
62.8051复位后:
●CPU从H单元开始执行程序。
●(SP)= H,第一个压入堆栈的数据将位于RAM的H 单元。
●SBUF的内容为。
●ORL A,#4指令执行后,PSW寄存器的内容将为H。
63.8031
●其引脚必须接。
●可作通用I/O的至少有口的8条I/O线,最多还可加上口的8条I/O线。
●口作地址/数据总线,传送地址码的低8位,口作为地址总线,传送地址码的高8位。
●MOVX指令用来对RAM进行读写操作。
64.中断系统
●和的中断标志分别是和。
●T0和T1两引脚也可作外部中断输入引脚,这时TMOD寄存器中的
位应当为。
●上题中,若M1、M0两位置成10B,则计数初值应当是(TH)=(TL)= H。
●指令以及任何访问和寄存器的指令执行过后,CPU不能马上响应中断。
65.指令系统
●在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行次。
●欲使P1口的低4位输出0而高4位不变,应执行一条指令。
●欲使P1口的高4位输出1而低4位不变,应执行一条指令。
●DIV AB指令执行后,OV=1,则此指令执行前(B)= H。
●MUL AB指令执行后,OV=1,则此指令执行前(B)≠H。
●MCS-51的两条查表指令是和。
二、单项选择题
1.在中断服务程序中,至少应有一条()
(A)传送指令(B)转移指令
(C)加法指令(D)中断返回指令
2.当MCS-51复位时,下面说法正确的是()
(A)PC=0000H (B)SP=00H
(C)SBUF=00H (D)(30H)=00H
3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是()(A)MOV (B)MOVX
(C)MOVC (D)以上都行
4.下面哪一种传送方式适用于电路简单且时序已知的外设()
(A)条件传送(B)无条件传送
(C)DMA (D)中断
5.ORG 2000H
LCALL 3000H
ORG 3000H
RET
上述程序执行完RET指令后,PC=()
(A)2000H(B)3000H(C)2003H(D)3003H
6.要使MCS-51能够响应定时器T1中断、串行接口中断,其中断允许寄存器(IE)=()
(A)98H (B)84H (C)42H (D)22H
7.6264芯片是()
(A)E2PROM (B)RAM
(C)Flash ROM (D)EPROM
8.MCS-51在响应中断时,下列哪种操作不会发生()
(A)保护现场(B)保护PC
(C)找到中断入口(D)保护PC找到中断入口
9.用MCS-51串行接口扩展并行I/O口时,串行接口工作方式应选择()(A)方式0(B)方式1(C)方式2(D)方式3
10.JNZ e指令的寻址方式是()
(A)立即寻址(B)寄存器寻址
(C)相对寻址(D)位寻址
11.执行LCALL 4000H指令时,MCS-51所完成的操作是()
(A)保护PC (B)4000H→PC
(C)保护现场(D)PC+3入栈,4000H→PC
12.下面哪条指令产生信号()
(A)MOVX A,@DPTR
(B)MOVC A,@A+PC
(C)MOVC A,@A+DPTR
(D)MOVX @DPTR,A
13.若某存储器芯片地址线为12根,那么它的存储容量为()
(A)1KB (B)2KB (C)4KB (D)8KB
14.要想测量引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为()
(A)09H (B)87H (C)00H (D)80H
15.(PSW)=18H时,则当前工作寄存器是()
(A)0组(B)1组(C)2组(D)3组
16.使用8751,且=1时,则可外扩ROM()
(A)64KB (B)60KB (C)58KB (D)56KB
17.MOVX A,@DPTR指令的寻址方式是()
(A)寄存器寻址(B)寄存器间接寻址
(C)直接寻址(D)立即寻址
18.MCS-51有中断源()
(A)5个(B)2个(C)3个(D)6个
19.MCS-51上电复位后,SP的内容应是()
(A)00H (B)07H (C)60H (D)70H
20.ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H
当CPU响应外部中断0后,PC的值是()
(A)0003H(B)2000H(C)000BH(D)3000H
21.控制串行接口工作方式的寄存器是()
(A)TCON(B)PCON(C)SCON(D)TMOD
22.MCS-51响应中断时,下面哪一个条件不是必须的()
(A)当前指令执行完毕(B)中断是开放的
(C)没有同级或高级中断服务
(D)必须有RETI指令。
23.使用定时器T1时,有几种工作模式()
(A)1种(B)2种(C)3种(D)4种
24.执行PUSH ACC指令,MCS-51完成的操作是()
(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口的每一位能驱动()
(A)2个TTL低电平负载
(B)4个TTL低电平负载
(C)8个TTL低电平负载
(D)10个TTL低电平负载
26.使用8255可以扩展出的I/O口线是()
(A)16根(B)24根(C)22根(D)32根
27.PC中存放的是()
(A)下一条指令的地址(B)当前正在执行的指令
(C)当前正在执行指令的地址
(D)下一条要执行的指令
28.LCALL指令操作码地址是2000H,执行完相应子程序返回指令后,PC=()(A)2000H(B)2001H(C)2002H(D)2003H
29.MCS-51的IE内容为83H,则CPU将响应的中断请求是()
(A),(B)T0,T1
(C)T1,串行接口(D),T0
30.下面哪种方式适用于处理外部事件()
(A)DMA (B)无条件传送
(C)中断(D)条件传送
31.关于MCS-51的堆栈操作,正确说法是()
(A)先入栈,再修改SP(B)先修改SP,再出栈
(C)先修改SP,再入栈(D)以上都不对
32.某种存储器芯片是8KB×4/片,那么它的地址线根数是()
(A)11根(B)12根(C)13根(D)14根
33.要访问MCS-51的特殊功能寄存器应使用的寻址方式是()
(A)寄存器间接寻址(B)变址寻址
(C)直接寻址(D)相对寻址
34.下面哪条指令将MCS-51的工作寄存器置成3区()
(A)MOV PSW,#13H(B)MOV PSW,#18H
(C)SETB PSW.4 (D)SETB PSW.3
CLR PSW.3 CLR PSW.4
35.若MCS-51中断源都编程为同级,当它们同时申请中断时CPU首先响应()
(A)(B)(C)T1 (D)T0
36.当MCS-51进行多机通信时,串行接口的工作方式应选择()
(A)方式0(B)方式1(C)方式2(D)方式3
37.执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是()(A)(B)ALE(C)(D)
38.MCS-51的相对转移指令的最大负跳距离为()
(A)2KB (B)128B (C)127B (D)256B
39.指令寄存器的功能是()
(A)存放指令地址(B)存放当前正在执行的指令(C)存放指令与操作数(D)存放指令地址及操作数
40.ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H
上述指令执行后,(PC)=()
(A)0040H(B)0041H(C)0042H(D)0043H
41.MCS-51外扩ROM、RAM和I/O接口时,它有数据总线是()
(A)P0 (B)P1 (C)P2 (D)P3
42.当CPU响应串行中断时,程序应转移到()
(A)0003H(B)0013H(C)0023H(D)0033H
43.当ALE信号有效时,表示()
(A)从ROM中读取数据
(B)从P0口可靠地送出低8位地址
(C)从P0口送出数据(D)从RAM中读取数据
44.MCS-51外扩大会8255时,它需占用()端口地址。
(A)1个(B)2个(C)3个(D)4个
45.MCS-51复位时,下述说法正确的是()
(A)(20H)=00H (B)SP=00H
(C)SBUF=00H (D)TH0=00H
46.执行指令MOV IE,#03H后,MCS-51可响应的中断有()
(A)1个(B)2个(C)3个(D)0个
47.MCS-51的中断源全部编程为同级时,优先级最高的是()
(A)(B)TI (C)T0 (D)
48.各中断源发出的中断请求信号,都会标记在MCS-51中的()(A)TMOD(B)TCON/SCON(C)IE(D)IP
49.MCS-51单片机各中断的优先级设定是利用寄存器()
(A)IE (B)IP (C)TCON (D)SCON
50.MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是()
(A)读锁存器(B)读数据线
(C)读寄存器(D)读RAM
51.以下指令中,属于单纯读引脚的指令是()
(A)MOV P1,A (B)ORL P1,#0FH
(C)MOV C,P1.5 (D)DJNZ P1,short-label
52.以下哪项不是单片机系统响应中断的必要条件()
(A)TCON或SCON寄存器的有关标志位为1
(B)IE内的有关中断允许位置1
(C)IP内的有关位置1(D)当前一条指令执行完
53.指令AJMP的跳转范围为()
(A)256B(B)1KB(C)2KB(D)64KB
54.以下运算中,对OV没有影响或不受OV影响的运算是()
(A)逻辑运算(B)符号数加减运算
(C)乘法运算(D)除法运算
55.在算术运算中,与AC标志有关的数是()
(A)二进制数(B)八进制数
(C)十进制数(D)十六进制数
56.在寄存器间接寻址方式中,指定寄存器中存放的是()
(A)操作数(B)操作数地址
(C)转移地址(D)地址偏移量
57.对程序存储器的读操作,只能使用()
(A)MOV指令(B)PUSH指令
(C)MOVX指令(D)MOVC指令
58.执行返回指令时,返回的断点是()
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令下一条指令的首地址
(D)返回指令的末地址
三、判断题
1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
()2.MCS-51的相对转移指令最大负跳距是127B。
()
3.MCS-51的程序存储器只是用来存放程序的。
()
4.MCS-51的5个中断源优先级相同。
()
5.要进行多机通信,MCS-51串行接口的工作方式应选为方式1。
()6.MCS-51上电复位时,SBUF=00H。
()
7.MCS-51外部中断0的入口地址是0003H。
()
8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。
()9.MCS-51的时钟最高频率是18MHz。
()
10.使用可编程接口必须初始化。
()
11.当MCS-51上电复位时,SP=00H。
()
12.MCS-51外扩I/O接口与外部RAM是统一编址的。
()
13.使用8751且=1时,仍可外扩64KB的程序存储器。
()14.8155的复位引脚可与89C51的复位引脚直接相连。
()
15.MCS-51是微处理器。
()
16.MCS-51的串行口是全双工的。
()
17.PC存放的是当前正在执行的指令。
()
18.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
()19.MCS-51系统可以没有复位电路。
()
20.片外RAM与外设统一编址时,需要专门的输入/输出指令。
()21.MOV @R0,P1在任何情况下都是一条能正确被MCS-51单片机执行的指令。
()
22.欲将片外RAM中3057H单元的内容传送给A,判断下列指令或指令组合的正误。
①MOVX A,3057H ()
②MOV DPTR,#3057H ()
MOVX A,@DPTR
③MOV P2,#30H ()
MOV R0,#57H
MOVX A,@R0
④MOV P2,#30H ()
MOV R2,#57H
MOVX A,@R2
23.欲将SFR中的PSW寄存器内容读入A,判断下列指令或指令组合的正误。
①MOV A,PSW ()
②MOV A,0D0H ()
③MOV R0,#0D0H ()
MOV A,@R0
④PUSH PSW ()
POP ACC
24.判断下列指令或指令组合的正误。
①MOV 28H,@R4 ()
②MOV E0H,@R0 ()
③MOV R1,#90H ()
MOV A,@R1
④INC DPTR ()
⑤DEC DPTR ()
⑥CLR R0 ()
四、简答题
1.什么是机器数与真值?
2.什么是指令系统?
3.什么是汇编语言?
4.什么是总线?
5.什么是寻址方式?
6.什么是堆栈?
7.什么是高级语言?
8.什么是指令周期?
9.单片机用于外界过程控制时,为何要进行A/D、D/A转换?
10.具有8位分辨率A/D转换器,当输入0V~5V电压时,其最大量化误差是多少?
11.串行数据传送的主要优点和用途是什么?
12.中断服务子程序与普通子程序有哪些异同之处?
13.MCS-51有几种寻址方式?各涉及到哪些存储器空间?
14.MCS-51响应中断的条件是什么?CPU响应中断后,要进行哪些操作?不同中断源的中断入口地址是多少?
15.单片机对中断优先级的处理原理是什么?
16.MCS-51单片机定时/计数器作定时的计数时,其计数脉冲分别由谁提供?17.MCS-51单片机片内有几个定时/计数器?它们是由哪些特殊功能寄存器组成?
18.定时/计数器作定时用时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?
19.什么是单片机的机器周期、状态周期、振荡周期的指令周期?它们之间是什么关系?
20.当定时器T0工作于方式3时,如何使运行中的定时器T1停止下来?21.开机复位后,CPU使用的是哪组工作寄存器?它们的地址是多少?CPU如何确定和改变当前工作寄存器组?
22.程序状态字PSW的作用是什么?常用状态有哪些位?各位作用是什么?23.MCS-51单片机有几种复位方法?应注意些什么事项?
24.MCS-51单片机的存储器从物理结构上和逻辑上分别可划分为哪几个空间?25.为什么MCS-51单片机的程序存储器和数据存储器共处于同一地址空间而不会发生总线冲突?
26.凌阳单片机与MCS-51单片机的主要区别是什么?
五、计算题
1.X1=-1111101,X2=+110,求X1-X2=?
2.求±68的补码及补码C9H的真值。
3.(A)=3BH,执行指令ANL A,#9EH后,(A)=?(CY)=?
4.JNZ rel为2字节指令,存于1308H,转移目标地址是134AH,求偏移量rel=?5.晶振f OSC=6MHz,T0工作在方式1,求最大定时时间为多少?
六、阅读并分析程序题
1.设(R0)=4BH,(A)=84H,(4BH)=7FH,(40H)=20H,程序如下:MOV A,@R0
MOV @R0,40H
MOV 40H,A
MOV R0,#35H
问程序执行后,R0、A和4BH、40H单元的内容如何变化?
2.阅读下列程序段并回答问题。
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
⑴请问该程序执行何种操作?
⑵已知初值:(60H)=23H,(61H)=61H,则程序运行后,(62H)=?3.设片内RAM中(59H)=50H,执行下列程序段:
MOV A,59H
MOV R0,A
MOV A,#0
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
则(A)= ,(50H)= ,(51H)= ,
(52H)= 。
七、编程题
1.编一个子程序,将寄存器R0中的内容×10(积≤255)。
2.R1中存有一个BCD码数,试将其转换成ASCII码,存入外部RAM的1000H 单元中去。
3.用查表法编一个子程序,将R3中的BCD码转换成ASCII码。
4.试编制程序将片外RAM中3000H开始的20字节的数据传送到片内RAM中30H开始的单元中去。
5.将片外RAM空间2000H~200AH中数据的高8位变为零,低4位不变,原址存放。
6.三字节无符号数相加,被加数在片外RAM的2000H~2002H(低位在前),加数在片内RAM的20H~22H(低位在前),要求把和存入20H~22H中。
7.8255A控制字地址为300FH,请按A口方式0输入,B口方式1输出,C口高位输出、低位输入,确定8255A控制字并编制初始化程序。
8.编写一个软件延时1s和1min的子程序。
设f OSC=6MHz。
9.编程将片内RAM20H~24H单元压缩BCD码转换成ASCII码存放在25H开始的单元。
10.利用P1口监测某一按键开关,使其每按键一次,输出一个正脉冲(脉宽可自定)。
请画出电路并编制相应程序。
11.有8个LED,每次其中某个LED闪烁点亮10次后,下一个LED再闪烁10次,如此循环,请画出电路度编制相应程序。
12.设计89C51和ADC0809的接口电路,要求采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,并按下列方式之一编程:
⑴延时方式
⑵查询方式
⑶中断方式
八、系统设计及综合应用题
1.使用8031外扩8KB的RAM,请画出系统电路图,写出地址分布。
2.用8031外扩一片8255A,请画出系统电路图,写出地址分布。
3.用8031外扩32KB的EPROM和32KB的RAM,画出系统电路图,写出地址分布。
4.试将8031单片机外接一片2764和一片8255A组成一个应用系统。
要求画出系统电路图,写出地址分布。
5.请设计一个2×2行列式键盘,并编写键盘扫描程序。
6.现有一蜂鸣器,用8031设计一系统,使蜂鸣器周而复始地响20ms,停20ms。
请编制程序。
7.用传送带送料,已知原料从进料口到料位的时间为20ms,卸料时间为10ms。
请设计一个控制系统,使传送带不间断地供料。
8.用8031片内定时器设计一个程序,要求从P1.0输出50Hz的对称方波
(f OSC=12MHz)。
凌阳单片机习题及部分答案
1、“凌阳单片机”的指令系统主要包括那些?
答:主要包括:数据传送指令;算术运算,包括加、减、乘、除运算;逻辑运算,包括与、或、异或、测试及位移操作。
2、“凌阳单片机”的指令系统中逻辑移位、算术移位和循环移位的主要区别是什么?
答:“凌阳单片机”的指令系统中
(1)逻辑移位如:逻辑左移LSL,格式:Rd=Rs LSL n
说明:该指令对Rs 进行n (可设为1 ~4 )位逻辑左移,将Rs 高n 位移入SB寄存器,同时Rs 的低n (1~4 位)用0 补足,结果送Rd 寄存器逻辑右移LSR,Rd=Rs LSR n,Rs的高n用0 补足。
(2)算术移位只有右移,指令为ASR,移位后高有效位的符号扩展位。
(3)循环左移(ROL),Rd=Rs ROL n,同时移动SB 寄存器的高n 位移入Rs 的低n 位;循环右移(ROR)同时移动SB 寄存器的低n 位移入Rs 的高n 位;3、说明下面一段程序完成什么功能?并加以注释。
R1 = 0x0018;
R2 = 0x1027;
[R2--] = R1;
R1+=0x0012;
[R2--] = R1;
R1+=1 ;
[R2] = R1;
答:
R1 = 0x0018;//赋值
R2 = 0x1027; [R2--] = R1; //将0x0018放在0x1027单元,R2-1送给R2
R1+=0x0012 // R1中的0x0018加0x0012送给R1(0x002A)[R2--] = R1; //将R1中的0x002A送到0x1026单元,R2-1送给R2
R1+=1 // R1中的0x002A +1送给R1(结果为0x002B)[R2] = R1; // 将0x002B 送到0x1025单元0x1025单元的数为0x002B;0x1026单元的数为0x002A;
R1:0x002B;R2:0x1025
4、试编写一段程序,求取0x2222和0x2223两个存储单元中的数据之积,低16位结果存于R1中,编程方法不限。
答:
方法1:
R1 = 0 ; //R1清空N=0,Z=1;
R2 = 0x2222 ; //R2为地址指针指向0x2222;
R1 = [R2 ++] ; //读取R2间接寻址的单元值,使R2的值加1;
R2 = [R2] ; //.读取0x2223单元的数
MR=R1*R2;
R1=R3;
方法2:
R2 = 0x2223 ; //指向0x2223;
R1 = [R2--];
R2= [R2] ;
MR=R1*R2;
R1=R3;
5、说明下面两条指令完成什么功能?是什么寻址方式?
R2 = 0x00ff;R1 &= [R2] ;
答:R1与0x00ff地址单元所指的值进行与操作。
第1条是立即数寻址方式;第2条是寄存器间接寻址方式。
6、试分析、说明下面程序完成什么功能?,画出程序流程图并对程序加以注释。
答:完成计算1~100所有奇数的和,结果放在R1寄存器中。
F_CalculateOddSum:
R1 = 0;
R2 = 0;
L_SumOddLoop:
Test R2,0x01 ; //测试奇偶,
Jnz L_AddIt ; //奇数转
R2 += 1;
Cmp R2,100
Jnb L_LoopFinish ; //不小于,结束.
L_AddIt:
R1 += R2 ;
R2 += 1 ;
Jmp L_SumOddLoop
L_LoopFinish:
Retf ;函数返回
7、“061凌阳单片机的I/O口有哪些?中断有多少个?其优先级如何规定?8、说明下面一段程序完成什么功能?并加以注释。
R1 = 0xF0FF;
R3=0x000F;
R2 = 0x0027;
[R2--] = R1;
[--R2] = R3;
[++R2] = 0x0001;
9、试编写一段程序,求取0x2222和0x2223两个存储单元中的数据之和,结果存于R1中,编程方法不限。
10、说明下面两条指令完成什么功能?是什么寻址方式?影响标志位情况
R2 = 0x00ff;
R1 &= [R2] ;
R1 |= [R2] ;
R1 ^= [R2] ;
11、“凌阳单片机”与常用的“MCS-51”的主要区别是什么?
答:前者是16位机,有语音、数/摸转换功能;后者是8位机,无语音、数/摸转换功能。
12、说明下面两条指令完成什么功能?是什么寻址方式?
R2 = 0x00ff;
R1 &= [R2] ;
答:R1与0x00ff地址单元所指的值进行与操作。
第1条是立即数寻址方式;第2条是寄存器间接寻址方式。
5
1.8051单片机的内部硬件结构包括了:、、、和以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过相连接。
2.MCS-51的堆栈只可设置在,堆栈寄存器sp是位寄存器。
3.MCS-51单片机的P0~P4口均是I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的和,在P0~P4口中,为真正的双相口,为准双向口;口具有第二引脚功能。
4.定时器/计数器的工作方式3是指得将拆成两个独立的8位计数器。
而另一个定时器/计数器此时通常只可作为使用。
5.假定(SP)=40H,(39H)=30H,(40H)=60H。
执行下列指令:
POPDPH
POPDPL
后,DPTR的内容为,SP的内容是。
二、选择
1.MCS-96单片机的片内A/D转换器是()的转换器件。
A.4通道8位
B.8通道8位
C.8通道10位
D.8通道16位
2.MCS-51单片机的堆栈区应建立在()。
A.片内数据存储区的低128字节单元&nbs
p;B.片内数据存储区
C.片内数据存储区的高128字节单元
D.程序存储区
3.MCS-51单片机定时器工作方式0是指的()工作方式。
A.8位
B.8位自动重装
C.13位
D.16位
4.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
A.MOVA,@R1
B.MOVCA,@A DPTR
C.MOVXA,@R0
D.MOVXA,@DPTR
三、简答题
1.想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
2.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?
四、参数计算
已知一MCS51单片机系统外接晶体振荡器频率为11.059MHZ,计算:
单片机系统的拍节P、状态S、机器周期所对应的时间是多少?
指令周期中的单字节双周期指令的执行时间是多少?
五、改错
请判断下列各条指令的书写格式是否有错,如有错说明原因:
2.MOVA,@R7
3.MOVA,#3000H
4.MOVC@A DPTR,A
5.LJMP#1000H
六、使用简单指令序列完成以下操作
1.请将片外RAM20H-25H单元清零
2.请将ROM3000单元内容送R7
七、编程题(20)
已知MCS-51单片机系统片内RAM20H单元存放乐一个8位无符号数7AH,片外扩展RAM的8000H 存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
CYADPTR片外01H片外00H片外8000h。
单片机原理及应用期末考试题(A)
一、简答题:(30分,每小题6分)
1.8031扩展外部I/O设备占用的地址空间是ROM的还是RAM的?其最大的空间是多少?
2.什么是中断?MCS-51单片机在什么条件下可响应中断?
3.试述8253芯片的基本功能。
4.信号有什么作用?在8031中应如何接线?
5.MCS-51单片机系统中,外接程序存贮器和数据存贮器共用16位地址线和8位地址线,为什么不会发生冲突?
二、填空:(40分,每小题5分)
1.指出下列指令的寻址方式:
①INC DPTR () ②MOV A, #70H ( )
③MOV A, R0 ( ) ④MOVC A, @A+PC
( )
⑤INC 80H ( )
2.下列程序经汇编后从1000H开始各单元内容为:
ORG 1000H 1000H __________
A1: EQU 1234H 1001H __________
A2: EQU 3000H 1002H __________
DB 07H 1003H __________
DW A1, A2 1004H __________
3.填出下面程序所缺机器代码。
7A ____ MOV R2, #0AH
____ ____ MOV R0, #50H
E4 CLR A
E6 LOOP1: MOV @R0, A
08 INC R0
DA ____ DJNZ R2, LOOP1
80 ____ SJNZ LOOP2
00 NOP
00 LOOP2: NOP
4.当系统时钟为6MHz时,下面程序可延时_____ms。
ORG 2000H 需机器周期数
MOV A, #84H ; 1 LOOP: DEC A ; 1
JNZ LOOP ; 2
NOP ; 1
NOP ; 1
NOP ; 1
END
5.已知fosc=12MHZ某计数器初始化程序如下:MOV TMOD, #01H
MOV TH0, #0AH TMOD:
MOV TL0, #0DH
SETB TR0
该计数/定时器____工作于________方式_________。
计数值或定时时间为__________。
6.某程序段如下:
CLR C
CLR RS1
CLR RS0
MOV A, #30H
MOV 28H, #28H 程序状态字
MOV R0, A
MOV 29H, R0
SETB RS0
MOV R1, A
MOV 28H, C
⑴程序中R0和R1的地址分别为______,________。
⑵程序执行后片内RAM中(28H)= ______ ,(29H)= _______。
7.写出完成以下数据传送的相应指令
⑴片外RAM1000H单元内容送入片内RAM20H单元。
( )
⑵ROM2000H单元内容送入片内RAM20H单元。
( )
⑶R1的内容传到R0。
( ) 8.串口扩展74LS164,用于共阴一位LED,延时1秒循环显示“0”~“9”的程序段如下,补上所缺指令(TAB为字形码首址)。
MOV R1, #09H
MOV R0, #00H
MOV DPTR, #TABH
LOOP1: MOV A, R0
( )
( )
LOOP2: JNB TI,LOOP2
( )
LCALL DELAY
( )
DJNZ R1,LOOP1
SJMP $
三、8031单片机扩展一片外部RAM6116,画出其连接线路(三总线),并指出扩展RAM区的地址范围。
四、写出两个3字节二进制数相加的源程序,要求将结果存放在50H、51H、52H 单元。
其中被加数由高位到低位已放在31H、32H、33H单元,加数已放在41H、42H、43H单元。
单片机原理及应用期末考试题(B)
一、简答题:(30分,每小题6分)
1.8031单片机有几个独立的存贮空间?这些空间的地址范围如何?单片机复位后程序从何处开始执行?
2.8031有哪些中断源?几个中断优先级?MCS-51对中断优先级处理的原则是什么?
3.试述8279芯片的基本功能。
4.ALE信号有何功用?它与机器周期关系如何?
5.MCS-51单片机系统中,外接程序存贮器和数据存贮器共用16位地址线和8位地址线,为什么不会发生冲突?
二、填空:(40分,每小题5分)
1.指出下列指令的寻址方式:
①INC R0 ( ) ②MOV A, #30H ( )
③MOV A, R7 ( ) ④MOVX A, @DPTR ( )
⑤INC 89H ( )
2.下列程序经汇编后从3000H开始各单元内容为
ORG 3000H 3000H __________
D1: EQU 0102H 3001H __________
D2: EQU 0304H 3002H __________
DB 0AH 3003H __________
DW D1, D2 3004H __________ 3.填出下面程序所缺机器代码。
7A ____ MOV R2, #09H
____ ____ MOV R1, #30H
E4 CLR A
E7 LOOP1: MOV @R1, A
04 INC A
08 INC R1
DA ____ DJNZ R2, LOOP1
80 ____ SJNZ LOOP2
00 NOP
00 NOP
LOOP2: ACALL DEY
4.当系统时钟为6MH Z时,下面程序可延时_____ms。
ORG 1000H 需机器周期数
MOV A, #0A6H ; 1 LOOP: DEC A ; 1
JNZ LOOP ; 2
NOP ; 1
END
5.已知fosc=12MH Z,某计数器初始化程序如下
MOV TMOD, #10H。