单片机复习题及答案.docx
《单片机复习题及答案.docx》由会员分享,可在线阅读,更多相关《单片机复习题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
单片机复习题及答案
单片机复习
一、选择
(1)有如下程序段:
MOV R0,#30H
SETB C
CLR A
ADDC A,#00H
MOV ﹫R0,A执行结果是(B)。
A. (30H)=00H B.(30H)=01H
C.(00H)=00H D.(00H)=01H
(2)在CPU内部,反映程序运行状态或运算结果特征的寄存器是(B)。
A. PC B.PSW C.A D.SP
(3)各中断源发出的中断请求信号,都会标记在(D)寄存器。
A. TMOD/SCON B.TCON/PCON C.IE/TCOND.TCON/SCON
(4)帧格式为1个起始位,8个数据位,1个停止位的异步串行通信方式是(B)。
A. 方式0 B.方式1 C.方式2 D.方式3
(5)外部中断1的中断入口地址为()。
A.0003H B.000BH C.0013H D.001BH
(6)下列指令中正确的是(B)。
A.MOVP2.1,A B.JBCTF0,L1 C.MOVXB,@DPTRD.MOVA,@R3
(7)在MCS-51中,需双向传递信号的是(C)。
A. 电源线 B.地址线 C.数据线 D.控制信号线
(8)在定时器操作中,选择其工作方式的寄存器是(A)。
A. TMOD B.TCON C.IE D.SCON
(9)当标志寄存器PSW的RS0和RS1分别为1和0时,系统选用的工作寄存器组为(B)。
A. 组0 B.组1 C.组2 D.组3
(10)8051单片机中,唯一一个用户可使用的16位寄存器是(B)。
A. PSW B.DPTR C.ACC D.PC
(11)下列指令中错误的是(D).
A.MOVA,R4 B.MOV20H,R4 C.MOVR4,20H D.MOV@R4,R3
(12)LJMP跳转空间最大可达到(D)。
A.2KB B.256B C.128B D.64KB
(13)8051单片机共有(B)中断源。
A.4 B.5 C.6 D.7
(14)8051单片机共有(A)个中断优先级。
A.2 B.3 C.4 D.5
(15)外部中断源IE1(外部中断1)的向量地址为(C)。
A.0003H B.000BH C.0013H D.002BH
(16)累加器A的位地址为(A)。
A.E7H B.F7H C.D7H D.87H
(17)8051的内部RAM中,可以进行位寻址的地址空间为(B)。
A.00H∽2FH B.20H∽2FH C.00H∽FFH D.20H∽FFH
(18)设累加器A的内容为0C9H,寄存器R2的内容为54H,CY=1,执行指令SUBB A,R2后结果为(A).
A.(A)=74H B.(R2)=74H
C.(A)=75HD.(R2)=75H
(19)设(A)=0C3H,(R0)=0AAH,执行指令ANLA,R0后,结果(A).
A.(A)=82H B.(A)=6CH
C.(R0)=82 D.(R0)=6CH
(20)提高单片机的晶振频率,则机器周期(C)中。
A.不变 B.变长 C.变短 D.不定
(21)执行如下三条指令后,30H单元的内容是(C)。
MOV R1,#30H
MOV 40H,#0EH
MOV @R1,40H
A.40H B.30H C.0EH D.FFH
(22)中断是一种(A)。
A.资源共享技术 B.数据转换技术 C.数据共享技术 D.并行处理技术
(23)执行MOV IE,#81H指令的意义是:
(B)。
A.屏蔽中断源 B.开放外部中断源0
C.开放外部中断源1 D.开放外部中断源0和1
(24)二进制数110010010对应的十六进制数可表示为(A).
A.192H B.C90H C.1A2H D.CA0H
(25)二进制数110110110对应的十六进制数可表示为(B).
A.1D3H B.1B6H C.DB0H D.666H
(26)-3的补码是(D)。
A.10000011 B.11111100 C.11111110 D.11111101
(27)CPU主要的组成部分为(A)。
A.运算器.控制器 B.加法器.寄存器
C.运算器.寄存器 D.存放上一条的指令地址
(28)计算机的主要组成部件为(A)。
A. CPU,内存,I/O口 B.CPU,键盘,显示器
C.主机,外部设备 D.以上都是
(29)INTEL8051CPU是位(C)的单片机。
A. 16 B.4 C.8 D.准16
(30)对于INTEL8031来说,EA脚总是(A)。
A. 接地 B.接电源 C.悬空D.不用
(30)数据指针DPDR访问的是(D)。
A. CPU控制器 B.CPU运算器 C.外部程序存储器D.外部数据存储器
(32)指令和程序是以(C)形式存放在程序存储器中.
A.源程序 B.汇编程序 C.二进制编码 D.BCD码
(33)单片机应用程序一般存放在(B)
.
A.RAM B.ROM C.寄存器 D.CPU
(34)单片机上电后或复位后,工作寄存器R0是在(A)。
A.0区00H单元 B.0区01H单元 C.0区09H单元 D.SFR
(35)进位标志CY在(C)中。
A. 累加器 B. 算术逻辑运算部件ALU C.程序状态字寄存器PSW D.DPOR
(36)8031复位后,PC与SP的值为(B)。
A. 0000H,00H B.0000H,07H
C.0003H,07H寄存器D.0800H,00H
(37)一个EPROM的地址有A0----A11引脚,它的容量为(B)。
A. 2KB B.4KB C.11KBD.12KB
(38)在单片机中,通常将一些中间计算结果放在(A)中。
A.累加器 B.控制器 C.程序存储器 D.数据存储器
(39)假定(A)=0C5H,执行指令:
SWAPA 后,累加器A的内容为(C)。
A.0CH B.C0H C.5CH D.C5H
(40)80C51与87C51的区别在于(C)。
A.内部程序存储器的类型不同 B.内部数据存储器的类型不同
C.内部程序存储器的容量不同 D.内部数据存储器的容量不同
(41)8031单片机中片内RAM共有(A)字节。
A. 128 B.256 C.4KD.64K
(42)INTEL8031的P0口,当使用外部存储器时它是一个(D)。
A. 传输高8位地址口 B.传输低8位地址口
C.传输低8位数据口D.传输低8位地址/数据总线口
(43)启动T1运行的指令是(D)
A.SETBET0B.SETBET1
C.SETBTR0D.SETBTR1
(44)CPU允许串行口中断的指令为(B)
A.SETBEX0B.SETBESC.SETBET0D.SETBET1
(45)8051系统中,同一优先级的几个中断源中优先权最高(A)。
A.INT0B.T0C.INT1D.T1
(46)在程序状态字PSW中,位是奇偶校验位(D)。
A.CB.ACC.OVD.P
(47)某异步通讯接口的波特率为4800,则该接口每秒钟传送(A)。
A.4800位B.4800字节C.9600位D.9600字节
(48) MCS—51单片机复位后,从下列那个单元开始取指令(C)。
A.0003HB.000BHC.0000H
(49)对片外数据RAM单元读写数据须用(B)。
A.MOV指令B.MOVX指令C.MOVC指令
(50)当晶振频率是12MHz时,MCS—51单片机的机器周期是(A)。
A.1μsB.1msC.2μsD.2ms
二、填空:
1、MCS-51内部程序存储器(ROM)容量4KB,地址从0000H开始,用于存放程序和表格常数。
2、MCS-51输入/输出口线8条,它们都是I/O端口。
3、MCS-51,有5个中断源,分为2个优先级。
4、寻址方式就是如何找到存放操作数的地址,把操作数提出来的方法。
5、复位方式有上电自动复位和按键手动复位。
6、与定时/计数器控制有关的寄存器TCON,TMOD,IE。
7、MCS-51单片机的CPU包括了运算器和控制器两部分电路。
8、MCS-51单片机有2个16位定时器/计数器。
9、MCS-51外部数据存储器寻址空间64KB。
10、MCS-51常用的寻址方式有立即寻址、直接寻址、寄存器、寄存器间接寻址、变址寻址。
11、MCS-51单片机的PSEN引脚是外部程序存储器读选通信号。
12、MCS-51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3,它们都是双向端口,每个端口有8条I/0线。
13、寻址就是寻找指令中操作数或操作数所在地址。
14、MCS-51外部数据寻址空间64KB。
15、以助记符形式表示的计算机指令就是它的汇编语言。
16、在变址寻址方式中,以累加器作变址寄存器,以PC或DPTR作基础寄存器。
三、简答题:
1、MCS-51单片机的EA信号有何功能?
在使用8031时EA信号引脚应如何处理?
答:
(1)
是访问外部程序存储器ROM的控制信号。
当
为低电平(接地)时,CPU只执行外部程序存储器中的程序。
当
为高电平且PC值小于0FFFH(4K)时,CPU执行内部程序存储器的程序,但当PC的值超出4K时(对8051/8751/8951)将自动转去执行片外程序存储器内的程序。
8031单片机无片内ROM,必须外接程序存储器,因此,8031的
必须接地(低电平)。
2、什么叫振荡周期?
答:
晶体振荡器直接产生的振荡信号的周期。
3、什么叫外部中断?
有几个外部中断源?
请求信号由什么引脚引入?
答:
当CPU执行主程序时,外设向CPU强行发出的一个中断请求,CPU接到信号,中断主程序的执行并保存断点地址,然后转去响应中断。
有2个外部中断源;请求信号有INT0和INT1引脚引入。
4、请说明MCS-51单片机内RAM低128字节和高128字节的用途?
答:
单片机内部低128位字节是内部数据存储器,此存储器分为3部分:
工作寄存区、位寻址区、数据缓冲区。
80H—FFH是高128字节做为特殊功能寄存器使用。
5、什么叫通信?
有几种通信方式?
其方式特点是什么?
答:
设备之间进行的数据交换,如CPU与外设之进行的数据交换,计算机之间结构进行的数据交换等,称为数据通信。
有两种通信方式:
(1)并行通讯是多位数据同时通过多根数据传送,其优点是传送速度快;缺点是数据有多少位,就需用多少根传送线。
适用于近距离。
(2)串行通讯是数据通过一根数据线,一位一位的传送。
其优点是只需一对传输线;缺点是传输速度慢,串行通信适用于远距离通信。
6、什么叫中断?
中断的作用是什么?
答:
当CPU正在处理某事件时,外界发生了更为紧急的请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完毕,CPU再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。
中断作用:
(1)分时操作
(2)实时处理(3)故障处理
7、中断优先级的顺序?
5个中断源的入口地址?
答:
顺序:
外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断。
5个中断源的入口地址:
中断源
中断矢量地址
中断源
中断矢量地址
外部中断0(INT0)
0003H
定时器T1中断
001BH
定时器T0中断
000BH
串行口中断
0023H
外部中断1(INT1)
0013H
四、分析结果
1、已知(A)=06H,(R3)=08H
执行ADDA,R3
DAA结果(A)=14H
2、已知(A)=0C3H,(R0)=55H
执行ORLA,R0
结果(A)=D7H;(R0)=55H。
3、说明下列指令中源操作数采用的寻址方式
MOVA,R7;寄存器寻址
MOVA,55H;直接寻址
MOVA,#55H;立即寻址
MOVA,@R0;寄存器间接寻址
JMP@A+DPTR基址变址寻址
4、设(R0)=32H,(A)=48H,(32H)=80H,(40H)=08H,请指出在执行下列程序段后,上述各单元内容的变化。
MOVA,@R0;(A)=80H
MOV@R0,40H;(32H)=08H
MOV40H,A;(40H)=80H
MOVR0,#35H;(R0)=35H
5、阅读下列程序段,说明程序段实现功能,并把每条指令加注释;已知(40H)=98H,(41H)=0AFH
MOVR0,#40H;40H→R0
MOVA,@R0;98H→A
INCR0;41H→R0
ADDA,@R0;98+(A)=47H→A
INCR0
MOV@R0,A;结果存入42H单元
CLRA;清A
ADDCA,#0;进位存入A
INCR0
MOV@R0,A;进位存入43H
功能:
将40H,41H单元中的内容相加结果放在42H单元,进位放在43H单元,(R0)=43H,(A)=1,(40H)=98H,(41H)=AFH,(42H)=47H,(43H)=01H。
6、已知(A)=83H,(R0)=17H,(17H)=34H,请写出执行完下列程序段后A的内容,并把分析过程写出。
ANLA,#17H;(A)←03H
ORL17H,A;(17H)←37H
XRLA,@R0;(A)←34H
CPLA;(A)←0CBH
五、编程与计算题
1、用定时器T1,工作方式0,在P1.0产生周期为500us的连续方波,时钟振荡频率为6MHZ,用查询方式编写程序。
答:
(1)计算机器周期:
Tm=12/focs=12/6*106=2us
(2)to=(213—X)*Tm
500/2*10-6=(213—X)*2*106
250=(213—X)*2
X=213—125=8067
TH1=0FCH
TL1=03H
MOVTMOD,#00H
MOVTL1,#03H
MOVTH1,#0FCH
SETBTR1
LOOP:
JBCTF1,NEXT
SJMPLOOP
NEXT:
MOVTL1,#03H
MOVTH1,#0FCH
CPLP1.0
SJMPLOOP
2、设T0工作在方式0,定时时间为1ms,在P1.0输出,周期为2ms的方波,时钟晶振为6MHZ,请用查询方式编程。
答:
t=(213—TO初值)*机器周期
1*10-3=(213—X)*12/6*106
1*10-3=(213—X)*2*106
(213—X)=0.5*103
X=213—500=8192—500=7692
TL0=0CH
TH0=0F0H
TMOD=00H
MOVTMOD,#00H
MOVTL0,#0CH
MOVTH0,#0F0H
SETBTR0
LOOP:
JBCTF0,NEXT
SJMPLOOP
NEXT:
MOVTL0,#0CH
MOVTHP,#0F0H
CPLP1.0
SJMPLOOP
3、用定时器0以工作方式2,产生100us定时,在P1.0输出周期为200us连续方波。
时钟晶振为6MHZ,请用查询方式编程。
答:
(1)计算机器周期:
Tm=12/focs=12/6*106=2us
(2)to=(28—X)*Tm
200/2*10-6=(28—X)*2*10-6
100=(28—X)*2
X=256—50=206
TH0=0CEH
TL0=0CEH
MOVTMOD,#02H
MOVTL0,#0CEH
MOVTH0,#0CEH
SETBTR0
LOOP:
JBCTF0,NEXT
SJMPLOOP
NEXT:
MOVTL0,#0CEH
MOVTH0,#0CEH
CPLP1.0
SJMPLOOP
4、已知(30H)=40H,(40H)=10H,(10H)=00H,(P1)=CAH,请写出执行以下程序段后,各有关单元的内容。
MOVR0,#30H;(R0)=30H
MOVA,@R0;(A)=40H
MOVR1,A;(R1)=40H
MOVB,@R0;(B)=40H
MOV@R1,P1;(40)=0CAH
MOVP2,P1;(P2)=0CAH
MOV10H,#20H;(10H)=20H
MOV30H,10H;(30H)=20H
5、假设三个8位无符号数相加,其中一加数在内部RAM的50H,51H,52H,另一个数在内部RAM的53H,54H,55H相加之后放在50H,51H,52H单元中,进位存放在53H单元中,请编写程序。
答:
MOVR0,#52H
MOVR1,#55H
MOVR7,#03H
CLRC
LOOP:
MOVA,@R0
ADDA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,LOOP
CLRA
ADDCA,#00H
MOV@R0,A
SJMP$
6、内存中有两个4字节无符号数相加,一个存放在30H——33H开始的单元中,一个存放在40H——43H开始的单元中,请编程求它们的和,结果放在30H——33H中。
答:
MOVR2,#04H;字节长度→R2
MOVR0,#30H;一个加数首地址→R0
MOVR1,#40H;另一个加数首地址→R1
CLRC;清进位位
L1;MOVA,@R0;取一个加数
ADDCA,@R1;两个加数带进位相加
DAA;十进制调整
MOV@R0,A;存放结果
INCR0;指向下一个字节
INCR1
DJNZR2,L1;字节长度减l,没加完,转L1,继续相加
RET;全加完,返回
7、用移位指令计算,10*X,已知X是一个8位无符号数。
请编程序。
答:
MOVR0,#DATA
MOVA,@R0
RLA
MOVR1,A
RLA
RLA
ADDA,R1
MOV@R0,A
8、外RAM2000H单元开始存放的8个数据传送到片内RAM50H的单元中。
答:
MOVR2,#08H;数据块长度→R2
MOVR1,#50H;数据块目的地址→R1
MOVDPTR,#2000H;数据块源地址→DPTR
LOOP:
MOVXA,@DPTR;传送一个数据
MOV@R1,A
INCDPTR;指向下一个数据
INCR1
DJNZR2,LOOP;长度减1,没传送完,转LOOP,继续传送
RET;传送完,返回
9、将1000H单元内容拆开,高位送1001H单元,低位送1002H单元
答:
ORG0660H
MOVDPTR,#1000H
MOVXA,@DPTR
MOVB,A;(1000)→A→B
SWAPA;交换
ANLA,#0FH;屏蔽高位
INCDPTR
MOVX@DPTR,A;送1001H
INCDPTR
MOVA,B
ANLA,#0FH;(1000)内容屏蔽高位
MOVX@DPTR,A;送1002H
LOOP:
SJMPLOOP
10、R0低位有一个十六进制数,把它转换成ASCⅡ码送入R0。
答:
ORG0100H
MOVA,R0;取转换值
ANLA,#0FH;屏蔽高4位
ADDA,#03H;计算偏移量
MOVCA,@A+PC;查表
MOVR0,A;存结果
SIMP$
ASCTAB:
DB‘0’,‘1’,‘2’,‘3’
DB‘4’,‘5’,‘6’,‘7’
DB‘8’,‘9’,‘A’,‘B’
DB‘C’,‘D’,‘E’