单片机习题自制版.docx
《单片机习题自制版.docx》由会员分享,可在线阅读,更多相关《单片机习题自制版.docx(24页珍藏版)》请在冰豆网上搜索。
![单片机习题自制版.docx](https://file1.bdocx.com/fileroot1/2023-6/7/1514be11-a3ad-4bbc-8679-99882a0f1ac8/1514be11-a3ad-4bbc-8679-99882a0f1ac81.gif)
单片机习题自制版
选择题
1、要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(1.5)μs
2、下列不是单片机总线是(输出总线)。
3、要想测量INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为(09H)
4、PSW=18H时,则当前工作寄存器是(3组),08是(1组)
5、控制串行口工作方式的寄存器是(SCON).
6、单片机复位时,程序计数器(PC)的值是多少?
(0000H).
7、MOVXA,@DPTR指令中源操作数的寻址方式是(寄存器间接寻址)。
8、51执行完MOVA,#08H后,PSW中被置位的位是(P).
9、下面条指令将MCS-51的工作寄存器置成3区(MOVPSW,#18H).
10、执行MOVXA,@DPTR指令时,MCS-51产生的有效控制信号是(/RD).
11、MOVC,#00H的寻址方式是(位寻址)
12、对程序存储器的读操作,只能使用(MOVC指令).
13、执行MOVXA,DPTR指令时,MCS-51产生的控制信号是(/RD).
14、下面指令错误的是(MOVXA,@R2).
15、MCS-51单片机要用传送指令访问程序存储器,它的指令操作码助记符是(MOVC).
16、下面哪条指令不属于MCS-51单片机伪指令的是(NOP)
17、可擦除可编程只读存储器2764的容量是8KB,它的地址线有(13根)
18、在中断服务程序中,至少应有一条(中断返回指令).
19、指令MOV@R0,30H对源操作数而言,其寻址方式是(直接寻址).
20、下面寄存器中是串行口控制寄存器的是(SCON).
21、MCS-51有中断源(5个)。
22、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(方式0).
23、某种存储器芯片是8KB*8/片,那么它的地址线根线是(13根)。
24、MCS-51外扩ROM,RAM和I/O口时,它的数据总线是(P0)。
25、MCS-51的中断源全部编程为同级时,优先级最高的是(INT0)。
26、MCS-51单片机要用传送指令访问程序存储器,它的指令操作码助记符是(MOVC)。
27、某存储器芯片有12根地址线,8根数据线,该芯片存储单元有(4KB).
28、单片机系统常用的芯片74LS373属(锁存器).
29、在中断服务程序中,必须要执行的指令是(中断返回指令).
30、51单片机晶振为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为(2^16-500).
填空题
1、十进制255的二进制是11111111,十六进制是FF
2、计算机某字节存储单元的内容为10101011,若解释为有符号数,则真值为-45,若解释为BCD码,则真值为(171)若用十六进制数表示,则为(AB)若解释为无符号数,则真值为(171)
3.在MCS-51单片机中,如采用6MHZ晶振,一个机器周期为2us。
当8051采用12MHz晶体振荡器,一个机器周期为1us,此时进行乘法运算需要4us,也即4个机器周期。
4.在MCS-51单片机中,内部的微处理器是8位,MCS51程序中一个字包含(16)位
5.若不使用MCS-51片内存器引脚/EA引脚必须接地.
6.当8051的RS1=1、RS0=1时,与工作寄存器R4对应的片内RAM单元的地址是(1CH)
7.MCS-51单片机有5个中断源,有2级优先级中断。
8.8051单片机内部并行端口P0作一般I/O使用时,往往需要外接上拉电阻。
P2端口可以作为外部地址总线的高8位使用
9、在内部RAM中可位寻址区中,位地址为0EH的位,该位所在字节的字节地址为(HH)
10、当单片机复位时,PSW=00H,当前的工作寄存器区是0区,R6所对应的存储单元地址为06H,SP=07H。
11、MCS-51单片机按内部程序存储器的种类划分共有:
RAM型、(ROM型)、EPROM型和Flash型。
12、MCS-51访问片外存储器时,利用ALE信号锁存来自P0端口发出的低8位地址信号
13、MOVCA,@A+DPTR的寻址方式是变址寻址
14、8051单片机从外部扩展的程序存储器输入数据时,需要使用(/PSEN)引脚信号来实现控制
15、MCS-51内部提供2个可编程的定时/计数器,每个有4种工作方式。
16、若A中的内容为69H,那么,P标志位为0;若A中的内容为36H,那么,P标志位为0。
17、.MCS-51片内20H-2FH范围内的数据存储器,既可以字节寻址又可以位寻址
18、计算机的系统总线有地址总线、数据总线和控制总线,其中P0作为数据总线
19、某存储器容量为8KB,则其地址线根数为13根,如果存储芯片容量为16KB,则需要用到的地址线根数为14根。
20、MCS-51的P0口作为输出端口时,每位能驱动8个SL型TTL负载.
21、MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入(“1”).
22、MCS-51串行接口有4种工作方式,可在通过特殊功能寄存器SCON进行设置。
23、8051单片机串行口在方式3接收到的每一帧的最后1个数据位被存放在(SCON的RB8位)
24、MCS-51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。
25、用串口扩并口时,串行接口工作方式应选为方式0。
26、51单片机的五种中断方式中,必须用指令来清除请求标志的中断是(串行口中断)
27、I2C采用两线制由SCL和SDA构成;SPI则为三线制,分别为串行时钟(SCLK),串行数据输出(SDO),串行数据输入(SDI)
28、在串行通信中,有数据传送方向单工、半双工,全双工三种方式.
29、子程序的返回和中断响应过程中的中断返回都是通过改变(PC)寄存器的内容实现的
30、MCS-51单片机外部中断0的入口地址为(0003H),定时1的中断入口地址为(001BH)
31、对累加器A进行现场保护时,使用的指令是(PUSH),恢复现场的指令为(POP)
32、MSC-51单片机中PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR作为(16)位的专用地址指针寄存器,是为访问(数据)存储器提供地址。
33、8051单片机工作寄存器区的地址范围是(00H~1FH),当RS1=0,RS0=0时,指令MOVR2,#00H将使(02H)(注:
填写地址)单元的值清0
34、当IP=03H,若INT0、T0和T1同时中断,最先响应的是(INT0)
35、设执行指令DIVAB前,(A)=0A4H,(B)=20H,则执行指令后(A)=__05H_____,(B)=____04H___。
36、根据数据的传送方向,串行通信可以分为单工、半双工和全双工3种,MCS-51单片机串口属于(全双工)串行口;若波特率为4800,PCON=0X00,则TH1=(00H),TL1=(0FAH)。
37、LED数码管的扫描方式有两种,分别是(静态)和(动态)。
38、DAC0832为8位的D/A转换器,若满量程为10V,则分辨率为:
(39.1mv);而ADC0809是A/D转换器,具有(8)个模拟输入,分辨率为(8)位。
39、MCS—51单片机外部中断请求信号有电平方式和(边沿方式),当IT0=1,当8051单片机的INT0引脚检测到(低电平)(信号),将产生中断请求。
40、MCS-51单片机ALE引脚可驱动(8)个TTL负载。
扩展片外存储器时,ALE引脚的功能是()
41、MCS-51外扩ROM,RAM和I/O口时,它的数据总线是(P0)
42、51单片机的上电复位时间一般约为10毫秒,这主要是因为(上电后,电容电压不能突变)
43、MCS-51单片机中,在IP=0x00时,优先级最高的中断是(INT0),最低的是(串行口中断)
44、51单片机的定时器T1工作在工作方式0计数模式下,定时器T0工作在工作方式1定时模式下。
则TMOD的值应为(41H)
45、假设已经设置好定时器T1的计数初始值,则要启动定时器T1,需要设置(TR1=1)
46、AT89S51单片机定时器的四种工作方式中,方式0为(13)位计数器,方式1为(16)位计数器。
47、在单片机扩展时,(P2)口和(P0)口为地址线,(P0)口又分时作为数据线。
48、程序计数器PC是一个(16)位寄存器,用于存放(下一条指令在程序储存器中的地址)
49、KeilC51uVision2软件中,工程文件的扩展名是(UV2),编译连接后生成可下载至单片机芯片的文件后缀名是(.hex)
50、MCS-51的外部中断有两种触发方式,分别是(电平)触发方式和(边沿)触发方式,在电平触发方式下,当采集到INT0、INT1的有效信号为(低)电平时,触发外部中断。
52、AT89S51单片机上电初始化后,将自动设置一些寄存器的初始值,其中堆栈指针SP的初始值为(07H),P0口复位值是(00H)
53、MSC-51系列单片机具有(4)个并行输入/输出端口,其中(P0)口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而(P1)口是一个专供用户使用的I/O口,常用于第二功能的是(P3)口。
54.AT89S51单片机共有4个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是(P0)
55.若采用12MHz的晶振,则MCS-51单片机的振荡周期为(1/12)μS,机器周期为
(1)μS。
56.AT89S51单片机字长是(8)位,有(40)根引脚。
57.89S51单片机是8位单片机,其PC计数器是(16)位。
58.单片机I/O外接键盘时,由于键盘的机械触点在键盘按下时会使电压信号发生抖动,为保证信号的正确输入,需要去除抖动,常用的键盘去抖的方法有(硬件消抖)和(软件消抖)。
59.MCS-51单片机的(P0)口内部没有上拉电阻,在作普通I/O口使用时要注意。
简答题。
1、简要叙述MCS-51单片机的四个并行端口的应用特点。
(P87)
2、简述MCS51单片机外部三总线是如何组成的?
答:
MCS一51单片机的外部三总线主要由P0、P2口及P3口的部分结构扩展而成。
(1)地址总线。
地址总线共16条:
P0口(P0.7~P0.0)作低8位地址线(A7~AO);P2口(P2.7~P2.0)作高8位地址线(A15~A8)。
(2)数据总线.数据总线有8条:
PO口(P0.7~P0.0)作8位数据线(D7~D0)。
(3)控制总线.
ALE:
地址锁存信号,实现对P0口上送出的低8位地址信号的锁存。
/RD(P3.7):
片外读选通信号,低电平有效。
/WR(P3.6):
片外写选通信号,低电平有效。
图(P153)
3、简要叙述MCS-51单片机中断的响应过程。
(P106)
4、简述51单片机的P1~P3口各有什么应用特点,以P1口为例说明准双向I/O端口的意义。
(P87)
5、51单片机用串行口扩展输出并口时,SCON值应为多少?
串行口工作在什么方式?
此时,TXD和RXD分别用作什么?
(P136)
6、在MCS-51单片机系统中,扩展的程序存储器和数据存储器都使用相同的16位地址线和8位数据线,为什么不发生冲突?
答:
这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。
对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、写控制线,所以不会发生地址冲突。
7、简述8051单片机的存储器地址空间的结构。
答:
MCS-51单片机在物理的角度上有四个存储空间:
(1)、片内程序存储器
(2)、片外程序存储器
(3)、片内数据存储器
(4)、片外数据存储器
但在逻辑上,从用户的角度上,单片机有三个存储空间:
(1)、片内外统一编址的64K的程序存储器地址空间(MOVC)
(2)、256B的片内数据存储器的地址空间(MOV)
(3)、以及64K片外数据存储器的地址空间(MOVX)
8、MCS-51单片机在应用时,外部16位的地址线是怎样形成的?
答:
16位地址线由P0口输出低8位地址A7~A0,P2口输出高8位地址A15~A8。
9.MCS-51系列单片机的内部资源有哪些?
单片机最小系统是指什么?
(P19)
任何单片机想要正常工作,都有3个必接的电路:
电源电路、时钟电路、复位电路。
接好这3种电路的单片机系统,称为单片机最小系统。
10、简述LED数码管静态显示和动态显示的原理,并比较两者的优缺点
LEO显示器工作方式有两种:
静态显示方式和动态显示方式。
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。
当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。
这种方法的优点是占用C尸U时间少,显示便于监测和控制。
缺点是硬件电路比较复杂,成本较高。
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制足哪一位数码竹有效。
选亮数码管采川动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
调整电流和时间参数,可实现亮度较高较稳定的显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
若显示器的数目不大于8位,则控制显示器公共极电位只需8位口(称为位选口),控制各位显示器所显示的字形也需一个8位口(称为段选口)。
11、简述多位的LED数码管动态显示工作原理,与静态显示相比,LED数码动态显示优缺点是什么?
(同上)
12、简述多位的LED数码管动态显示工作原理,并阐述提高LED动态显示亮度的方法。
原理同上,方法:
减慢扫描速度,减短扫描周期,加长扫描后的延时时间。
13、简述MCS-51单片机程序状态字的功能和定义。
(P26)
14、访问外部数据存储器和程序存储器分别用哪些指令来实现?
访问外部数据存储器:
MOVXA,@DPTR
MOVX@DPTR,A
MOVXA,@Ri
MOVX@Ri,A
访问程序存储器:
MOVCA,@A+DPTR
MOVCA,@A+PC
15、什么是按键抖动?
按键消抖的方法有哪些?
如何利用软件消抖?
(94)
16、写出8051的所有中断源及对应的中断向量号,并说明中断优先级所遵循的两条基本原则是什么?
同时,说明外部中断请求的撤出方式。
(P106)
17、51系列单片机具有几个中断源,分别是如何定义的?
其中哪些中断源可以被定义为高优先级中断,如何定义?
(P106)
18、阐述MCS-51单片机内部定时器T0的4中工作方式的异同,及对应工作方式的设置方法。
方式0:
13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期。
此方式已经不再用了,是为了和以前的单片机兼容,学初者不用掌握。
方式1:
16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期。
此方式可实现最大的定时时间和最大计数次数。
是最常用方式之一。
方式2:
8位自动重装计数方式,最大计数值为2^8=256,定时256个机器周期。
此方式工作时定时或计数到了不用重装初值,精度较高。
另外在串口通讯时常用此方式。
是最常用方式之一。
方式3:
特殊工作方式。
将定时器0分成两个8位功能不全的定时计数器,要占用T1部分功能。
也不常用。
设置方法:
(P136)
19、简述8051单片机串行口在方式2下波特率的计算过程。
(P142)
20、简述8051单片机各中断标志是如何产生的,入口地址分别是多少?
这些标志位的产生和清除方式如下:
IEO(TCON.1)外部中断0请求标志.当INTO出现有效的中断请求信号时,硬件使IE0置位,在边沿触发方式时,当CPU响应IEO中断后,由硬件清除IEO.
IEI(TCON.3)外部中断1请求标志.置位复位方式与IEO相同。
TFO(TCON.5)T0溢出中断请求标志。
每当T0计数器加1计数到溢时.TF0=l。
硬件清除TF0。
也可以由查询软件清除TF0.
TFI(TCON.7)Tl溢出中断诸求标志.置位复位方式与TF0相同.
RI(SCON.0)串行口接收中断请求标志。
当串行口接收器收到一个串行帧.R1=1。
CPU响应R1中断,硬件并不清除R1,R1必须由软件清0。
Tl(SCON.1)串行口发送中断请求标志.将8位数据写入SBUF后,发送完一个串行帧,Tl=1.CPU响应T1中断,硬件并不清除T1,Tl必须由软件清0.
各中断源对应的地址如下:
(P106)
21、简述8051单片机定时/计数器工作方式1的特点。
(114)
22、MCS-51指令系统主要有哪几种寻址方式?
试举例说明。
(P31)
编程题
1、将存放在内部RAM30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM2100H开始的单元区中。
要求:
限用ASM51编程语言,并绘制程序流程图。
2、编写子程序:
计算片内40H~45H单元中6字节无符号整数的平均值,结果(整数部分)放到A中。
3、片内RAM60H开始存放20个数据,请统计正数、负数、及零的个数。
并将结果分
别放在50H、51H、52H单元中,要求:
限用ASM51编程语言,并绘制程序流程图。
MOV50H,#0
MOV51H,#0
MOV52H,#0
MOVR7,#20
MOVR0,#60H
L3:
MOVA,@R0
JZL1
JBACC.7,L2
INC50H
SJMPLEND
L2:
INC51H
SJMPLEND
L1:
INC52H
LEND:
INCR0
DJNZR7,L3
RET
4、将71H单元的两个压缩BCD码拆开变成ASCII码,存入72H、73H单元。
要求:
限用ASM51编程语言,并绘制程序流程图。
5、设单片机的晶体振荡频率为12MHz,利用定时器T0编程由P1.0和P1.1输出周期为10mS、互补(互为反相)的方波。
要求:
T0工作在方式1下,采用中断方式工作,编程实现(ASM51或C51),并绘制程序流程图。
6、若51单片机晶振频率为12MHz,使用定时器0产生周期为1s的等宽正方波脉冲,并由P1.2输出,要求定时器0工作在中断方式,编程实现(ASM51或C51),并绘制程序流程图。
7、分别用一条指令实现下列功能。
①将寄存器PSW清0:
(MOVPSW,#00H)
②R7中的值减1后判断值是否为0,若不是则跳转到标号为LOOP的指令:
(DJNZR7,LOOP)
③使进位位C=1(要求:
指令编码字节数最小)(SETBC)
④使进位位C=0(要求:
指令编码字节数最小)(LLRC)
⑤相对短跳转到标号为NEXT的指令处(SJMPNEXT)
⑥累加器A中的值乘4:
(MOVB)
⑦把ACC.4的值传送到进位位C:
(MOVC,ACC.4)
⑧相对短跳转到当前行程序(当前行程序死循环指令)(SJMP$)
程序分析题
1、设执行指令MULAB前,(A)=50H,(B)=0A0H,则执行指令后(A)=(00H)(B)=(32H)。
2、设执行指令PUSHD0H前,(SP)=19H,(D0H)=08H,则执行指令后(SP)=(1AH),(1AH)=(08H),(D0H)=(08H)。
3、设执行指令SUBBA,R2前,(A)=0CAH,(R2)=55H,(C)=1,则执行指令后(A)=(74H)R2=55HC=0
4、设(SP)=32,内部RAM(30H)=20H,(31H)=23H,(32H)=01H。
则执行指令:
POPDPH
POPDPL
POPSP
后,(DPTR)=(0123H),(SP)=(20H)。
5、写出执行下列程序段后相关存储单元或寄存器的值。
ORG0200H
MOVR1,#37H
MOVA,R1
MOV37H,#55H
CJNE@R1,#37H,DONE
MOVA,37H
SJMPEXIT
DONE:
MOV37H,#0AAH
EXIT:
SJMP
执行完毕(A)=(37H),(37H)=(0AAH)
6、已知:
(A)=73H,(R1)=30H,片内RAM(30H)=34H,片外RAM(30H)=A0H,
(C)=1。
请写出单片机执行下列指令后的结果。
以下语句不是程序段,互不相关。
(a)CPLA(A)=(8CH)(b)MOVXA,@R1(A)=(0A0H)
(c)ADDCA,@R1(A)=(0A7H)(d)RLCA(A)=(0E7H)
7、如果(DPTR)=903AH,(SP)=72H,(B)=51H,(70H)=5CH,(71H)=9FH,(72H)=6DH,则执行下列指令后:
POPDPH;
POPDPL;
PUSHB;
POPSP;
则:
(DPH)=(6DH);(DPL)=(9FH);(SP)=(51H)
8、分析下面的程序,回答程序完成的后执行的时间,写出计算过程,晶振频率为12MHz。
DELAY:
MOVR0,#10;
DL2:
MOVR1,#24;
DL1:
NOP;
NOP;
DJNZR1,DL1;
DJNZR0,DL2;
RET
答:
1+(2*24+48+1+2)*10+2=993
综合题
1、如图所示,8只LED阴极接至单片机P0口,两开关S0、S1分别接至单片机引脚P3.2和P3.3。
编写程序控制LED状态。
按下S0后,点亮8只LED;按下S1后,变为闪烁状态。
#include
sbitP32=P3^2;
voiddelay(unsignedintd)
{
while(--d>0);
}
voidmain()
{
P0=0xFF;