单片机试题.docx
《单片机试题.docx》由会员分享,可在线阅读,更多相关《单片机试题.docx(28页珍藏版)》请在冰点文库上搜索。
![单片机试题.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/b3694388-7692-4f59-9634-556f57852e7b/b3694388-7692-4f59-9634-556f57852e7b1.gif)
单片机试题
6、当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。
7、MCS-51系列单片机指令系统的寻址方式有寄存器、直接寻址、
寄存器间接、立即、基址加变址、位寻址。
(相对寻址也可以)
8、MCS-51系列单片机的典型芯片分别为8031、8051、8751。
15、若A中的内容为68H,那么P标志位为1。
1、MCS-8051系列单片机字长是8位,有40根引脚。
单片机的特点有体积小、价格低、功能全。
2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址
3、8051最多可以有4个并行输入输出口,最少也可以有1个并行口,即P1。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
4、ALE信号的作用是低8位地址锁存 。
5、8051复位后,PC=0H。
若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFFH时,8051会自动转向片外存储器继续取指令执行。
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
1.假定外部数据存储器2000H单元的内容为80H,0000H单元的内容为90H,执行下列指令后,累加器A中的内容为(80H)。
MOVP2,#20H
MOVR0,#00H
MOVXA,@R0
2.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:
PUSHACC
PUSHB
后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。
3.设A=01××××××B,×表示随机状态,为1或0,执行指令ORLA,#03H后A=(01××××11B)
4.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。
执行指令:
INCA
INCR3
INC30H
INC@R0
后,累加器A的内容为(00H),40H的内容为(01H)。
5.在MCS—51中PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。
6.MCS-51可提供(程序)和(数据)两种存储器、最大存储空间可达(64KB)的两个并行存储器扩展系统。
7.扩展存储器而构造系统总线,应以P0口的8位口线作为(低位地址/数据)线,以P2口的口线作为(高位地址)线。
8、设A=58H,执行指令ADDA,#99H后,A=(0F1H),C=(0),再执行指令DAA后A=(57H),C=
(1)。
9、计算延时程序的执行时间。
(设时钟f=12MHz)
源程序指令周期(M)指令执行次数
DELAY:
MOVR6,#64H1
(1)
I1:
MOVR7,#0FFH1 (100)
I2:
DJNZR7,I22(100*255)
DJNZR6,I12(100)
RET2
(1)
延时时间t=(1×1+1×100+2×100×255+2×100+2×1)×T=51.3ms
单片机复位的作用是什么?
有几种复位方法?
复位后单片机的状态如何(写出PC、PSW、SP、DPTR、P0、P1、P2、P3寄存器的状态值)?
(1)复位的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。
(2)复位方法有上电自动复位和按键手动复位
(3)复位后单片机的状态为:
PC=0000H、PSW=00H、SP=07H、DPTR=0000H、P0、P1、P2、P3各为FFH
2.何为单片机的中断系统?
80C51单片机有几个中断源?
CPU响应中断时,中断入口地址各是多少?
(1)中断:
程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去;完成中断服务程序后,CPU继续执行原来被打断的程序。
(2)80C51单片机有5个中断源,分别是INT0、INT1、T0、T1和串行中断。
(3)CPU响应中断时,中断入口地址如下:
中断源入口地址
INT00003H
INT1000BH
T00013H
T1001BH
串行中断0023H
设在内RAM40H开始的存储区有若干个字符和数字,已知最后一个为字符“$“(并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。
参考程序:
ORG0000H
START:
MOVR1,#40H;R1作为地址指针
CLRA;A作为计数器
LOOP:
CJNE@R1,#24H,NEXT;与“$”号比较,不等转移
SJMPNEXT1;找到“$“结束循环
NEXT:
INCA;计数器加1
INCR1;指针加1
SJMPLOOP;循环
NEXT1:
INCA;再加入”$”这个字符
MOV30H,A;存结果
END
1.用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开始P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。
请编制程序。
参考程序:
ORG0000H
AJMPMAIN
ORG0003H
RLA;中断服务
MOVP1,A
RETI
MAIN:
MOVA,#0FFH
MOVP1,A;第一灯亮
SETBEA
SETBEX0;允许INT0外部中断
SETBIT0;中断触发方式为下降沿触发
SJMP$;等待中断
1、MCS51单片机可以扩展的程序存储器和数据存储器(包括输入输出口)最多为(64)KB。
2、外围I/O接口芯片与(数据 )存储器是统一编址的,它不仅占用(数据)存储器地址单元,而且使用( 数据 )存储器的(读写 )控制指令。
3、全译码法就是用用译码器对( 高位 )地址线进行译码,译出的信号作为(片选线)。
4、用串口扩充并口时,串行接口方式应选为方式(0)
5、P0口作为地址/数据总线,传送地址码的(低)8位;(P2 )口作为地址总线,传送地址码的( 高 )8位。
6、在矩阵式键盘中,对按键的是被方法有(扫描法)和(线反转)法。
二、选择题
1、利用MCS51单片机本身的串行口也可直接扩展(a)
A、并行输入/输出口B、串性输入/输出口C、定时器D、中断
2、全地址译码法存在(d)问题
A、地址不连续B、地址重叠C、地址冲突D、地址译码复杂
3、对于P0口的地址信号( a )
A、必须使用锁存器 B、必须使用译码器C、必须使用线选法D、无须任何
4、使用MC51单片机的P1口最多能扩展按键的数量是( d )
A、8 B、4C、6 D、16
1、程序存储器是用于存放程序代码的,也用于存放常数。
( Y )
2、在单片机上使用LED作显示器时,如果位数为8个,则较适合使用动态的显示方式。
( Y )
1、MCS51单片机系统中,为什么P0口要接一个8为锁存器,而P2口不用?
答:
因为P0口是双功能口,既可以做地址接口,又可以做数据接口,在开始传送数据先作为地址接口传送地址码的低8位,后作为数据接口,则必须使用锁存器。
而P2口只作为高8位的地址接口。
2、单片机怎样管理中断?
怎样开放和禁止中断?
怎样设置优先级?
答:
(1)正在进行的中断过程,不能被新的同级或低优先级的中断请求中断;正在执行的低优先级服务程序能被高优先级中断请求所中断;CPU同时接受到几个中断请求时,首先响应优先级最高的中断请求。
(2)对各中断源的中断开放或关闭是由内部的中断允许寄存器IE的各位来进行两级控制的,指各个中断源的允许控制位与一个中断允许总控位EA配合实现对中断请求的控制。
(3)中断优先级控制寄存器IP也是一个特殊功能寄存器,用户可通过程序对各状态位进行设定,完成对中断优先级的控制。
二、简答题(13分)
采用6MHz的晶振,定时2ms,用定时器方式1时的初值应为多少?
(请给出计算过程)(6分)
答:
(1)Ts=2us
(216-X)×2us=2ms
从而X=64536…………………..4分
(2)64536=FC18H………………………2分
2、MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?
(4分)
答:
因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。
(2分)
读外部数据存储器时,RD*信号有效。
写外部数据存储器时,WR*信号有效。
而读外部程序存储器时,PSEN*信号有效。
由于发出的控制信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据冲突。
(2分)
3.说明MCS-51的外部引脚EA*的作用?
(3分)
答:
EA*是内外程序存储器选择控制信号。
(1分)
当EA*=0时,只选择外部程序存储器。
(1分)
当EA*=1时,当PC指针≤0FFFH时,只访问片内程序存储器;当PC指针>0FFFH时,则访问外部程序存储器(1分)
三、编写程序,将外部数据存储器中的5000H—50FFH单元全部清零(10分)。
答:
ORG****H(1分)
MOVDPTR#5000H
MOVR0,#00H
CLRA(3分)
LOOP:
MOVX@DPTR,A
INCDPTR(3分)
DJNZR0,LOOP(2分)
HERE:
SJMPHERE(RET,SJMP$等)(1分)
1.在一片集成电路芯片上集成了(CPU)、(存储器)、(输入输出I/O接口),从而构成了单芯片卫星计算机,即(单片机)。
2.寻址方式就是(指出参与运算操作数地址的方式)。
寻址方式包含两方面的内容:
一是(寻找操作数的地址),二是(寻找指令的地址)。
3.MCS-51单片机的程序储存器的低端被固定的用做特定的入口地址,如0000H:
(复位);0003H:
(INT0);000BH:
(T0)。
4.单片机有两个定时器,定时器的工作方式由(TMOD)寄存器决定,定时器的启动与溢出由(TCON)寄存器控制。
5.单片机复位后,堆栈指针SP和程序计数器PC的内容分别为(07H)和(00H)。
6.JNBbit,rel:
指令表示当指定位为(0)时程序发生跳转。
7.既做一般I/Q口又有第二功能的端口是(p3);既做数据线又做地址线的是(p0)口。
8.一个机器周期包含(12)个晶振周期,若晶振周期的频率为12MHZ,则机器周期为(1us),指令周期为
(1)~(4)机器周期。
9.P1口在作为输入口使用时,在读取数据之前,通常要先向P1口送数据(0FFH)。
二.选择题(每空2分,共18分)
1.在进行串行通信时,若两机的发送与接受可以同时进行,则称为(C)。
A半双工传送B单工传送C全双工传送D以上都不对。
2.使用单片机开发系统调试程序时,对原程序进行汇编的目的是(A)。
A将源程序转换成目标程序B将目标程序转换成源程序C将低级语言转换成高级语言D连续执行键
3.指令AJMP的寻址范围是(D)
A任意范围B-128到+127C64KD2K
4.定时器TO的溢出标志为TFO,采用查询方式,若查询到有溢出时,该标志(A)。
A由软件清零B由硬件自动清零C随机状态DAB都可以
5.单片机在与外部I/Q口进行数据传送时,将使用(A)指令。
AMOVXBMOVCMOVCD视具体I/Q口器件而定
6.在中断允许寄存器中,中断控制寄存器EA位的作用是(A)
ACPU总中断允许控制位B中断请求总标志位C各中断源允许控制位D串行口中断允许位
7.调用子程序、中断响应过程及转移指令的共同特点是(B)。
A都能返回B都通过改变PC实现转移C都将返回地址压入堆栈D都必须保护现场
8.读取AD转换的结果,使用(D)指令。
AMOVA,@RiBMOVX@DPTR,ACMOVCA,@DPTRDMOVXA,@DPTR
9.串行口中断入口地址是(B)。
A000BHB0023HC1000HD0013H
三、简答题(每题6分,共24分)
4.什么是中断?
CPU响应中断的条件是什么?
答:
是指CPU暂时停止现行程序的执行,而自动转去执行预先安排好的处理事件的服务子程序.CPU响应中断的条件:
CPU首先响应的是优先级别高的中断请求.
1.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H.41H.和42H单元的内容各为多少?
MOVA,50H答:
A10H
MOVR0,AR010H
MOVA,#10H40H50H
MOV@R0,A41H4BH
ADDA,#3BH42H4BH
MOV41H,A
MOV42H,41H.
2.写出一延时50ms的程序段,设晶振频率为12WHZ。
答:
delay:
MOVR0,#500
Delay1:
MOVR1,#100
DJNZ:
R1,$
DJNZ:
R0,delay1
RET
3.一变量存放在片内RAM的20H单元,其取值范围为:
00H~05H。
要求编制一段程序,根据变量值求其平方值,并存入片内的RAM的21H单元。
CLRA
CLRB
MOVA20H
MULAB
MOV21HA
1.MCS-51系列单片机外扩存储器芯片时,4个I/O中作为数据总线的是(B)。
A、P0口和P2口B、P0口C、P2和P3口D、P2
2.单片机上电后或复位后,工作寄存器R1是在( B )。
A.0区00H单元 B.0区01H单 C.0区0AH单元 D.SFR
3.下列指令运行后,堆栈指针SP的值会发生改变的是(B)。
A、MOV指令B、LCALL指令C、XCH指令D、SETB指令
4.对程序存贮器的访问,只能使用(C)。
A、MOV指令B、MOVX指令C、MOVC指令D、PUSH指令
5.中断查询时,是查询(B)。
A、中断请求信号B、中断标志位C、外中断方式控制位D、中断允许控制位
6.不能用来位寻址的寄存器是(B)。
A、TCONB、TMODC、SCOND、IE
7.在进行串行通信时,若两机的发送与接收可以同时进行,则称为(D)。
A、半双工传送B、单工传送C、双工传送D、全双工传送
8.扩展存储器时要加锁存器74LS373,其作用是(A)。
A、锁存寻址单元的低八位地址B、锁存寻址单元的数据
C、锁存寻址单元的高八位地址D、锁存相关的控制和选择信号
9.当需要从MCS-51单片机外部数据存储器取数据时,采用的指令为(D)。
A.MOVA,@R1 B.MOVCA,@A+DPTR
C.MOVX@R0,A D.MOVXA,@DPTR
1、MCS-51的位存储区在哪里?
寻址范围是多少?
2.简述89C51单片机中断的概念。
3.简述LED数码管动态扫描的原理及其实现方式
1答:
内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80~FFH;位存储区共256个位。
2.答:
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的时间。
中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。
3.答:
动态扫描的原理是利用人的视觉暂留,让人觉得各位LED同时点亮一样。
逐位轮流点亮各个LED,每一位保持1ms,在10~20ms之内再一次点亮,重复不止,就可以实现动态扫描。
1.MCS51的中断系统有几个中断源?
几个中断优先级?
中断优先级是如何控制的?
在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?
各个中断源的入口地址是多少?
答:
MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:
INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?
TMOD的值是多少?
TH0=?
TL0=?
(写出步骤)
答:
定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H
TMOD的值是00000001B,TH0=13H;TL0=88H。
3.MCS51系列单片机的内部资源有哪些?
说出8031、8051和8751的区别。
答:
MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。
8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
四、读程序题(每小题4分,共20分)
1.执行下列程序段后,(P1)=_______。
MOVP1,#5DH
CPLP1.1
CPLP1.2
CLRP1.6
SETBP1.7
2.执行下列程序段后,(A)=_______,(CY)=____。
MOVA,#C5H
RLA
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。
MOVR0,#7EH
MOV7EH,#0FFH
MOV7FH,#40H
1NC@R0
1NCR0
1NC@R0
4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)=____。
5.阅读下列程序,说明其功能。
MOVR0,#data
MOVA,@R0
RLA
MOVR1,A
RLA
RLA
ADDA,R1
MOV@R0,A
RET
1.(P1)=9BH2.(A)=8BH(或10001011B)(CY)=不影响3.(R0)=7FH(7EH)=00H
(7FH)=41H4.(PC)=0345H(61H)=25H(62H)=01H5.(data)×10操作?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?
请举例加以说明。
3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:
外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:
(4分)
1.请将片外RAM20H—25H单元清零
MoVR0,#20H
MOVR7,#06H
CLRA
LOOP:
MOVX@R0,A
INCR0
DJNZR7,LOOP
2.请将ROM3000H单元内容送R7
MOVDPTR,#3000H
CLRA
MOVCA,@A+DPTR
MOVR7,A
1、MCS-51单片机片内有 5个中断源,其中 2 个外部中断源。
2、设定T1为计数器方式,工作方式2,则TMOD中的值为 60H(高位为6即可) 。
3、若IT1=0,当引脚 P3.2 为低电平的时候,INT0的中断标志位IE0 才能复位。
4、在接口电路中,把已经编址并能进行读写操作的寄存器称为 端口 。
5、在单片机中,为实现数据的I/O传送,可使用三种控制方式,即 无条件传送方式、查询 方式和 中断 方式
二、选择题(每小题2分,共10分)
1、寻址空间为数据程序存储器所用的指令是(A):
A.MOVXB.MOVC.MOVCD.ADDC
2、执行中断返回指令,从堆栈弹出地址送给(C).
A.AB.CYC.PCD.DPTR
3、七段共阴极发光两极管显示字符‘H’,段码应为(E)
A.67HB.6EHC.91HD.76HE.90H
三、指令题(每小题4分,共16分)
1、将20H单元清零
MOV20H,#00H或
CLRA
MOV20H,A
2、将片外RAM2000H中的低字节与片内20H中的低字节交换。
MOVDPTR,#2000HXCHDA,@R0
MOVR0,#20HMOVX@DPTR,A
MOVX@DPTR,A
3、已知某端口地址为2FFFH,将片内RAM20H的内容写到该端口中。
MOVA,20H
MOVXDPTR,#2FFFH
MOVX@DPTR,A
4、把DPTR的内容压入堆栈
PUSH DPH
PUSHDPL
1、设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0E7H
ORLA,#27H
ANLA,28H
XCHDA,@R0
CPLA
2、设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETBC
ADDCA,20H(A)=82H(CY)=0(AC)=1
RLCA(A)=04H(CY)=1(P)=1
MULAB(A)=08H(B)=00H(OV)=0
1、简述