单片机考试复习大纲之高分秘诀
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.填空
2.若用传送指令访问MCS-51的片内数据存储器,它的指令是MOV.
3.指令是通知计算机完成某种操作的命令
4.汇编语言中可以使用伪指令,它不是真正的指令,只是用来对汇编过程进行某种控制.
5.MCS-51串行接口有四种工作方式,可以在初始化程序中用软件填写SCON特殊功能寄
存器加以设定。
6.MCS-51有5个中断源,有两个中断优先级,优先级由软件填写特殊功能寄存器IP加以
设定。
7.累加器A=80H,执行完指令ADD A,#83后,进位位C=1_.
8.执行完指令ANL A,#0FH后,累加器的高四位=0000.
9.累加器A=7EH,(20H)=#04H,执行完ADD A,20H后PSW.0=_0.
10.ORL A,#0F0H是将A的高四位置1,而低四位不变.
11.设DPTR= 2000H, (A)= 80H,则MOVC A,@A + DPTR的操作数的实际地址为2080H_
12.一个十进制数一47用8位二进制补码表示为11010001B_
13.单片机中最常用的字符信息编码是ASCⅡ码
14.要串口为10位UART,工作方式应选为方式1
15.用串口扩并口时,串行接口的工作方式应选为方式方式0
16.在串行通信中.有数据传送方向单工,_半双工,全双工三种方式。
17.一个机器周期=12节拍、一个机器周期=l2个振荡周期,一个振荡周期=1节拍。
18.8051在物理上有4个独立的存储器空间。
19.外部中断INT1的入口地址为0013H
20.8051含4 KB掩膜ROM, 8751是EPROM型,内含4 KB EPROM, 8031是无型号
21.MCS一51中,TO中断服务程序入口地址为000BH.
22.执行当前指令后PC内容为下一条将要读取的指令码首地址
23.MOV C,20H源寻址方式为位寻址
24.INC不影响CY位。
25.指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H_入栈,37B0H PC
26.MOVX A, @DPTR的源操作数寻址方式为寄存器间接寻址
27.8051的中断有_2_个优先级。
28.8051中断嵌套最多2级。
29.外中断请求标志位是IE0和IE1。
30.MCS - 51单片机片内RAM的寄存器区共有个32单元,分为_4_组寄存器,每组_8_个
单元,以_R7~R0_作为寄存器名称。
31.单片机系统复位后,PSW =00H,因此片内RAM寄存区的当前寄存器是第_0_组,8个寄
存器的单元地址为_00H_----_07H_.
32.在MCS - 51中PC和DPTR都用于提供地址,但PC是为访问程序_存储器提供地址,
而DPTR是为访问_数据存储器提供地址。
33.在位操作中,能起到与字节操作中累加器作用的是CY
34.累加器A中存放着一个其值小于或等于127的8位无符号数,CY清“0”后执行
RLC A指令,则A中数变为原来的2 倍。
35.计算机的数据传送有两种方式,即并行方式和串行方式,其中具有成本低特点的是串行
数据传送。
36.异步串行数据通信的帧格式由__起始_位、数据_位、_奇偶校验位_和停止位位组成。
37.异步串行数据通信有单工、全双工、和半双工共三种传送方向形式。
38.使用定时器T1设置串行通信的波特率时,应把定时器TI设定为自动重装载工作模式。
39.假定(A)=56,(R5)=67。
执行指令:
ADD A,R5
DA A
后,累加器A的内容为00100011B , CY的内容为1
44. 假定(A)=0FH,(R7)=19H,(30H)=00H.(R1)=40H,(40H)=0FFH。
执行
指令:
DEC A
DEC R7
DEC 30H
EEC @ R1
后,累加器A的内容为0EH_,R7的内容为18H_30H的内容为0FFH,40H的内容为0FEH 45.假定(A)=50H,(B)=0A0H。
执行指令:
MUL AB
后,寄存器B的内容为32H,累加器A 00H的内容为,CY的内容为0 ,OV的内容为_1 46.假定(A)=0FBH,(B)=12H。
执行指令:
DIV AB
后.累加器A的内容为0DH ,寄存器B的内容为11H ,CY的内容为0 ,OV的内容为0 47.假定(A)=0C5H。
执行指令:
SW AP A
后.累加器A的内容为5CH
48. DI'TR是MCS-51中惟-一个16位寄存器,在程序中常用来作为MOVC指令访问程序存储器的_基址寄存器_使用。
49.堆栈设在片内数据_存储区、程序存放在_程序_存储区,外部I/O接口设在片外数据存储区,中断服务程序存放在程序存储区。
50. 若单片机使用频率为6 MHz的晶振,那么状态周期为1/3μs、机器周期2μs、指令周期为2μs~8μs。
51.复位时A=0,PSW=0,SP=07H,P0~P3=FFH
单项选择题
1.在中断服务程序中,至少应有一条(D)
(A)传送指令,(B)转移指令,(C)加法指令, (D)中断返回指令
2.当MCS一51复位时,下面说法正确的是(A)。
(A)PC=0000 H,(B)SP=00H,(C)SBUF=00H(D)(30H)=00H
3.要用传送指令访问MCS一51片外RAM,它的指令操作码助记符应是(B)(A)MOV,(B)MOVX , (C)MOVC (D)以上都行
4.下面哪一种传送方式适用于电路简单且时序已知的外设(B)。
(A)条件传送(B)无条件传送(C)DMA (D)中断
5.MCS一51在响应中断时,下列哪种操作不会发生(D)。
(A)保护现场, (B)保护PC
(C)找到中断入口,(D)保护PC转入中断入口
6.用MCS-51串行接口扩展并行I/O口时,串行接口工作方式应选择(A)。
(A)方式0 ,(B)方式1,(C)方式2,(D)方式3
7. JNZ e指令的寻址方式是(C)。
(A)立即寻址,(B)寄存器寻址,(C)相对寻址,(D)位寻址
8.执行LCALL 4000H指令时,MCS一51所完成的操作是(D)。
(A)保护PC,(B)4000H-PC
(C)保护现场(D) PC+3入栈,4000 H PC
9. MCS一51有中断源(A)。
(A)5个(B)2个(C)3个(D)6个
10. MCS - 51上电复位后,SP的内容应是(B)。
(A)00H (B)07H (C)60H (D)70H
11.下面哪一个部件不是CPU的指令部件(C)。
(A)PC (B)IR(C)PSW (D)ID
12.
ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H
当CPU响应外部中断0后,PC的值是(B)。
(A)0003H (B)2000H (C)0000BH (D)3000H
13. 控制串行接口工作方式的寄存器是(C)。
(A)TCON (B)PCON (C)SCON (D)TMOD
14.MCS一51响应中断时,下面哪一个条件不是必须的(D )。
(A)当前指令执行完毕(B)中断是开放的
(C)没有同级或高级中断服务(D)必须有RETI指令
15.使用定时器T1时,有几种工作模式(C)。
(A)l种(B)2种(C)3种(D)4种
15.执行PUSH ACC指令,MCS一51完成的操作是(A)。
(A)SP+1=SP ,(ACC)=(SP)(B)(ACC)=(SP)SP一1=SP
(C)SP一1=SP, (ACC)=(SP)(D)(ACC)=(SP)SP+1=SP
16.P1口的每一位能驱动(B )。
(A) 2个TTL低电平负载(B) 4个TTL低电平负载
(C) 8个TTL低电平负载(D) 10个TTL低电平负载
17. PC中存放的是(A )。
(A)下一条指令的地址, (B)当前正在执行的指令
(C) 当前正在执行指令的地址(D)下一条要执行的指令
18.8031是(C)。
(A) CPU (B) 微处理器(C) 单片微机(D) 控制器
19.所谓CPU是指(A )。
(A) 运算器与控制器(B) 运算器与存储器
(C) 输入输出设备(D)控制器与存储器
20.LCALL指令操作码地址是2000H,执行完相应子程序返回指令后PC=(D)。
(A)2000H(B)2001 H(C)2002H(D)2003H
21.MCS一51执行完MOV A,# 08H后, PSW的哪一位被置位(D)。
(A)C (B)FO (C)OV (D)P
22.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是(C)。
(A)由CPU自动完成(B)在中断响应中完成
(C)应由中断服务程序完成(D)在主程序中完成
23.要访问MCS - 51的特殊功能寄存器应使用的寻址方式是(C )。
(A)寄存器间接寻址(B)变址寻址(C)直接寻址(D)相对寻址
24.下面哪条指令将MCS一51的工作寄存器置成3区(B)。
(A)MOV PSW,#13H (B)MOV PSW,井18H
(C)SETB PSW.4 CLR PSW.3 (D)SETB PSW. 3 CLR PSW.4
25 若MCS - 51中断源都编程为同级,当它们同时申请中断时CPU首先响应(B)
(A)INTl (B)INTO (C)T1(D)T0
26.当MCS - 51进行多机通信时,串行接口的工作方式应选择( C )。
(A)方式0。
(B)方式1 (C)方式2(D)方式0或方式2
27.MCS-51的相对转移指令的最大负跳转距离为( B )
(A)2 KB(B)128 B(C)127 B(D)256 B
28.指令寄存器的功能是(B)。
(A)存放指令地址(B)存放当前正在执行的指令
(C)存放指令与操作数(D)存放指令地址及操作数
29. MOV C,#00H的寻址方式是(A )。
(A)位寻址(B)直接寻址(C) 立即寻址(D)寄存器寻址
30.
ORG OOOOH
ALMP 0040H
ORG 0040H
MOV SP,#00H
当执行完左边的程序后,PC的值是(C)
(A)0040H (B)0041 H (C)0042H (D)0043H
31.当CPU响应串行接口中断时,程序应转移到(C)。
(A)0003H(B)0013H(C)0023H(D)0033H
32. 当ALE信号有效时,表示( B )。
(A) 从ROM中读取数据(B)从P0口可靠地送出地址低8位
(C)从PO口送出数据(D)从RAM中读取数据
33.MCS一51复位时,下述说法正确的是( D )。
(A)(20H)=00H (B)SP=00H(C)SBUF=00H(D)TH0=00H
34. MCS一51的中断源全部编程为同级时,优先级最高的是( D )。
(A) INT1 (B)TI (C) 串行接口(D) INTO
35. 外部中断1固定对应的中断人口地址为(C )。
(A)0003H (B)0003H (C)0013H (D)001BH
36.MCS - 51单片机可分为两个中断优先级别。
各中断源的优先级别设定是利用寄存器( B )。
(A)IF (B)IP (C)TCON (D)SCON
37. MCS一51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是( A )。
(A)读锁存器(B) 读数据(C)读A累加器(D)读CPU
38.( C )并非单片机系统响应中断的必要条件。
(A) TCON或SOON寄存器内的有关中断标志位为1
(B) IF中断允许寄存器内的有关中断允许位置1
(C) IP中断优先级寄存器内的有关位置1
(D)当前一条指令执行完
39. 指令AJMP的跳转范围是(C)。
(A)256 B (B)1 KB (C)2 KB (D)64 KB
40.MCS一51响应中断的不必要条件是(C)。
(A) TCON或SCON寄存器内的有关中断标志位为1
(B) IE中断允许寄存器内的有关中断允许位置1
(C) IP中断优先级寄存器内的有关位置1
(D)当前一条指令执行完
41. 以下运算中对溢出标志OV没有影响或不受OV影响的运算是(A)。
(A)逻辑运算(B)有符号数加减法运算
(C) 乘法运算( D) 除法运算
42.在算术运算中,与辅助进位位AC有关的是(C)。
(A)二进制数(B)八进制数(C)十进制数(D) 十六进制数
43. PC的值是( C )。
(A)当前指令前一条指令的地址(B) 当前正在执行指令的地址
(C)下一条指令的地址(D)控制器中指令寄存器的地址
44.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP 的值为(D)。
(A)36H (B)37H (C)38H (D)39H
45. 在相对寻址方式中,“相对”两字是指相对于(C)。
(A)地址偏移量rel (B)当前指令的首地址
(C)当前指令的末地址,(D) DPTR值
46.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址
(C)转移地址(D)地址偏移量
47. 对程序存储器的读操作,只能使用( D )。
(A)MOV指令(B)PUSH指令
(C) MOVX指令(D)MOVC指令
48. 必须进行十进制调整的十进制运算(C)。
(A)有加法和减法(B)有乘法和除法
(C)只有加法(D)只有减法
49 .执行返回指令时,返回的断点是(C)。
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令下一条指令的首地址(D)返回指令的末地址
50. 可以为访问程序存储器提供或构成地址的有( C )。
(A)只有程序计数器PC (B)只有PC和累加器A
(C)只有PC,A和数据指针DPTR (D) PC,A,DPTR和堆栈指针SP
简答题
1.什么是指令系统?
答:计算机所能执行的全部指令的集合
2.什么是指令?
答:是指示计算机执行某些操作的命令
3.什么是汇编语言?
答:采用助记符表示的指令
4.什么是寻址方式?
答:就是找到存放操作数的地址,并把操作数提取出来的方法,即寻找操作数或者是操作数地址的方法
5.什么是堆栈?
答:是一种执行“后进先出”算法的数据结构
6.什么是指令周期?
答:取出并执行一条指令的时间
7.串行数据传送的主要优点和用途是什么?
答:串行数据传送是将数据按位进行传送的方式。
其主要优点是所需的传送线根数少
(单向传送只需一根数据线、双向仅需两根),对于远距离数据传送的情况,采用串行方式是比较经挤的。
·所以串行方式主要用于计算机与远程终端之间的数据传送。
8.MC S一51指令集中有无“程序结束”指令?怎样实现“程序结束”功能?
答:没有这样的指令。
但实现"程序结束"至少可以借助4种办法:
①用原地踏步指令SJMP $死循环;
②在最后一条指令后面设断点,用断点执行方式运行程序;
③用单步方式执行程序;
④在末条指令之后附加一条LJMP 0000H,由软件返回监控状态。
9.中断服务子程序与普通子程序有哪些异同之处?
答:相同点:都是让CPU从主程序转去执行子程序,执行完毕后又返回主程序。
不同
点:中断服务子程序是随机执行的,而普通子程序是预先安排好的;中断服务子程序以RETI 结束,而一般子程序以RET结束。
RETI除了将断点弹回PC动作之外,还要清除对应的中断优先标志位(片内不可寻址的触发器),以便新的中断请求能被响应。
10.说明DA A指令的用法
答:DA A为十进制调整指令。
在进行BCD数加法运算时,该指令要跟在加法指令后面,对A的内容进行十进制调整。
11.8051有几种寻址方式?各涉及哪些存储器空间?
答:立即寻址(程序寄存器);直接寻址(内部RAM和特殊功能寄存器);寄存器寻址();寄存器间接寻址(内部RAM);相对寻址(程序寄存器);变址寻址(程序、数据寄存器);位寻址(内部RAM和特殊功能寄存器的位地址空间)
12.8051响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中
断源的中断入口地址是多少?
答:(l)CPU响应中断的条件如下:
①首先要有中断源发出有效的中断申请;
②CPU中断是开放的,即中断总允许位EA=l,CPU允许所有中断源申请中断;
③申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。
以上是CPU响应中断的基本条件。
如果上述条件满足,则CPU一般会响应中断。
但是,若有下列任何一种情况存在,则中断响应会被阻止。
①CPU正处在为一个同级或高级的中断服务中。
②现行机器周期不是所执行的指令的最后一个机器周期。
作此限制的目的在于便当前
指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。
③当前指令是返回指令(RET、RETI)或访问IE、IP的指令。
因为按MCS-51中断系统
的特性规定,在执行完这些指令之后,还应再继续执行一条指令,然后才能响应中断。
若存在上述任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。
(2)CPU响应中断后,保护断点,硬件自动将(PC)→堆栈,寻找申断源,中断矢量→PC,程序转向中断服务程序入口地址。
(3)INT0=0003H,T0=000BH,INT1=0013H,Tl=00lBH,串行接口=0023H。
13.单片机对中断优先级的处理原则是什么?
答:(1)低级不能打断高级,高级能够打断低级;
(2)一个中断已被响应,同级的被禁止;
(3)同级,按查询顺序,INT0→T0→INT1→Tl→串行接口。
14.80C'51的外部中断有哪两种触发方式?它们对触发脉冲或电平有什么要求?
答:(1)有电平触发和脉冲触发。
(2)电平方式是低电平有效。
只要单片机在中断请求引入端INT0和INT1上采样到低电平时,就激活外部中断。
脉冲方式则是脉冲的下跳G有效。
这种方式下,在两个相邻机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低,即为有效中断请求。
因此在这种中断请求信号方式下,中断请求信号的高电平状态和低电平状态都应至少维持一个周期以确保电平变化能被单片机采样到。
15.单片机怎样管理中断?怎样开放和禁止中断?怎样设置优先级?
答:(1)由中断源提出中断,再由中断控制端决定是否中断,再按设定好的优先级的顺序响应中断。
如同一级优先级的中断按:外部中断0,定时中断0,外部中断1,定时中断1,串行中断。
中断后如果是:脉冲触发,TEl(0)被清0;电平触发,IEl(0)不被清零,要用软件清0。
(2)它由中断允许寄存器IE控制:如开放中断EA必须为1,再使要求中断的申断源的中断允许位为1:要禁止中断,EA=0即可。
(3)由IP控制,1为高级,0为低级,PS为串行中断优先级,PTl(0)为定时中断1(0)优先级,PXl(0)外部中断1(0)优先级。
使哪个中断源为优先级,就置哪个优先设定位为1。
16.8051单片机定时器一计数器作定时和计算用时,其计数脉冲分别由谁提供?
答:作定时器时:计数脉冲来自单片机内部,其频率为振荡频率的1/12。
作计数器时:计数脉冲来自单片机的外部,即P3.4(T0)和P3.5(Tl)两个引脚的输入脉冲。
17.8051单片机定时器/计数器的门控信号GATE设置为1时,定时器如何启动?
答:80C51单片机定时器/计数器的门控信号GATE设置为1时,定时器的启动受外部INT0(INTl)引脚的输人电平控制:当INT0(INTl)引脚为高电平时,置TR0(TRl)为1时启动定时器/计数器0(1)工作。
18.8051单片机片内设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?
答:80C51单片机片内设有2个定时器/计数器:定时器/计数器0和定时器/计数器1,由
TH0、TL0、THl、TLl、TMOD、TCON特殊功能寄存器组成。
18.什么是单片机的机器周期、状态周期、振荡周期和指令周期.
答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称p 周期)。
也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即lM=6S=l2P。
请见《教材》P28图。
19.当定时器T0工作于模式3时,如何使运行中的定时器T1停止下来?
答:TRl为定时器Tl的运行控制位,通常将该位置1就可启动定时器Tl使之运行起
来;把TRl清0便停止定时器Tl的运行。
但在定时器T0被设定为模式3运行时,就不能再用这种方法来控制定时器Tl的启停了。
因为在这种情况下,如《教材》Pl06图6-11所示,TRl借给定时器T0作为8位定时器TH0的运行控制位了。
当定时器T0在模式3下运行时,若把定时器1设定为模式3,即将TMOD寄存器的位5 (Ml)和位4(M0)写成ll B,则定时器Tl便停止运行;若此后将其从模式3中切换出来,例如,把这两位再次写成0lB,则定时器Tl将按模式1运行起来。
20.波特率、比特率和数据传送速率的含意各是什么?
答:在数据通信申,描述数据传送速度的方式有3种:
①波特率:每秒传送多少个信号码元(或每秒信号码元变换的总个数),单位是波特(Bd)。
②比特率:每秒传送多少个二进制位(或每秒传送二进制码元的个数),单位是b/s。
③数据传送速率(或字符传送速率):每秒传送多少个字符(或单位时间内平均数据传移速
率),单位是字符/秒。
当传输的信号是二进制数位时,波特率和比特率就变成了一回事,尤其是计算机通信中,信号码元常与二进制码元相同,此时可以统一起来。
例如,甲乙双方传送二进制数据的速度是每秒传送300个字符,每个字符附加了起始、停止和校验各一位,此时描述该速度有3种方式:
①数据字符传送速率是300字符/秒。
②忍比特率300×(8+1+1+l)b/s=300×ll b/s=3300b/s。
③波特率与比特率相同,亦为300×ll Rd=3300 Bd。
21.开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变改变当前工作寄存器组?
答:系统复位后,CPU选用第0组工作寄存器即地址分别为00H~07H。
如需改变当前
工作寄存器,可设置PSW状态字中的RSl、RS0。
如RSl、RS0为00则指向第0组;为01则指向第1组;为10则指向第2组;为ll则指向第3组。
22.程序状态寄存器PSW的作用是什么?常用状态有哪些位?作用是什么?
答:程序状态字寄存器PSW主要用于保存程序运行中的各种状态信息。
各位功能
如下:
CY(PSW·7)为进位标志。
在进行加或减运算中,表示有无进位或借位。
位操作时,又可认为是位累加器。
AC(PSW·6)为辅助进位标志。
加或减操作中,表示低4位数向高4位有无进位或借位,以用作BCD码调整的判断位。
F0(PSW·5)为用户标志位。
用户可自行定义的一个状态标记。
RSl、RS0(PSW·4 PSW·3)为工作寄存器组指针。
用以选择CPU当前工作寄存器组。
OV(PSW·2)为溢出标志。
算术运算时,表示是否溢出。
Fl(PSW·l)为用户标志位。
同F0。
P(PSW·0)为奇偶标志位。
表示累加器A中"1"的位数的奇偶数。
该位多用作串行通信中的奇偶检验。
23.位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM的位置?
答:字节地址是片内RAM的单元地址,而位地址是片内RAM单元申的某一位。
7CH
字节地址为RAM的7CH单元,而7CH位地址是RAM 2FH单元中的D4位。
24.MCS一51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期如何划分?答:时钟周期为最基本的时间单位。
机器周期则是完成某一个规定操作所需的时间。
一
个机器周期为6个时钟周期,共19个振荡周期,依次可表示为SlPl、SlP2、…、S6Pl、S6P2,即一个时钟周期包含有二个振荡周期。
25.MCS一51单片机有几种复位方法?应注意什么事项?
答:单片机的复位有上电自动复位和按钮手动复位两种。
使用时应注意:上电复位的最
短时间应保证为振荡周期建立时间加上两个机器周期的时间。
当单片机运行程序出错或进入死循环时,可用按钮复位来重新启动。
26.MCS一51单片机内部包含哪些主要逻辑功能部件?
答:89C51单片机主要由下列部件组成:一个8位CPU、一个片内振荡器及时钟电路、4
KB Flash ROM程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。
27.MCS一51单片机的存储器从物理结构上和逻辑上分别可划分几个空间?
答:MCS-51系列单片机的存储器配置从物理结构上可分为:片内程序存储器、片外程
序存储器、片内数据存储器、片外数据存储器。
从逻辑上可分为:片内外统一编址的64KB 的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。
28.存储器中有几个具有特殊功能的单元?分别作什么用?
答:MCS-51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入
□)0003H为外部中断0矢量入口、000BH为T0溢出中断人口、0013H为外部中断1矢量入口、00lBH为Tl溢出中断入口、0093H为串行接口中断入口。
29.MCS一51单片机片内256 B的数据存储器可分为几个区?分别作什么用?
答:MCS-51单片机片内数据存储器可分为二个区:00H~7FH单元组成的低128B的片内RAM 区、80H~FFH单元组成的高128B的专用寄存器区。
其中低128B的RAM区又分为:00H~lFH 单元为工作寄存器区、20H~2FH单元为位寻址区以及30H~7FH单元为用户RAM区。
工作寄存器区可作通用寄存器用,用户RAM区可作堆栈和数据缓冲用。
专用寄存器区又称特殊功能寄存器。
30.什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系?答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称p 周期)。
也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即lM=6S=l2P。
请见《教材》P28图。
31.MCS - 51单片机的PO-P3四个I/O端口在结构上有何异同?使用时应注意什么事项?答:MCS-51单片机的四个端口在结构上相同之处,P0~P3都是准双向I/O口,作输入
时,必须先向相应端口的锁存器写入"1"。
不同之处:P0口的输出级与Pl~P3口不相同,它
无内部上拉电阻,不能提供拉电流输出,而Pl~P3则带内部上拉电阻,可以提供拉电流输出。
当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;但作地址/数据总线时,不需要外接上拉电阻。
Pl~P3 作I/O输出时,均不需外接上拉电阻。
32.MCS一51单片机有几种低功耗方式?如何实现?
答:MCS-51单片机有两种低功耗方式,分别为待机(休闲)方式和掉电方式。
置PCON中的D0位即IDL为"1",单片机即迸人待机方式;置Dl位即PD为"1",则进入掉电方式。
33.试说明指令CJNE @R1,#7AH,10H的作用。
若本指令地址为8100H,其转移地
址是多少?
答:CJNE @Rl,#7AH,l0H指令是进行以Rl间址单元的内容与一个立即数进行比较。
当((Rl))=7AH时:(PC)+3→PC,0→CY
当((Rl))>7AH时:(PC)+3+10H→PC,0→CY
当((Rl)﹤7AH时:(PC)+3+10H→PC,l→CY
若本指令地址为8100H,其转移地址为:目的地址=8100H十3十10H=8113H。
34.如何将8051当8031使用?
答:把80C51的EA引脚接地,片外扩接EPROM芯片,就等于宣布片内ROM作废,完全执行片外EPROM中的程序。
这样,80C51就可当80C31使用。
35.设(R0)= 7 EH , DPTR= 10FEH ,片内RAM 7EH和7FH两单元的内容分别是FFH 和38H,请写出下列程序段的每条指令的执行结果。
INC @Ro
INC RO
INC @RO
INC DPTR
INC DPTR
INC DPTR
答:(1) (7EH)=00H
(2) R0=7FH
(3) (7FH)=39H
(4) DPTR=10FFH
(5)DPTR=l100H
(6)DPTR=l10lH
36.设片内RAM中(59H)=-50H,执行下列程序段。
MOV A,59H
MOV R0,A
MOV A, #0H
MOV @R0,A
MOV A, #25H
MOV 51H,A
MOV 52H,#70H
问A=25H,(50H)=0,(51H)=25H,(52H)=70H
编程题
1.编一个子程序,将寄存器R0中的内容乘10(积<256)。
1
解STRAT: MOV A,R0
MOV B,#10
MUL AB
MOV R0,A
RET
2.编程将片内RAM 30H单元开始的15 B的数据传送到片外RAM 3000H开始的单元
中去。
2
解STRAT: MOV R0,#30H
MOV R7,#0FH
MOV DPTR,#3000H
LOOP: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOP
RET
3.用查表法编一子程序,将40H单元中的BCD码转换成ASCII码。
3
START: MOV A,40H
MOV DPTR,#TAR
MOVC A,@A十DPTR
MOV 40H.A
RET
TAB DB 30H,31H,32H,33H,34H
DB 35H,36H,37H,38H,39H
4.片内RAM 50H,51 H单元中有一个2B的二进制数,高位在前,低位在后,请编程将其求补,存回原单元中去。
4
解START: CLR C
MOV A,5lH
CPL A
ADD A,#03H
MOV 5lH,A
MOV A,50H
CPL A
ADDC A,#00H
MOV 50H,A
RET
5.片内RAM 30H开始的单元中有10 B的二进制数,请编程求它们之和(和<256)。
5
解ADDIO: MOV R0,30H
MOV R7,#9
MOV A,@R0
LOOP: INC R0
ADD A,@R0
DJNZ R7,LOOP
MOV 30H,A
RET
6.R1中存有一BCD码,请编程将它转换成ASCII码,存人外RAM IO00H单元中去。
6 解RIB-AI: MOV A,Rl
ORL A,#30H (也可以ADD A,#30H)
MOV DPTR,#1000H
MOVX @DPTR,A
RET
7.编一个程序,将累加器中的一个字符从串行接口发送出去。
7
解SOUT: MOV SCON,#40H ;设置串行接□为工作方式1
MOV TMOD,#20H ;定时器Tl工作于模式2
MOV TLl,#0E8H; 设置波特率为1200b/s
MOV THl,#0E8H
SETB TRl
MOV SBUF,A
NB TI,$
CLR TI
RET
8.片外RAM 2000H开始的单元中有5B的数据,编程将它们传送到片内RAM 20H开始的单元中去。
8
解CARY: MOV DPTR,#2000H
MOV R0,#20H
MOV R3,#05H
NEXT: MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R3,NEXT
RET
9.用查表法编一子程序,将R3中的BCD码转换成ASCII码。
9
解MAIN: MOV A,R3 ;待转换的数送A
MOV DPTR,#TAB ;表首地址送DPTR
MOVC A,@A+DPTR ;查ASCII码表
MOV R3,A ;查表结果送R3
RET
TAB DB 30H ,31H ,32H ,33H ,34H
DB 35H ,36H ,37H ,38H ,39H
10.片内RAM 40H开始的单元内有10 B二进制数,编程找出其中最大值并存于50H单元中。
10
解START: MOV R0,#40H ;数据块首地址送R0
MOV R7,#09H ;比较次数送R7
MOV A,@R0 ;取数送A
LOOP: INC R0
MOV 30H,@R0 ;取数送30H
CJNE A,30H,NEXT ;(A)与(30H)相比
NEXT: JNC BIEl ;(A)≥(30H)转BIEl
MOV A,30H ;(A)﹤(30H),大数送A BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50H
RET。