单片机原理及接口技术期末复习YJLLA3资料.docx
《单片机原理及接口技术期末复习YJLLA3资料.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术期末复习YJLLA3资料.docx(27页珍藏版)》请在冰豆网上搜索。
单片机原理及接口技术期末复习YJLLA3资料
1.P0、P1、P2、P3四个均是_8位的并行___口(填"串行"还是"并行"),其中P0的功能是____地址/数据分时复口___;P2口的功能是高8位地址口;而__P3__是双功能口;___P1___是专门的用户口。
2.程序一般是由三种基本结构构成:
顺序、__循环结构____和分支结构。
3.MCS-51指令共有七种寻址方式,分别是立即数寻址、直接寻址、__寄存器寻址_、寄存器间接寻址、变址寻址、相对寻址、___位寻址____。
4.MOVDPTR,#Tab的作用是用来设定____________________________。
5.MOVDPTR,#data16的作用是用来设定___地址指针____________。
6.片内RAM可进行位寻址的空间位地址范围是_____00H-FFH_________________。
7.MCS-51的存储器空间配置从功能上可分为四种类型:
__片内程序存储器__、内部数据存储器、_外部数据存储器__、外部程序存储器。
8.MCS-51的指令按其功能可分为五大类:
__数据传送指令_______、_算术运算指令____、逻辑运算类指令、位操作指令、控制转移指令。
8.十进制数:
-54的8位补码表示为11001010。
9.12根地址线可选2^12=4K个存储单元,32KB存储单元需要15根地址线。
8.十进制数-89的16进制数表示为59H。
10.MCS-51内部的定时器/计数器共有_2___个,分别是___T0、T1_____________。
11.DJNZ<源操作数>,rel属于五大类指令中的___控制转移指令______类指令,其操作码助记符含义是___减1不为0循环转移_____。
9.MCS-51指令系统中direct表示的含义是:
___片内存储器地址____。
10.输入输出设备与主机的连接部分称为输入输出接口,接口有三大作用:
__隔离与寻址__作用、___所存与缓冲_作用和信号电平与形式的变换作用。
11.MCS-51单片机有____5___个中断源,它们的中断向量地址分别是:
__外中断0/INT0_;__外中断1/INT1_;__T0__;__T1__;__串行端口(RI、TI)_。
__2__级中断优先级别
12.子程序的调用是___绝对调用___和___长调用____;中断服务子程序的结尾一定是用指令__RET1____。
二、选择正确的答案:
13.存储器的地址范围是0000H~03FFH,它的容量为(A)。
(A)1KB(B)2KB(C)3KB(D)4KB
14.MOVXA,@R0指令是采用(D)寻址方式,指令作用在()区间。
(A)寄存器,外部数据存储器(B)直接,程序存储器
(C)寄存器间接,内部数据存储器(D)寄存器间接,外部数据存储器
15.A7H和5BH两个立即数相加后,和为(C),(CY)是()。
(A)1CH,0(B)C1H,0
(C)02H,1(D)C1H,1
16.若(A)=86H,(PSW)=80H,则执行RRCA指令后(A)=(A)
(A)C3H(B)B3H(C)0DH(D)56H
17.如果(P0)=65H,则当
CPLP0.2
SETBC
MOVP0.4,C
执行后(P0)=(C)
(A)61H(B)75H(C)71H(D)17H
18.MCS-51指令系统中执行时间最长且长达4个机器周期的是(D)指令。
(A)比较转移(B)循环转移(C)增减量(D)乘除法
19.8031单片机中,将累加器A中的数送入外RAM的40H单元,可执行的指令(D)。
(A)MOVR1,40H(B)MOVR1,#40H
MOVX@R1,AMOVXR1,A
(C)MOVX40H,A(D)MOVR1,#40H
MOVX@R1,A
19.不属于单片机与输入输出设备进行信息交换的方式是(D)。
(A)无条件传送方式(B)查询方式
(C)中断方式(D)存储器直接存取方式
20.已知累加器A的数值为98H,它与0FAH相加,相加后会影响标志位CY、AC和OV位。
各个位的值是(D)。
(A)0、0、0(B)1、0、1(C)1、1、1(D)1、1、0
21在中断服务子程序中,至少应有一条(D)
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令
22.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是(B)
(A)MOV(B)MOVX(C)MOVC(D)以上都行
23.A/D转换方法有以下四种,ADC0809是一种采用(C)进行A/D转换的8位接口芯片。
(A)计数式(B)双积分式(C)逐次逼近式(D)并行式
24.8051单片机内有(B)个16位的定时/计数器,每个定时/计数器都有()种工作方式。
(A)4,5(B)2,4(C)5,2(D)2,3
25.要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内部应是(A)
(A)98H(B)84H(C)42H(D)22H
26.(每小题1分)判断下列各题,正确的打"√",错误的打"×"
(1).MOV20H,R1(√)
(2).ADDCA,2030H(×)
(3).CLRA(√)(4).MOVX40H,#30H(×)
(5).ORG3000H(√)(6).MOVC@A+PC,A(×)
(7).MOVXA,2000H(×)(8).DJNZ#data,rel(×)
(9).INC@R5(×)(10).DECDPTR(×)
(11).MOVR1,@R2(×)(12).SWAPR1(×)
(13).SETB2000H(×)(14).JZA,LOOP(×)
(15)DAR2(×)
二、分析程序并写出结果:
(每小题5分,共20分)
1.已知(R0)=20H,(20H)=10H,(P0)=30H,(R2)=20H,执行如下程序段后
MOV@R0,#11H
MOVA,R2
ADDA,20H
MOVPSW,#80H
SUBBA,P0
MOV40H,A
结果是:
(40H)=
(20H)←11H
(A)←20H
(A)←(A)+(20)
(CY)=1
(A)-(P0)-(CY)→(A)即(A)←00H
(A)+45H→(A)即(A)←45H
(40H)←45H
2.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行过程如下:
MOVA,@R0
MOVR0,A
MOVA,@R0
ADDA,21H
ANLA,#21H
RLA
MOVR2,A
则执行结束(R0)=36H(R2)=D6H
3.执行下面一段程序;
MOVSP,#60H
MOVA,#10H
MOVB,#01H
PUSHA
PUSHB
POPA
POPB
A,B的内容是:
(A)=01H(B)=10H
4.设在31H单元存有#23H,执行下面程序:
MOVA,31H
ANLA,#0FH
MOV41H,A
MOVA,31H
ORLA,#0F0H
SWAPA
MOV42H,A
则(41H)=03H(42H)=02H
三、简答及识图题:
(共13分)
1.写出五个特殊寄存器的名称及其主要用途。
1)累加器ACC
2)B寄存器主要用于乘法和除法操作。
3)TCON定时/计数器控制寄存器
4)TM0D定时/计数器方式控制寄存
5)SCON串行通信控制寄存器
6)PSW程序状态字寄存器
7)IE中断允许寄存器
2.如图所示,请写出27128的地址范围。
4000H---7FFFH
1.(8分)为下列程序段的每一行注释;并说明整个程序段的功能。
MOVR2,#08h;
LOOP:
MOVA,@R0;
ADDA,@R1;
MOV@R0,A;
INCR0;
INCR1;
DJNZR2,LOOP;
功能说明:
1.(10分)为下列程序段的每一行注释;并说明整个程序段的功能、给出结果。
MOVR2,#03h;
MOVA,R2;
MOVDPTR,#Tab1;
MOVR0,#30H;
LOOP:
MOVA,@A+DPTR;
MOV@R0,A;
ANLA,#0FH;
INCR0;
DJNZR2,LOOP;
Tab1:
DB3FH,09H,0A4H,0FEH,66H,58H,22H,30H,54H,0AH
DB11H,28H,0FCH,26H,88H,99H
功能说明:
程序段运行结果:
3.(5分)如图所示,请写出IC1、IC2、IC3、IC4的地址范围。
IC1:
_0000H---1FFFH_____IC2:
_2000H---3FFFH________
IC3:
__4000H---5FFFH_____IC4:
__6000H---7FFFH________
4.(3分)如图所示,请写出ROM
(1)、ROM
(2)的地址范围(其中P2.4、P2.5为低电平)。
ROM
(1):
_B000H---BFFFH____ROM
(2):
__7000H-7FFFH___
四、编程题:
(共12分)
1.(6分)编一程序段,将字节地址30H~3FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为00H,则不要减1,仍将0放回原处。
MOVR7,#10H
MOVR1,#30H
LOOP:
CJNE@R1,#00H,NEXT
MOV@R1,#00H
SJMPNEXT1
NEXT:
DEC@R1
NEXT1:
INCR1
DJNZR7,LOOP
SJMP$
END
2.(6分)按以下要求编写单片机定时器的初始化程序段,晶振频率6MHZ。
(1)T0作为定时,定时时间为10ms.
(2)T1作为计数,记满1000溢出。
解:
(1)①T0的工作方式0时:
tmax=213×=213×2us=16.384ms
定时10ms可达要求,则X=213-=213-=3192=C78H=6318H
②T0工作在方式1时:
tmax=216×=216×2us=131.072ms
定时10ms也可达要求,则X=216-=EC78H
③T0工作在方式2或3时:
tmax=28×=28×2us=512us
定时500us,循环20次,X=28-=06H
(2)方式0:
213-100=8092=1F9CH=FC1CH
X=M-计数值方式1:
216-100=FF9CH
方式2或3:
28-100=9CH
①DELAY:
MOVTMOD#00H(#01H/#10H/#11H)
(MOVR3,#14H)
MOVTH0,#63H
MOVTL0,#18H
SETBTR0
LP1:
JBCTF0,CLOSE
SJMPLP1
CLOSE:
SJMP$
RET
单片机应用复习题汇总
一、填空和问答
1、计算机的基本结构是由(CPU)、(存储器)、(I/O接口)组成,相互之间通过(总线)来连接。
2、16位微型计算机,其核心部件微处理器字长是(16位)。
如inter8086.80286.Z8000。
32位微型计算机,其核心部件微处理器字长是(32位)。
如80386.486.586。
3.8051是(8)位机,其数据总线为(8)位,地址总线为(16)位,故最大寻址空间为(64K)。
4.存储器的一个字节有(8个)二进制位,某存储片有1024个存储单元,其地址线为(10)条,共有(8192)个二进制位。
5.A/D转换是将(模拟量)转换成(数字量);D/A转换是将(数字量)转换成(模拟量)
6.二进制的编码:
①.BCD码是指:
(用二进制表示的十进制数)。
②.ASCII码是:
(美国信息交换标准码),它包括(26个)个大写字母、(26个)小写字母、(10个)数字,及一些(标点)符号和(控制)符号。
如CR是(回车),总共128个字符。
③.248的BCD码是(001001001000 )。
④.F的ASCII码是:
(46H)。
CR的ASCII码是:
(0DH)。
7.写出8051五个中断源的入口地址(0003H)、(000BH)、(0013H)、(001BH)、(0023H)
8.所谓内部总线结构是指(AB)、(DB)、(CB)其中(AB)是单向总线。
9.PSW标志寄存器中OV位的状态决定于:
(CP⊕CS)
10.MCS-51标志寄存器PSW:
CyACF0RS1RS0OV0P
其各位的含义分别为:
(Cy:
进位、AC:
半进位、F0:
自定义、RS1RS0:
寄存器组选择、OV:
溢出标志、P:
奇偶标志).
11.按结构的使用和功能类:
存储器分为(只读).和(读写).
只读存储器ROM又可分为以下4类:
(掩模).(PROM).(EPROM).(EEPROM).
12.2764是(8K*8位EPROM).27256是(32K*8为EPROM).
2816是(2K*8位EEPROM).2864是(8K*8位EEPROM).
如:
2716是2K*8位的EPROM.
13.CPU与外设之间交换的信息有(数据).(状态信号).(控制信号)三种类型.其中(状态信号)和(控制信号)有时可以共一个端口地址.
14.CPU按每条指令操作过程可分为(取操作码)和(取操作数).每一条指令的第一个机器周期必定为(取操作码).
15.
16.如果子程序执行过程中,又调别的子程序,这种结构称为(子程序嵌套).
17.进入子程序以后SP会(自动加2).
18.子程序中RET指令的实际含义是将堆栈指针当前的值(将堆栈的当前内容弹回PCL和PCH,SP自动减2).
19.解释保护断点.保护现场.
20.谈谈8031.8051.8751.8052之间的区别.
21.8031内部位地址共有多少个,它们处在内部RAM的什么位置.(从内部RAM的20H-2FH,一共128个位,位地址00-7FH)
22.8051有几个外设接口,它们分别是( P0).(P1).(P2 ).(P3 ).
当作为8031外接ROM或RAM时,那几个口做什用.(只有P1口可以做正常的接口用;P2口做地址的高8位;P0口做地址的低8位和数据线;P3口做控制、状态信号、中断、串口)
23.8051内部总共有RAM多少个,其中那些可供用户使用,那些是用户不能用的.(共256个,0~127可用,128~255离散的安排了21个特殊功能寄存器。
)
24.8031内部有( 2 )个定时器.它即可( 定时 )又可作( 计数 )用.
当(计数溢出)便会产生中断,将(TF0)和(TF1)置位.
25、计算机中的数是用
(2)进制数表示的;大部分微机的字长是(4)的整数倍,所以,又广泛采用(16)进制表示;微机中字母和字符普片采用(ASCII)码。
26、用汇编语言编写的源程序只有经过(汇编程序)翻译成(机器码)才能执行。
这个翻译过程就称为汇编。
27、CPU与外设之间交换信息一般需要(3)个端口,它们是:
(数据口)(状态口)和(控制口)
28、CPU与外设之间的数据传送可分为(无条件传送方式),(查询方式),(中断方式),(DMA)。
为了提高CPU的效率,通常采用(中断)。
29、串行通信中两种最基本的通信方式是(同步)和(异步)。
30、RAM是(读写)存储器,又可以分为(静态)和(动态)两种。
31、ROM是(只读)存储器,也可以分为(掩模),(PROM),(EPROM),(EEPROM),
其中EPROM必须用(紫外线)擦除、EEPROM可以用(电)擦除。
32、TTL电平规定“1”为(5V),“0”为(0V),而RS-232规定“1”为(-12V),“0”为(+12V)。
33、CPU寻址外设有两种方式:
(存储器对应输入输出方式),(端口寻址的输入输出指令)。
34、LJMP是一条无条件跳转指令,它的跳转范围是(64K),而AJMP的跳转范围是(2K),
而SJMP的跳转范围是(+127~-128)。
35、比较MOV,MOVX,MOVC之间的不同。
36、若用字长为八位的寄存器存放无符号数整数,机器数的最大值和最小值是多少;
若用字长为八位的寄存器存放带符号数整数,机器数的最大值和最小值是多少;
37、请编一段程序:
将8000H单元中的内容,与8100H单元中的内容互换。
38、在异步通信中,字符帧是由().().(),()等四部分组成.
二、判别:
对打√、错打×
1、数据总线和地址总线都是双向的。
(〤)
3、8031每执行一条PUSH指令SP+1。
(√)
4、EPROM是只读存储器,其片内数据永远无法再进行改写。
(〤)
5、当CPU采用中断传送方式时,任何时候外设申请中断,CPU便立即响应。
(〤)
6、CPU与外部设备交换数据时,只需要数据口就可以了。
(〤)
7、汇编语言就是机器语言,可以直接运行。
(〤)
8、伪指令EQU汇编后不产生目标代码,也不占用内存空间。
(√)
9、每一条指令运行后,都会对标志寄存器F产生影响。
(〤)
10、CPU不同,汇编语言也不同。
(√)
11、ROM中只能存放程序,不能存放数据。
(〤)
12、RAM中只能存放数据,不能运行程序。
(〤)
13、所谓波特率就是每秒钟传送的字节数。
(〤)
2、每条指令的第一个机器周期都是取指令周期。
(√)
三、数制与指令(基础知识)
1、数制转换
1)用8位二进制写出(115)的原码、反码、补码。
(011100110111001101110011)
用8位二进制写出(-115)的原码、反码、补码。
(111100111000110010001101)
2)将下列二进制数转换成BCD码。
0011010110001110
(01010011)(000101000010)
3)求出下列各补码表示的二进制数的真值(用10进制表示):
10011011010110010111111010000000
(11100101=-101)(89)(126)(-128)
4)将下列十六进制数转换为二进制数
0EDH(11101101)
03FFH(1111111111)
0EC·12H(11101100.00010010)
0F·DH(1111.1101)
5)将下列二进制数转换为十六进制数
11011011B0·101B101·1B111011·11101B
(DBH)(0.AH)(5.8H)(3B.E8H)
6)将下列十进制数转换为十六进制数
5·2515·62549·753200
(5.4H)(F.AH)(31.CH)(C80H)
7)下列二进制数若为无符号数,它们的值是多少?
若为带符号数,它们的值是多少?
用十进制表示。
01101110B01011001B10001101B11111001B
(110/+110)(89/+89)(141/-13)(249/-121)
2、指令
1)说明下列伪操作的作用
ORG2000H(定义地址起点为2000H)
LIMITEQU200(LIMIT等值于200)
HBD2EQUHBDTW(HBD2等值于HBDTW)
JATB:
DW2200H(定义字,标号JATB处连续存放两个字节:
0022)
2)经过汇编后,以下各条语句的标号应取什么值?
ORG2800H
TABLE:
DS0EH(2800H~280EH保留)
WORD:
DB‘WORKER’,15,0A(280FH:
57H4FH52H4BH45H52H15H0AH)
FANGEQU100H(伪指令不占内存)
ONEEQU3400H(伪指令不占内存)
BEGIN:
LDA,R0(程序开始的地址:
2817H)
3)说明执行如下指令后,寄存器A、中的内容。
MOVA,#78H
SWAPA
ANLA,#0FH(A=07H)
4)写出下列指令的功能
CPLA;(A取反)
CLRA;(A清0)
MULAB;(A乘B)
MOVCA,@A+DPDR;(以DPDR为基址加A形成的地址,将该单元内容送A)
XCHA,direct;(A与direct内容交换)
RLCA;(A带进位循环左移)
CJNEA,#data,rel(A与立即数比较,不相等则转移)
5)指出下列汇编语言的错误并改正
TABLE:
DW24H(DW是定义字,而24H只是一个字节,改为TABLE:
DB24H)
MOVA,#2F00H(A只有8位,而2F00是16位)
DIVA,R0(除法只能在AB中进行DIVAB)
6)指出下列两条指令的不同之处
MOVA,00H(00H单元的内容送A;8位)
MOVC,00H(00位地址的内容送进位位C;1位)
四、程序
1、说明下列程序的功能
①CLRA
MOVR0,#30H
LOOP0:
CJNE@R0,#00H,LOOP1
INCA
LOOP1:
INCR0
CJNER0,#3FH,LOOP0
HERE:
SJMPHERE
结果A中的内容是什么?
(是30H~3EH中0的个数)
②MOVSP,#30H
PUSH50H
POP40H
该程序起什么作用?
(将50H单元的内容传送到40H单元)
③设A的内容为BCD码68H,执行下列指令