㈠ 51单片机之中断系统,外部中断
中断分为前棚4个步骤:中断请求→中断相应→中断处理→中断返回(先做更重要的事)
1、数据的输入/输出传送方式
外部中断要段梁看对应引脚外部的电平状态。
例如:外部中断0(INT0)对应的引脚是P32,
当出现 低电平 ,即P32引脚连接的地方是 低电平 ,进入相应的中断函数;
当出现 下降沿 ,即P32引脚连接的地方 由高电平变为低电平 ,进入相应的中断函数
内部中断源要看单片机内部的定时器/计数器
中断允许寄存器IE
定时器/计数器0/1控制寄存器TCON
对同时发生多个中断申请时:
不同优先级的中断同时申请:先高后低
相同优先级的中断同时申请:按序执行
正处理低优先级中断又接到高级别中断:高打断低
正处理高优先级中断又接到低级别中断:高不理低
初始化的意思如图所示
实现思路
查看上方 P3第二功能各引脚功能定义 ,P3.3是外部中断1 (INT1)的外部输入引脚
编写一个程序握悔运,使得 S2按键按下 时,某个IO口(下面程序选择了P3.7这个IO口) 产生跳变沿 (由1变0)。P3.3与P3.7用跳线连接,使P3.3口与P3.7口同时产生跳变沿。
㈡ 单片机中的中断是怎么实现的
概念:引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。
80C51的中断系统有5个中断源 ,2个优先级,可实现二级中断嵌套(就是可以在嵌套过程中再次响应嵌套) 。
中断源
1、INT0(P3.2),外部中断1。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2、INT1(P3.3),外部中断2。可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
中断请求标志
1、TCON的中断标志
IT0(TCON.0):外部中断0触发方式控制位。
当IT0=0时:为电平触发方式。
当IT0=1时:为边沿触发方式(下降沿有效)。
IE0(TCON.1):外部中断0中断请求标志位。
IT1(TCON.2):外部中断1触发方式控制位。
IE1(TCON.3):外部中断1中断请求标志位。
TF0(TCON.5):定时/计数器T0溢出中断请求标志位。
TF1(TCON.7):定时/计数器T1溢出中断请求标志位。
单片机TCON辅助设置工具
2、SCON的中断标志
RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。
80C51中断的控制
中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。
EX0(IE.0):外部中断0允许位;
ET0(IE.1):定时/计数器T0中断允许位;
EX1(IE.2):外部中断0允许位;
ET1(IE.3):定时/计数器T1中断允许位;
ES(IE.4):串行口中断允许位;
EA (IE.7): CPU中断允许(总允许)位。
单片机IE自动设计工具
中断优先级控制
80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的 。
PX0(IP.0),外部中断0优先级设定位;
PT0(IP.1),定时/计数器T0优先级设定位;
PX1(IP.2),外部中断0优先级设定位;
PT1(IP.3),定时/计数器T1优先级设定位;
PS? (IP.4),串行口优先级设定位;
PT2(IP.5),定时/计数器T2优先级设定位。
单片机IP自动设计工具
中断优先级规则:
CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
正在进行的低优先级中断服务,能被高优先级中断请求所中断。
中断系统总结:
TCON和SCON是中断请求,以及控制外部中断的有效方式。IE控制是否允许CPU响应中断,是否允许响应某一个中断。IP控制中断的优先级。
㈢ 简述8051单片机中断响应过程
单片机一旦响应中断请求, 就由硬件完成以下功能:
(1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置1;
(2) 执行硬件中断服务子程序调用, 并把当前程序计数器PC的内容压入堆栈,保护断点,寻找中断源;
(3) 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);
(4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而转入相应的中断服务程序。
(5)中断返回,程序返回断点处继续执行。
(3)单片机中断过程扩展阅读:
单片机应用分类:
单片机(Microcontrollers)作为计算机发展的一个重要分支领域,根据发展情况,从不同角度,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料:网络——单片机