zoukankan      html  css  js  c++  java
  • 单片机中断学习笔记

    中断:改变任务等级。

    IE:中断使能寄存器

    介绍

    IE-中断使能寄存器的位分配(地址0xA8,可位寻址)
    7 6 5 4 3 2 1 0
    符号 EA
    ET2 ES ET1 EX1 ET0 EX0
    复位值 0
    0 0 0 0 0 0
    IE-中断使能寄存器的位描述
    符 号 描述
    7 EA 总中断使能,相当于总开关
    6

    5 ET2
    定时器2中断使能
    4 ES 串口中断使能
    3 ET1 定时器1中断使能
    2 EX1 外部中断1使能
    1 ET0 定时器0中断使能
    0 EX0 外部中断0使能

    使用方法

    void InterruptTime0 () interrupt 1
    {
         //函数体
    }
    说明:
    • InterrupTime0:函数名,可任意设置
    • 函数后边必须加interrupt关键字
    • interrupt关键字后边常数需要计算
    • 进入定时器中断TFn硬件清零
    • 一般需要对定时器重新赋值

    中断函数编号

    即上边interrupt关键字后边的常数。由中断向量地址根据一定规则计算得出,不需要记忆,需要用时查询下表即可。

    中断查询序列
    中断函数编号 中断名称 中断标志位 中断使能位 中断向量地址 默认优先级
    0 外部中断0 IE0 EX0 0x0003 1(最高)
    1 T0中断 TF0 ET0 0x000B 2
    2 外部中断1 IE1 EX1 0x0013 3
    3 T1中断 TF1 ET1 0X001B 4
    4 UART中断 T1/R1 ES 0x0023 5
    5 T2中断 TF2/EXF2 ET2 0x002B 6

     IP:中断的优先级

    分为固有优先级和抢占优先级。

    固有优先级:根据中断函数编号,中断发生时,优先处理优先级高的,中断之间不打断,即在处理一个中断时,没有处理完不会进入优先级高的中断。

    抢占优先级:在处理中断时,发生更高级中断,停止处理当前中断,处理高级中断,高级中断处理完再继续处理当前中断。

    IP-中断优先级寄存器的位分配(地址0xB8,可位寻址)
    7 6 5 4 3 2 1 0
    符号

    PT2 PS PT1 PX1 PT0 PX0
    复位值

    0 0 0 0 0 0
    IP-中断优先级寄存器的位描述
    符号 描述
    7
    保留
    6
    保留
    5 PT2 定时器2中断优先级控制位
    4 PS 串口中断优先级控制位
    3 PT1 定时器1中断优先级控制位
    2 PX1 外部中断1中断优先级控制位
    1 PT0 定时器0中断优先级控制位
    0 PX0 外部中断0中断优先级控制位
  • 相关阅读:
    隐式类型转换
    STL::allocator rebind
    Proxy Class(代理类)
    C++ 没有合适的默认构造函数(无参数构造函数)
    E
    C
    Multiplication Puzzle POJ
    Brackets POJ
    Halloween Costumes LightOJ
    ACwing 139. 回文子串的最大长度(二分+Hash)
  • 原文地址:https://www.cnblogs.com/hgyzm/p/14348403.html
Copyright © 2011-2022 走看看