《单片机汇编》期末考试、考研常见考题、习题,题型汇总(二十二)

小知识点补充34

1,SJMP、AJMP和 LJMP的异同点

SJMP: 相对寻址方式转移指令,短转移指令,转移范围为当前PC的值的 -128~127 字节
备注:SJMP rel
目的地址=转移指令所在地址+转移指令字节数+rel
AJMP: 绝对转移指令,转移范围为当前PC值所在的页面2K范围内
LJMP: 长转移指令。转移范围为64K,与当前PC值无关

2,MCS—51 单片机的数据指 针 DPTR 是一个 16 位的专用地址指 针寄存器主要用来存放 16 位地址作间址寄存器使用
3,MCS-51的特殊功能寄存器分布在80H-FFH地址范围内
4,PC可以看成使程序存储器的地址指针
5,程序 计数器 PC 不能为用户编程时直接使用因为它没有地址
6,MCS—51 的产品 8051 与 8031 的区别是: 8031 片内无 ROM
7,MCS—51 单片机的特殊功能寄存器集中布置在片内数据存储器的一个区域中
8,累加器 A 中存放着一个其值小于或等于 127 的 8 位无符号数, CY清“0”后执行RLC A 指令,则 A 中数变为原来的 2 倍
9,51单片机系统响应中断的必要条件有:TCON或 SCON寄存器内的有关中断标志位为 1IE 中断允许寄存器内的有关中断允许位置 1当前一条指令执行完
10,各中断源发出的中断请求信号,都会标记在 MCS-51系统中的TCON/SCON寄存器

小知识点补充35
1,MCS—51 单片机响应中断的过程是:断点 PC自动压栈,对应中断矢量地址装入 PC,程序转到该矢量地址,再转至中断服务程序首地址
2,MCS—51 单片机控制寄存器 TCON的作用有:定时 / 计数器的启、停控制 ,定时器的溢出标志 ,外部中断请求标志和选择外部中断触发方式
3, 8051 单片机的 IE 寄存器的用途有:确定 CPU中断的开放或禁止,定时器中断的开放或禁止 和选择外部中断的开放或禁止
4,下述条件中,能封锁主机对中断的响应的条件是:一个同级或高一级的中断正在处理时,当前周期不是执行当前指令的最后一个周期,当前执行的指令是 RETI 指令或对 IE 或 IP 寄存器进行读 / 写的指令
5,什么叫中断嵌套?中断嵌套有什么限制?中断嵌套与子程序嵌套有什么区别?

答:高优先级中断“中断”正在执行的低优先级中断,这就是中断嵌套。
中断嵌套只能高优先级“中断”低优先级, 低优先级不能“中断“高优先级, 同一优先级之间也不
能相互“中断”。
中断嵌套与子程序嵌套的区别:
①子程序嵌套是在程序中事先安排好的;中断嵌套是随机发生的。
②子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。

6,为什么一般情况下, 在中断入口地址区间要设置一条跳转指令, 转移到中断服务程序的实际入口处?

答:由于 80C51相邻两个中断入口地址间只有 8 字节的空间,8 个字节只能容纳一个有 3~8条指令的极短程序。一般情况中中断服务程序均大大超出8个字节长度。因此,必须跳转到其他合适的地址空间。

7,如果以查询方式进行定时应用,则应用程序中的初始化内容应包括设置工作方式、设置计数初值、禁止中断、打开定时器
8,8031 单片机的定时器 T1 用作定时方式时是由内部时钟频率定时, 一个机器周期加1
9,8031 单片机的定时器 T1 用作计数方式时计数脉冲是外部计数脉冲由 T1(P3.5 )输入
10,用 8031 的定时器 T1 作计数方式,用模式 2,则工作方式控制字为60H

小知识点补充36
1,MCS—51 单片机的 TMOD模式控制寄存器是一个专用寄存器,用于控制 T1 和 T0 的操作模式及工作方式,其中 C/T 表示的是功能选择位
2,MCS—51 单片机定时器溢出标志是TF0,TF1
3,MCS—51 单片机定时器 T1的溢出标志 TF1,若计满数产生溢出时,如不用中断方式而用查询方式,则应:软件清零
4,MCS—51 单片机定时器 T0的溢出标志 TF0,若计满数在 CPU响应中断后由硬件清零
5,MCS—51 单片机中定时 / 计数器的工作模式有8 位自动重装计数器13 位计数器16 位计数器两个独立的 8 位计数器
6,试归纳小结 80C51定时 / 计数器 4 种工作方式的特点
答: ①方式 0 是 13 位计数器, 最大计数值 2^13=8192,计数范围比方式 1 小,计算定时初值比较麻烦, 容易出错,与方 式 1 比较无任何优点。 ②方式 1 是 16 位计数器,最大计数值为 2^16=65536,计数范围大,适用于定时范围较大的应用场合。 ③方式 2 是 8 位计数器,最大计数值是 2^8=256,缺点是计数范围小,优点是定时初值可自动恢复,适用于需要重复定时, 而定时范围还不大的应用场合。 ④方式 3 是 8 位计数器,仅适用于 T0,T1 无方式 3。T0 方式 3 时,被拆成两个独立的 8 位计数器 TH0、TL0:TL0 使用 T0 原有的控制寄存 器组成一个 8 位的定时 / 计数器;TH0借用 T1 的 TF1、TR1,只能对机内机器周期脉冲计数,组成另一个 8 位定时器。 T0 方式 3 时 T1 方式 2 作串行口波特率 发生器。
7,如何判断 T0、T1 定时 / 计数溢出?
答:判断 T0、T1 定时 / 计数溢出的方法有两种:
① 查询方式。不断查询 T0、T1 溢出标志 TF0、TF1:TF0或 TF1=0时,未溢出; TF0或 TF1=1时,溢出。
② 中断方式。 T0、T1 定时 / 计数溢出时,在 CPU、T0、T1 中断开放前提下能自动产生中断。
8,要进行多机通信, MCS-51串行接口的工作方式选为方式 2 和方式 3
9,MCS-51 的串行接口是全双工
10,串行口的中断, CPU响应中断后,必须在中断服务程序中,用软件清除相应的中断标志位,以撤消中断请求;串行口数据缓冲器 SBUF是可以直接寻址的专用寄存器

小知识点补充37
串行缓冲寄存器 SBUF有什么作用?简述串行口接收和发送数据的过程
答:串行缓冲寄存器 SBUF有两个:一个是串行发送缓冲寄存器,另一个是串行接收缓冲寄存器,用同一个特殊功能寄存器名 SBUF和同一单元地址 99H。接收缓冲寄存器还具有双缓冲结构,以避免在数据接收过程中出现帧重叠错误。在完成串行初始化后,发送时只需将发送数据输入 SBUF,CPU将自动启动和完成串行数据的发送;接收时 CPU将自动把接收到的数据存入 SBUF,用户只需从SBUF中读取接收数据

小知识点补充38
1,区分 MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:看其芯片的型号是ROM还是RAM ,看其是与 RD信号连接还是与 PSEN信号连接
2,在 MCS-51单片机系统中, 外接程序存储器和数据存储器共 16 位地址线和 8 位数据线, 为何不会发生冲突?

解:因为控制信号线的不同:
外扩的 RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和 WE。外扩 RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连。

3,并行扩展存储器,片选方式有哪几种?各有什么特点?

答:并行扩展存储器,产生片选信号的方式有线选法和译码法两种。
(1)线选法是将高位地址线直接连到存储器芯片的片选端。其优点是连接简单,缺点是芯片的地址空间相互之间可能不连续,存储空间得不到充分利用,存在地址重叠现象。线选法适用于扩展存储容量较小的场合。
(2)译码法是通过译码器将高位地址线转换为片选信号, 2 条地址线能译成4种片选信号,3条地址线能译成8种片选信号,4条地址线能译成16种片选信 号。译码法与线选法比较,硬件电路稍微复杂,需要使用译码器,但可充分利用存储空间, 全译码还可避免地址重叠现象, 局部译码还有部分高位地址线未参与译 码,因此仍存在地址重叠现象。译码法的另一个优点是若译码器输出端留有剩余端线未用时,便于继续扩展存储器或 I/O 接口电路。

4,采用译码法片选是否一定能消除地址空间不连续和“地址重叠”现象?

答:采用译码法片选不一定能消除地址空间不连续和“地址重叠”现象。只要译码器输出的片选信号线序号连续,地址空间就连续;译码器输出的片选信 号线序号不连续,地址空间就不连续。关于“地址重叠”现象,只要没有无关地址线,就没有“地址重叠”现象。

题78

已知晶振频率为12MHz,在 P1.7 引脚上输出周期为 400微秒的等宽矩形波(中断方式实现)。

程序源码:


PULSE BIT P1.7
	ORG 0000H
	LJMP START
	ORG 000BH
	LJMP ADDRT0
	ORG 0030H
START:
	MOV SP,#66H
	MOV TMOD,#02H
	MOV TH0,#38H
	MOV TL0,#38H
	SETB EA
	SETB ET0
	SETB TR0
	SETB PULSE
	SJMP $
ADDRT0:
	CPL PULSE
	RETI
	END

仿真图:
在这里插入图片描述

题79

设规定外部中断 1 为边沿触发方式,低优先级,在中断服务程序将寄存器 B 的内容左循环一位, B的初值设为 02H,编写程序

 	ORG 0000H 
 	LJMP MAIN 
 	ORG 0013H 
 	LJMP ADDRINT1
 	ORG 0030H 
 MAIN:
 	SETB EA 
 	SETB EX1 
 	CLR PX1 
 	SETB IT1 
 	MOV B,#02H 
 	SJMP $
 ADDRINT1:
 	MOV A,B 
 	RL A 
	MOV B,A 
 	RETI
 	END

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/105835993