C51单片机定时器/计数器中断功能详细分析(一)
我们首先需要了解什么是中断?
中断是指CPU在执行某一过程中由于外界原因必须暂停现在的事情,处理别的事情,处理完了再回去执行暂停的事情。
中断的优点?
1.分时操作。
2.实时响应
3.可靠性高
中断中用到的寄存器:
中断优先级寄存器IP
位序号 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
位符号 | -- | -- | -- | PS | PT1 | PX1 | PT0 | PX0 |
描 述 | -- | -- | -- | 串口 | T/C1 | INT1 | T/C0 | INT0 |
IP寄存器:
作用是选择优先级的,解决中断优先级问题。
PX0:外部中断0优先级设定位
PT0:定时/计数器T0优先级设定位
PX1:外部中断0优先级设定位
PT1:定时/计数器T1优先级设定位
PS :串行口优先级设定位
PT2:定时/计数器T2优先级设定位
中断允许寄存器IE
位序号 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
位符号 | EA | -- | -- | ES | ET1 | EX1 | ET0 | EX0 |
描 述 | 全局中断 | -- | -- | 串口中断 | T/C1 | INT1 | T/C0 | INT0 |
IE寄存器:
EX0:外部中断0允许位;
ET0:定时/计数器T0中断允许位;
EX1:外部中断1允许位;
ET1:定时/计数器T1中断允许位;
ES :串行口中断允许位;
EA :CPU中断允许(总允许)位。
52单片机中一共有6个中断源,他们的符号,名称,及产生的条件分别是:
INT0—外部中断0,由P3.2端口引入,低电平或电平下降沿引起
INT1—外部中断1,由P3.3端口引入,低电平或电平下降沿引起
T0—定时器/计数器0中断,由T0计数器计满回零引起
T1—定时器/计数器1中断,由T1计数器计满回零引起
T2—定时器/计数器2中断,由T2计数器计满回零引起
TI/RI—串行口中断,串行端口完成一帧字符发送/接收后引起
中断优先级顺序由高到低:
外部中断0(INT0)->定时/计数器0(T0)->外部中断1(INT1)->
定时/计数器1(T1)->串行口(R1或T1)->定时/计数器2(T2)
首先响应的是优先级高的中断请求,正在中断的不会被新的中断请求打断,正在进行低优先级中断服务,能被高优先级中断请求中断。
中断函数一般形式:
void 函数名() interrupt n
{}
(n代表中断号,中断号是编译器识别不同中断的唯一编号)
中断函数和普通函数的异同:
同:函数的形式非常类似,中断响应过程和普通函数调用过程也非常相似
异:中断函数不需要声明,普通函数需要声明
使用中断函数需要遵循以下规则:
(1)中断函数不能进行参数传递
(2)在任何情况下,都不能直接调用中断函数
中断响应条件
- 中断源有中断请求
- 此中断源的中断允许位为1
- 开中断(即EA=1)
相关文章
- 《安富莱嵌入式周报》第299期:IAR发布嵌入式软开发基础问题PDF,树莓派单片机运行Verilog,纯汇编实现的游戏, 电磁辐射频谱图, 乐鑫ESP32-P4
- Atitit 单片机与嵌入式系统原理与概念 目录 1. 寄存器、数据库,堆栈2 1.1. 寻址模式2 1.2. 指令2 1.3. Watchdog 中断2 2. 软件是如何影响硬件设计的2
- 【蓝桥杯单片机组第八届预赛】— 基础知识客观题
- 【蓝桥杯单片机组第四届模拟题】— “模拟智能灌溉系统”
- 基于单片机的简易温度采集与控制装置
- 【单片机项目与仿真】RS485串行通信
- 【单片机仿真】(十二)指令系统逻辑运算指令 — 逻辑异或指令XRL、累加器清0和取反指令
- 【单片机仿真】(七)寻址方式 — 位寻址
- Arduino单片机使用和开发问题记录
- 电赛校赛-三相逆变电源设计(单片机部分--C52仿真测频+串口发送机与串口接收机)
- 单片机IO口控制12V电压通断,MOS和三极管电路
- 认知篇----嵌入式与单片机的关系之优秀
- 一天掌握C51单片机基础1-计算机数值与MCS51单片机