3中断Word格式.docx
《3中断Word格式.docx》由会员分享,可在线阅读,更多相关《3中断Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
int1——IE1;
T0——TF0;
T1——TF1;
串口——RI(接收标志位)和TI(发送标志位)
10,中断的机制
(1)外部中断如何提出中断申请?
通过外部中断引脚INT0(INT1)提出,如果在该引脚上出现了下降沿(边沿检测时)或者出现了低电平(电平检测时),则意味着有中断请求输入。
(2)中断请求如何被保存?
每个中断都对应有各自的中断标志位,没有中断请求时,相应的中断标志位为0;
如果一旦有中断请求发生,则对应的中断标志位会被硬件自动设置为1.
(3)单片机如何获知中断请求?
单片机在每个机器周期都会按序检测一遍中断标志位,如果检测到某位为1,则获知该中断请求存在,并获得了中断号。
(4)单片机如何根据中断请求转入到中断函数去执行?
首先单片机根据中断标志位获得中断号简答
根据中断号转入到相应的中断向量
中断向量中存放有跳转指令,通过该指令的执行,转入到中断函数
(5)中断向量
在单片机的程序存储器的0地址处规划出一块特殊的区域,用于存储中断向量(中断向量就是中断号和中断服务程序的映射关系。
给中断向量分配的存储地址是固定不变的。
中断向量里存放着一条跳转指令,通过该指令就能够转到中断服务程序去执行)。
(6)中断如何被屏蔽或开放
中断屏蔽与否受到IE(InterruptEnable)寄存器的控制。
控制分为两级。
第一级是IE总控制位EA;
第二级是各个中断源分别对应的分控制位(int0——EX0;
int1——EX1;
T0——ET0;
T1——ET1;
串口——ES)。
若想开放某个中断,总控制位和分控制位必须设置为1。
举例开放int1中断:
EA=1;
EX1=1;
(7)如何设置中断优先级
中断优先级通过IP(InterruptPriority)寄存器控制。
如果某个中断对应的控制位为1,则为高优先级,否则为低优先级。
单片机复位时,默认都为低优先级。
即使处于同一优先级,也有优先顺序,该顺序与检测中断标志位的顺序相一致。
11,简述中断向量表的作用
(1)中断向量表中存储在固定的程序存储区域中,用于存放中断向量
(2)CPU响应中断时可以根据中断号自行转去对应的中断向量
(3)中断向量存放跳转指令,通过跳转指令的执行可以转入中断服务程序。
12,简述中断函数编写时的注意事项。
(1)中断函数不能进行参数传递。
(2)中断函数不能有返回值。
(3)在任何情况下都不能直接调用中断函数。
(4)如果在中断函数中调用了其它函数,则被调用函数所使用的寄存器必须与中断函数相同。
13,51单片机中,中断标志位在查询和中断方式下清除的方式
中断类型
中断方式
查询方式
外部中断
硬件自动清除
软件清除
定时器中断
串口中断
14,中断屏蔽的条件是什么?
(1)中断允许总控为EA=1开放CPU中断,否则屏蔽
(2)每个中断源对应一个中断允许位,=1开放该中断;
否则屏蔽
15,
(1)如何开放外部中断?
EA=1;
EX1=1;
(EX0=1);
(2)如何开放定时器中断?
ET1=1;
(ET0=1);
(3)如何开放串口中断?
ES=1;
16,简述51单片机中默认的中断优先级别(从高到低)
(1)外部中断0
(2)定时/计数器T0中断
(3)外部中断1
(4)定时/计数器T1中断
(5)串行口中断
16,对下面的中断函数定义各个部分进行解释
voidint0(void)interrupt0using1
{
。
。
;
}
解释如下:
第一个void:
没有返回参数;
int0:
中断函数名称;
第二个void:
没有输入参数;
interrupt0:
该函数是中断函数,中断号为0;
using1:
使用第一组工作寄存器
17,外部中断引脚(P3.3)上接了一个按键,P2端口接入8个发光二极管(与阴极相连),要求利用外部中断资源编写程序,对按键的次数进行统计,并把统计的结果实时以二进制形式显示在发光二极管上。
(注:
可以不考虑去抖动,但是必须做到一次按键只统计一次)。
【代码示例】
//连线说明:
按键与引脚int1(P3.3)相连,P2口与8个发光二极管相连
#include<
reg51.h>
sbitKEY=P3^3;
bitintflag=0;
//=0:
无外部中断;
=1:
有外部中断
voidinit_int1(){//初始化int1中断
IT1=1;
//设置边沿检测
EA=1;
}
voiddelay(unsignedchari){//延迟
for(;
i>
0;
i--);
voidint1Service(void)interrupt2{
//能够进入到中断函数,说明有按键
delay(200);
//延迟一会,去抖动
if(!
KEY){//说明有按键,不是抖动
intflag=1;
//标示一下外部中断产生
}
main(){
unsignedcharcnt=0;
init_int1();
while
(1){
if(intflag){
while(!
KEY);
//等待按键松开
intflag=0;
cnt++;
//统计按键次数
P2=~cnt;
//将按键次数在发光二极管上显示出来
}
}
14,练习。
(1)下面关于中断的描述有误的一项是________
(A)中断方式下,事件产生后由外设主动向CPU提出申请
(B)中断方式下,CPU主动查询外设事件是否产生
(C)中断方式可以处理紧急的事件
(D)中断方式可以使CPU与其他的资源并行工作
(2)下面所列中,哪一个事件不能触发51单片机中断?
______
(A)串口发送一帧数据完毕(B)定时器T0计数溢出
(C)int1引脚出现了较长的低电平信号(D)单片机P2端口出现了下降沿
(3)单片机的外部中断int1信号由哪个引脚输入?
________
(A)P3.2(B)P3.3(C)P3.0(D)P3.1
(4)单片机的外部中断int0信号由哪个引脚输入?
(5)单片机中,多长时间会检测一次中断标志位?
_______
(A)时钟周期(B)机器周期(C)指令周期(D)不固定
(6)下面哪个是属于定时器T0的中断标志位?
(A)IE0(B)IE1(C)TF0(D)TF1(E)RI和TI
(7)下面哪个是属于定时器T1的中断标志位?
(8)下面哪个是属于int0的中断标志位?
(9)下面哪个是属于int1的中断标志位?
(10)下面哪个是属于串口的中断标志位?
(11)关于51单片机的中断描述有误的一项是_________
(A)51单片机一共有三类中断
(B)51单片机的中断一共有两种优先级别
(C)51单片机在每个指令周期都会检测中断标志位
(D)如果有中断发生,相应的中断标志位由硬件自动设置为1
(12)下面语句操作有错的一条是__________
(A)IT0=1;
(B)IE0=1;
(C)TF0=0;
(D)TR0=1
(13)有关51单片机外部中断描述有误的一项是________
(A)只有外部中断的中断请求信号是通过单片机的外部引脚输入的
(B)外部中断产生时,中断请求标志位IE0或者IE1可被硬件自动设置为1
(C)外部中断有低电平或者下降沿两种触发方式
(D)任何一个单片机的I/O端口引脚都可以输入外部中断请求信号
(14)如果设置单片机的INT1中断为边沿触发方式,下面操作正确的一项是_____
(A)IT1=1;
(B)IT0=1;
(C)IT1=0;
(D)IT0=0;
(15)单片机响应中断后,哪类中断的中断标志位不能被硬件自动清0?
(A)串口(B)定时器(C)外部中断(D)都不能
(16)有关中断向量描述有误的一项是________
(A)存储在程序存储器空间
(B)存储在数据存储器空间
(C)中断向量的存储地址固定不变
(D)中断向量中一般存放跳转指令
(17)如果设置单片机的中断优先级,则需要操作的寄存器是______
(A)TCON(B)IE(C)IP(D)PCON
(18)如果开放单片机的中断,可需要操作的寄存器是_____
(A)TCON(B)IE(C)IP(D)PCON
(19)有关单片机的中断描述有误的一项是_______
(A)单片机通过中断号转到对应的中断向量
(B)每个中断的中断号可以任意指定
(C)51单片机的中断优先级一共有低和高两级
(D)单片机复位时,默认所有的中断都是屏蔽的
(20)哪个标志位为单片机的总中断控制位_______
(A)EA(B)ES(C)ET0(4)ET1
(21)哪个标志位为串口的中断控制位_______
(22)哪个标志位为定时器T0的中断控制位_______
(23)哪个标志位为定时器T1的中断控制位_______
(24)哪个标志位为定时器T0的中断控制位_______
(A)EX0(B)ES(C)ET0(4)EX1
(25)哪个标志位为外部中断int0中断控制位_______
(A)EX0(B)EX1(C)ET0(4)ET1
(26)哪个标志位为外部中断int1中断控制位_______
(27)关于语句voidint0(void)interruptmusingn描述有误的一项是______
(A)第二个void可以省略
(B)interruptm中的m表示中断号,只要取值在0~4之间即可,可任意指定
(C)usingn中的n用于指定所使用的工作寄存器组,范围在0~3之间
(D)usingn可以省略
(28)如果开放51单片机中的int1中断,正确的指令是_________
(A)EA=1;
ET1=1;
(B)EA=1;
EX1=1;
(C)EX1=1;
(D)EA=1;
(29)如果开放51单片机中的串口中断,正确的指令是_________
ES=1;
(C)EA=1;
ET1=1;
ET0=1;
(30)如果设置51单片机中的定时器T1的优先级为高优先级,则正确的指令是______
(A)ET1=1;
(B)PT1=1;
(C)TF1=1;
(D)IE1=1;
(31)单片机复位后,哪个中断的优先级别默认最高________
(A)int0(B)T0(C)int1(D)T1(E)串口
(32)单片机复位后,哪个中断的优先级别默认最低________
(33)关于C51中断函数编写描述有误的一项是_____
(A)中断函数不能有输入参数
(B)中断函数不能有返回参数
(C)中断函数不能被直接调用
(D)中断函数中不能调用其他函数
(34)51单片机中,中断向量存储在什么区域?
_________
(A)片内数据存储器(B)片外数据存储器
(C)片内程序存储器(D)片外程序存储器
(35)关于外部中断,描述错误的一项是___________。
(A)外部中断请求信号由相应的端口引脚输入
(B)可设置单片机任何一个引脚为外部中断引脚
(C)外部中断可以设置为电平检测或边沿检测
(D)CPU响应外部中断后,中断标志由硬件自动清除
(36)关于MCS-51单片机中断的描述有误的一项是___________。
(A)中断请求由中断源主动提出
(B)一共有2级中断优先级别
(C)可通过IE寄存器设置中断的开放与屏蔽
(D)所有中断只能设置全部开放或全部屏蔽,不能单独设置
(37)下列关于MCS-51中断函数的描述正确的一项是___________。
(A)中断函数可以有返回值
(B)中断函数可以进行参数传递
(C)中断函数定义中可以通过usingn来指定本函数所使用的工作寄存器组
(D)中断函数可以被其他的函数调用
(38)在中断允许寄存器中,中断控制寄存器EA位的作用是___________。
(A)CPU总中断允许控制位
(B)中断请求总标志位
(C)各中断源允许控制位
(D)串行口中断允许位
(39)对于外部中断1,若采用电平触发方式,则需要___________。
(A)IE0=1(B)IT1=1(C)IE0=0(D)IT1=0
(40)下列关于中断叙述不正确的为___________。
(A)中断是通过硬件改变CPU的运行方向的
(B)中断返回用RETI指令
(C)中断向量地址是可以由用户改变的
(D)中断和子程序的区别在于调用子程序是在程序中事先安排的,而调用中断服务程序却无法确定。
(41)与中断无关的寄存器为___________。
(A)TCON(B)SCON(C)IE(D)DPTR
(42)中断的总允许控制位是___________。
(A)EA(B)ET1(C)EX1(D)ES
(43)中断功能具有什么好处?
(A)让程序更有效率(B)让程序更复杂
(C)让程序执行更快(D)以上皆是