单片机试题及答案.docx
《单片机试题及答案.docx》由会员分享,可在线阅读,更多相关《单片机试题及答案.docx(43页珍藏版)》请在冰豆网上搜索。
单片机试题及答案
单片机试题
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=0H。
若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFFH时,8051会自动转向片外存储器继续取指令执行。
6、8051的C/T是加(加或减)计数的。
7、8051的中断向量表在3H、0BH和13H、1BH、23H。
8、MOVA,40H指令对于源超作数的寻址方式是直接寻址。
9、指令JB0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC。
(0A7H是P2.7的地址)
10、将CY与A的第0位的非求或的指令是ORLC,/ACC.0,若原A=0,执行后A=0。
2、已知A=0F8H,当执行ADDA,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?
若是有符号数,A中的结果用十进制表示是多少?
(共5分)
[解答]OV:
0、CY:
1、AC:
1、P:
1A:
-95
3、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。
画出连接示意图,写出完整的程序。
(共15分)
A机程序ORG0000H
AJMPSTART
ORG4100H
START:
MOVP1,#0FFH
MOVSCON,#80H
AGAIN1:
MOVSBUF,P1
JNBTI,$
CLRTI
SJMPAGAIN1
END
B机程序ORG0000H
AJMPSTART
ORG4100H
START:
MOVSCON,#90H
AGAIN1:
JNBRI,$
MOVP1,SBUF
CLRRI
SJMPAGAIN1
END
4、将8051外部扩展2KEPROM,同时扩展16KRAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器。
请画出连接示意图。
要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE。
最后写出各片的地址范围。
(共12分)
数据线8根从P1直接到2716的O、两片6264的D;
地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,
0-4五位直接到两片6264内P2.5接一片6264的CE,经非门后接另一片6264;
ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE。
2716:
0-7FFH,6264:
0-1FFFH,2000H-3FFFH
5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。
若是非法的BCD码,则A返回值为255。
(共10分)
6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环。
一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环。
画出连接示意图,写出完整的程序。
(软件延时用循环5*126*200次控制)(共10分)
五、SUBP:
MOVR1,A
ANLA,#0F0H
SWAPA
CJNEA,#10,NEXT1
NEXT1:
JNCERROR
MOVB,#10
MULAB
XCHA,R1
ANLA,#0FH
CJNEA,#10,NEXT2
NEXT2:
JNCERROR
ADDA,R1
RET
ERROR:
MOVA,#255
RET
六、ORG0000H
LJMPSTART
ORG3H
LJMPINT00
START:
SETBEA
SETBEX0
CLRIT0
MOVA,#1
AGAIN:
MOVP1,A
ACALLDELAY
RLA
SJMPAGAIN
DELAY:
MOVR1,#5
LOOP1:
MOVR2,#200
LOOP2:
MOVR3,#126
DJNZR3,$
DJNZR2,LOOP2
DJNZR1,LOOP1
RET
INT00:
PUSHACC
PUSH1
PUSH2
PUSH3
MOVR4,#5
AGAIN:
MOVP1,#0FFH
ACALLDELAY
MOVP1,#0
ACALLDELAY
DJNZR4,AGAIN
POP3
POP2
POP1
POPACC
RETI
END
7、简单叙述8051的C/T0的四种工作模式和串行通信的四种工作模式。
(共8分)
C/T0的模式
0:
13位计数器;
1:
16位计数器;
2:
8位循环计数器;
3:
2个独立的8位计数器
串行通信模式
0:
同步移位寄存器;
1:
波特率可变的8位两机异步通信;
2:
波特率固定的9位可多机的异步通信;
3:
波特率可变的9位可多机的异步通信。
一、填空与说明题
1、8051单片机的内部硬件结构包括了:
、、、
以及片内数据储存器、片内程序储存器、并行I/O位出力器等部件,这些部件通过相连接。
2、MCS-51单片机的PO-P4口,其中的PO口和P2口除了可以进行数据的输入、输出外,通常还用来构件系统的和在PO~P4口中,位真正的双向口,为准双向口。
3、请说明MCS-51单片机程序状态字PSW中的各位的含义。
CYACFORS1RS0OV/P
CY:
AC:
FO:
RS1、RS0:
OV:
P:
4、单片机系统中经常采用的地址择码技术包括方法和方法。
5、INTEL8279是一种专用于和芯片。
当8279的引脚AO为“1”时,CPU对8279写入的数据为,读出的数据为
。
6、MCS-96单片机的最大寻址空间是,该空间的地址范围为,系统上电及复位的程序入口地址为。
二、简答题(12分)
1、MCS-51系列单片机具有几个中断源?
分别是如何定义的?
其中哪些中断源可以被定义为高优先级中断?
如何定义?
2、各中断源对应的中断服务程序的入口地址是否能任意设定?
3、如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置?
请举例加以说明。
三、参数计算题(12分)
已知亿MCS-51单片机系统是拥10MHZ的外部晶体振荡器,请问:
1、该片机系统的状态周期与机器周期各为多少?
2、该单片机的定时器O(TO)工作在方式2时,TO的最大定时时间为多少?
3、当单片机的定时器O(TO)工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少?
四、改错题(10分)
请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1、CLRA
2、MULR0,R1
3、MOVDPTR,1050H
4、MOVA,@R7
5、ADD30H,20H
6、MOVR1,C
7、JMP@RO+DPTR
8、MOVA,#3000H
9、MOVC@A+DPTR,A
10、MOVXA,@A+DPTR
五、程序分析题(8分)
设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?
请填入给定的各个寄存器及片内单元中。
MOVRO,#20H
MOVA,@RO
MOVR1,A
MOVB,@R1
MOV@R1,R1
MOVP3,P1
(A)=(B)=(R0)=(R1)=
(P1)=(P3)=(20H)=(22H)=
六、编程题(20分,其中编程14分,表中每一空1分,共6分)
已知一MCS-51单片机系统的片外RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中。
CYADPTR片外31H片外30H片外8000H
程序:
七、判读电路题(12分)
下图为MCS-51单片机系统中扩展程序储存器2764、以及外部扩展接口的部分连接电路图。
试分析电路图并会下列问题:
1、请给出2764所占用的单片机程序存储空间的地址范围。
2、在这种电路连接下,74LS244(5)是作为输入接口使用还是作为输出接口使用,为什么?
它所占用的单片机数据存储空间的地址范围是多少?
3、在这种电路连接下,74LS373(U6)是作为输入接口使用还是作为输出接口使用,为什么?
它所占用的单片机数据存储空间的地址范围是多少?
一、1、MCU的基本含义是:
在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及输入输出(I/O)接口的比较完整的数字处理系统。
2、CPU08可寻址64K地址空间,所以它的地址范围是$0000~$FFFF。
3、HC08CPU中共有270条指令,其中无条件跳转、调子程序和子程序返回指令分别是JMP、JSR、RTS。
4、在08C语言中操作寄存器及I/O口时,通常预先在头文件中使用宏定义,其定义方法如下:
#define寄存器名*(volatileunsignedchar*)寄存器地址
#defineI/O口名*(volatileunsignedchar*)I/O口地址。
在08编译器伪指令中定义RAM存储区伪指令为RMB,定义程序区中(Flash存储器区)字节常数的伪指令为FCB,定义程序或数据区的起始地址的伪指令为ORG。
6、MC68HC908GP32单片机有5个普通I/O口,分别是A口、B口、C口、D口、E口。
它们中的大部分具有双功能,其中可以分别作为AD转换、键盘中断和串口用的是B、A、E。
7、重键就是有两个及两个以上按键同时处于闭合状态的处理问题。
在软件上,处理重键问题通常有连锁法与巡回法。
二、1、PWM:
PWM产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为PWM信号,也叫脉宽调制波。
2、DSP:
数字信号处理(DigitalSignalProcessing,DSP)的芯片类型,相对于MCU来说,DSP偏重于信号处理与运算,而MCU偏重于控制。
3、ARM:
高级精简指令系统计算机。
4、嵌入式系统:
面向测控对象,嵌入到实际应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统
5、伪指令:
由于编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令,因此这些指令被称为伪指令(PseudoInstruction)。
三、1、简述MCU选型的基本原则。
①MCU是否含有所需的I/O端口数目。
②MCU是否含有所需的外围端口部件。
③MCU的CPU是否有合适的吞吐量。
④MCU的极限性能是否满足要求:
简述汇编中的伪指令的作用。
编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令。
3、如果A/D采样的位数为10位,参考电压为5V,则其能检测到的模拟变化量是多少?
5V/210=0.0048V
1、内部RAM中的位寻址区定义的位是给(B)。
A).位操作准备的 B).移位操作准备的 C).控制转移操作准备的 D).以上都对
2、对程序计数器PC的操作(A)。
A).是自动进行的 B).是通过传送进行的
C).是通过加1指令进行的 D).是通过减1指令进行的
3、假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进行堆栈保护后,SP的值为(D)。
A).36H B).37H C).38H D).39H
4、在MCS-51单片机的运算电路中,不能为ALU提供数据的是(D )。
A).累加器A B).暂存器 C).通用寄存器B D).状态条件寄存器PSW
5、边沿触发方式的外部中断信号是(A )有效。
A).下降沿 B).上升沿 C).高电平 D).低电平
6、MCS-51响应中断时,下面哪一个条件不是必须的(B )。
A).当前指令执行完毕 B).中断是开放的
C).没有同级或高级中断服务 D).必须有RETI指令
7、确定定时器/计数器工作方式的寄存器是(B )。
A).TCON B).TMOD C).SCON D).PCON
8、异步串行通信中,收发双方必须保持(B )。
A).收发时钟相同 B).停止位相同
C).数据格式和波特率相同 D).以上都正确
9、使累加器的最高位置1,其余位不变,可以用下面的( A)指令实现。
A).ORL A,#80H B).ANL A,#80H
C).XRL A,#80H D).MOVA,#80H
10、在MCS-51单片机外扩展存储器芯片时,4个I/O口中用作地址总线的是(B )。
A).P0口 B).P0和P2口 C).P2和P3口 D).P2口
11、访问外部数据存储器时,不起作用的信号是(C )。
--[if!
vml]-->
--[endif]-->
--[if!
vml]-->
--[endif]-->
--[if!
vml]-->
--[endif]--> A).RD B).WR C).PSEN D).ALE
12、以下指令中,属于单纯读引脚的指令是(C )。
A).MOV P1, A B).ORL P1, #0FH
C).DJNZ P1, LAB D).MOV C, P1.5
13、对程序存储器的读操作,只能使用( C)指令。
A).MOVX B).PUSH C).MOVC D).MOV
14、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先相应(B )
A).INT1 B).INT0 C).T1 D).T0
15、当MCS-51进行多机通讯时,串行接口的工作方式应选为(D )
A).方式0 B).方式1 C).方式2 D).方式2或方式3
1、PSW中RS1RS0=10H时,R2的地址是 12H 。
2、单片机经加电复位后,执行第一条指令的地址是 0000H 。
3、在串行通信中,数据传送方向有 单工 、半双工 、全双工三种方式。
4、一个机器周期= 6 个状态周期=12个振荡周期。
5、设DPTR=2000H,(A)=A0H,则MOVC A,@A+DPTR操作数的实际操作地址为 20A0H 。
6、若8051单片机的引脚EA接地,表示 只能访问片外程序存储器 。
7、在MCS-51单片机系统中,采用的编址方式是 统一编址 。
8、在查询和中断两种数据输入输出方式中,效率较高的是 中断 。
9、指令LCALL37B0H,首地址在2000H,所完成的操作是 2003H 入栈,PC= 37B0H 。
10、外部中断INT1入口地址为 0013H 。
11、ANL A,#0F0H是将A的高四位保持不变,而低4位 取反 。
12、8051单片机定时器/计数器作定时和计数用时,其计数脉冲分别由 8051片内脉冲 和 P3.4或P3.5引脚端的外
部脉冲 提供。
判断下列叙述的正误,对的打“”√,错的打“×”,并对错误的叙述进行改正。
1、复位是单片机的初始化操作。
( √ )
2、内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用。
( × )可以字节寻址
3、在相对寻址方式中,寻址的结果体现在DPTR中。
( × )PC
4、PC存放的是当前正在执行的指令的地址。
( × )下一条令地址
5、MOV 28H, @R4 ( × )MOV28H,@R0或MOV28H,@R1
1、(4分)简述单片机对中断优先级的处理原则。
答:
1)先处理优先等级高的中断,再处理优先等级低的中断
2)若这些中断属于同一优先等级,则按中断硬件查询顺序进行排队,依次处理
3)若当前正在处理的是低优先级的中断,在CPU开中断的前提下,它能被另一个高优先级的中断申请中断,形成中断嵌套。
4)若当前正在处理的是高优先级中断,则暂不响应其他中断。
2、(6分)8051单片机有哪几种寻址方式?
每种寻址方式各涉及哪些寄存器和存储器空间。
请说明。
答:
寻址方式
涉及的寄存器
使用的存储空间
直接寻址
片内RAM低128位字节
寄存器寻址
R0~R7,A,B,Cy,DPTR
片内RAM
寄存器间接寻址
R0,R1,DPTR
片内RAM,片外RAM与I/O口
立即数寻址
程序存储器
基寄存器加变址寄存器间接寻址
A,PC,DPTR
程序存储器
相对寻址
PC
程序存储器
位寻址
Cy
片内RAM的20H~2FH,部分SFR
1、(5分)编程实现下列运算:
设Di为片内RAM22H单元中对应位,运算结果存入进位位CY中。
MOVC,22H.0
ANLC,22H.1
MOV22H.2,C ;D0.D1->D2
CPL22H.1
MOVC,22H.0
ANLC,22H.1 ;D0.D1_->C
ORLC,22H.2 ;D0.D1+D0.D1_->C
CPLC
MOV22H.2,C
MOVC,22H.7
CPLC
ANLC,22H.5 ;D5.D7_->C
ORLC,22H.2
2、(5分)试编写延时2S的子程序,并给出2S时间的得出算式。
ORG000BH ;T0中断入口
AJMPBRT0 ;跳转到BRT0执行中断服务程序
DELAY:
MOVTMOD,#01H ;设置T0用于定时,模式1方式
MOVTH0,#3CH ;装入定时初值
MOVTL0,#0B0H
MOVIE,#82H ;T0允许中断
SETBTR0 ;启动T0计数
MOVR0,#14H ;软件计数器R0赋初值
LOOP:
SJMP$;等待中断
BRT0:
DJNZR0,NEXT ;若未到1s,则转到NEXT
RET ;本延时子程序返回
NEXT:
MOVTH0,#3CH ;重装定时器初值
MOVTL0,#0B0H
RETI
1、(9分)利用SRAM芯片6264扩展8KB数据存储器(提示:
6264上有两个片选信号CE1、CE2)。
试①确定地址译码范围,写出所有可能地址范围;②画出系统结构图。
答:
(1)由于使CE1(低电平有效)接地,CE2(高电平有效)用作片选,接P2.7,所以其地址范围为1xx0000000000000B~1xx1111111111111B
可能地址译码范围:
8000H~9FFFH,A000H~BFFFH,C000H~DFFFH,E000H~FFFFH
2、(16分)MCS-51与ADC0809的连接如下图所示,A/D转换结果依次存放在片外数据存储器40H~47H单元,单片机和A/D转换器的数据传送间址寄存器采用DPTR。
①试确定通道地址;②试用中断方式编写A/D转换接口程序并写出注释。
(1)78H~7FH
(2)ORG0000H
START:
AJMPMAIN
ORG0003H
AJMPEXINT0
ORG0030H;表示主程序从0030H地址开始
MAIN:
MOVR0,#40H;采样数据存放的首地址
MOVR1,#78H ;IN0通道地地址
MOVR2,#08H ;模拟量通道数
MOVX@R1,A ;启动A/D转换
SETBIT0 ;外部中断0为边沿触发方式
SETBEX0 ;允许外部中断0中断
SETBEA ;开放CPU中断
HERE:
SJMPHERE
EXINF0:
PUSHPSW 保护现场
CLRRS0
CLSRRS1
MOVXA,@R1 ;读取转换结果
MOV@R0,A ;存放结果
INCR0
INCR1
DJNZR2,NEXT ;8通道未完,则采取下一通道
CLREX0 ;采集完毕,则停止中断
SJMPDONE
NEXT:
MOVX@R1,A ;启动下一通道A/D转换
DONE:
POPPSW
RETI
END
单片机应用基础试卷1
一、是非题(每题1分,共计15分)
1?
8031片内含EPROM,8751片内不含EPROM。
()
2?
MCS-51单片机是依靠低电平复位的。
()
3?
MCS-51单片机的数据空间与程序空间是独立编址的。
()