• 【mcuclub】外部中断


    一、中断系统

    中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。

    当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示CPU中断的请求源称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请求。

    当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系统,没有中断嵌套功能的中断系统称为单级中断系统。

    二、中断表

    三、中断结构图

    四、中断触发方式

    五、外部中断

    EX1:外部中断1中断允许位。EX1=1,允许中断;EX1=0,禁止中断。

    EX0:外部中断0中断允许位。EX0=1,允许中断;EXO=O,禁止中断。

    IE1:外部中断1请求源(INT1/P3.3)标志。IE1=1,外部中断1向CPU请求中断,当CPU响应该中断时由硬件清“0”IE1。

    IT1:外部中断1中断源类型选择位。IT1=0,INT1/P3.3引脚上的低电平触发外部中断1;IT1=1,外部中断1为下降沿触发方式。

    IEO:外部中断O请求源(INTO/P3.2)标志。IEO=1,外部中断O向CPU请求中断,当CPU响应该中断时由硬件清“0”IEO。

    ITO:外部中断0中断源类型选择位。ITO=0,INTO/P3.2引脚上的低电平触发外部中断O;ITO=1,外部中断0为下降沿触发方式。

    六、程序

    /****

    *******外部中断0初始化

    *****/

    void Exter0_Init(void)

    {

       EA = 1;                         //开总中断

       EX0 = 1;                        //开外部中断0

       IT0 = 1;                        //下降沿触发

    }

    /****

    *******外部中断0回调函数

    *****/

    void Exter0_Handler(void) interrupt 0   //0:外部中断0的中断号; 1:定时器0的中断号; 2:外部中断1的中断号; 3:为定时器1的中断号; 4:串口中断的中断号;

    {

    }

  • 相关阅读:
    【数据结构】LeetCode栈和队列经典题型
    APP兼容性测试如何测试?
    C/C++教程 从入门到精通《第五章》—— 制作推箱子游戏
    docker实战学习2022版本(六)之Dockerfile整合微服务实战
    在 Vue3 中使用 mitt 进行组件通信
    html--蛆
    【力扣hot100】刷题笔记Day17
    springboot 整合rabbitMq保证消息一致性方案
    《永远的爱犬》The forever dog英文版
    TreeMap中如何对数字,英文字母,中文排序呢?
  • 原文地址:https://blog.csdn.net/weixin_61121477/article/details/127746642