单片机小白学习之路(十二)---中断系统的理解

目标:中断系统的理解
1.中断简介
  • 13367077-52b9dfcead28d33a.png
    中断

中断:cpu在正常执行程序的过程中,计算机内部或外部发生了另一件事请求cpu迅速去处理,cpu暂停停止当前程序的运行,而转去处理所发生的事件,处理完就返回原来暂停的地方,继续执行原来的任务

随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:
①分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;
②实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;
③可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。


2.中断系统结构
13367077-06dda0f273933a31.png
系统构造
  • ①INT0(P3.2),当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。可由IT0(TCON.0)选择其为低电平有效(置0)还是下降沿有效(置1)。
  • ②INT1(P3.3),当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。可由IT1(TCON.2)选择其为低电平有效(置0)还是下降沿有效(置1)。
  • ③T0(P3.4),它的中断请求标志是TF0--(TCON.5 ),T0发生溢出时,置位TF0为1,并向CPU申请中断。
  • ④T1(P3.5),它的中断请求标志位是TF1--(TCON.7),T1发生溢出时,置位TF1为1,并向CPU申请中断。
  • ⑤RI(SCON.0)或TI(SCON.1),串行口中断请求标志。
    当串行口接收完送完一帧串行数据置位RI,向CPU申请中断。
    当串行口发送完一帧串行数据时置位TI,向CPU申请中断。

3.中断寄存器

(一)定时器控制寄存器TCON

13367077-2aed6ec63bdc2479.png
定时器控制寄存器TCON
  • IT0:外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。
  • IE0:外部中断0中断请求标志位。
  • IT1:外部中断1触发方式控制位。
  • IE1:外部中断1中断请求标志位。
  • TF0:定时/计数器T0溢出中断请求标志位。
  • TF1:定时/计数器T1溢出中断请求标志位。
  • TR0: T0运行控制位。TR0置1时,T0开始工作;TR0置0时,T0停止
    工作。
  • TR1:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止
    工作。

(2)中断允许寄存器IE

13367077-91b8750adb3a141f.png
IE

  • EX0:外部中断0允许位;
  • ET0:定时/计数器T0中断允许位;
  • EX1:外部中断0允许位;
  • ET1:定时/计数器T1中断允许位;
  • ES: 串行口中断允许位;
  • EA :CPU中断允许(总允许)位。(总开关)
    IE相当于一个开关的角色

(3)中断优先级寄存器IP

13367077-190bd50bdef0ac67.png
IP

  • PT2:定时器/计数器2中断优先级控制位(仅8052);1:高优先级,
    0:低优先级
  • PS:串行口优先级控制位;1:高优先级,0:低优先级
  • PT0/PT1:定时器/计数器0/1中断优先级控制位;1:高优先级,0:
    低优先级
  • PX0/PX1:外部中断管0/1中断优先级控制位;1:高优先级,0:低优
    先级

4.中断优先级

我们会遇到多个中断同时请求的情况,这时候就需要看自然优先级了

13367077-a2bb07d430acc66e.png
自然优先级

中断执行原则:
①CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
②正在进行的中断过程不能被新的同级或低优先级的中断请求所中
断。
③正在进行的低优先级中断服务,能被高优先级中断请求所中断。


5.中断的使用

(1)中断响应条件
①中断源要有中断请求
②中断源的中断允许位为1
③打开总中断(即EA=1)


例如:外部中断0(INT0)产生中断
#include "reg52.h"
void main()
{
    EA=1;//打开总中断开关
    EX0=1;//开外部中断0
    IT0=0;//设置外部中断的触发方式
    while(1)
    {
    }
}
//中断服务函数
void int0() interrupt 0 //0是中断号,具体看是什么中段
{
    ...do anything that you want

13367077-7212e58a4fa61a95.png
中断号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值