1. 中断源
中断源是指任何引起计算机中断的事件, 一般一台机器允许有许多个中断源.
8051单片机的5个中断源是:
①.外部中断请求0, 由INT0(P3.2)输入;
②.外部中断请求1, 由INT1(P3.3)输入;
③.片内定时器/计数器0溢出中断请求;
④.片内定时器/计数器1溢出中断请求;
⑤.片内串行口发送/接收中断请求.
㈠ 定时器/计数器控制寄存器 TCON
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
TF1 TF0 IE1 IT1 IE0 IT0
·IT0, IT1: 外部中断0, 1触发方式选择位, 由软件设置:
1→下降沿触发方式, INT0/INT1引脚上高到低的负跳变可引起中断;
2→电平触发方式, INT0/INT1引脚上低电平可引起中断.
·IE0, IE1: 外部中断0, 1请求标志位:
当外部中断0, 1依据触发方式满足条件产生中断请求时,由硬件置位(IE0/IE1 = 1);
当CPU响应中断时由硬件清除(IE0/IE1 = 0).
·TF0, TF1: 定时器/计数器0, 1(T/C0, T/C1)溢出中断请求标志:
当T/C0, 1计数溢出时由硬件置位(TF0/TF1 = 1);
当CPU响应中断时由硬件清除(TF0/TF1 = 0).
㈡ 串行口控制寄存器 SCON
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
TI RI
·RI: 串行口接收中断请求标志位:
当串行口接收完一帧数据后请求中断时, 由硬件置位(RI = 1);
RI必须由软件清零.
·TI: 串行口发送中断时, 请求标志位:
当串行口发送完一帧数据后请求中断时, 由硬件置位(TI = 1);
TI必须由软件清零.
2. 中断的控制
中断的控制主要实现中断的开关管理和中断优先级的管理. 这个管理主要通过对特殊功能寄存器
IE和IP的编程实现.
㈠ 中断允许寄存器 IE
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
EA ET2 ES ET1 EX1 ET0 EX0
·EX0, EX1: 外部中断0, 1的中断允许位:
1→外部中断0, 1开中断;
0→外部中断0, 1关中断.
·ET0, ET1: 定时器/计数器0, 1(T/C0, T/C1)溢出中断允许位:
1→T/C0, T/C1开中断;
0→T/C0, T/C1关中断.
·ES: 串行口中断允许位:
1→串行口开中断;
0→串行口关中断.
·ET2: 定时器/计数器2(T/C2)溢出中断允许位:
1→T/C2开中断;
0→T/C2关中断.
·EA: CPU开/关中断控制位:
1→CPU开中断;
0→CPU关中断.
㈡ 中断优先级寄存器 IP
若系统中多个中断源同时请求中断, 则CPU按中断源的优先级别, 由高到低分别响应.
中断源是指任何引起计算机中断的事件, 一般一台机器允许有许多个中断源.
8051单片机的5个中断源是:
①.外部中断请求0, 由INT0(P3.2)输入;
②.外部中断请求1, 由INT1(P3.3)输入;
③.片内定时器/计数器0溢出中断请求;
④.片内定时器/计数器1溢出中断请求;
⑤.片内串行口发送/接收中断请求.
㈠ 定时器/计数器控制寄存器 TCON
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
TF1 TF0 IE1 IT1 IE0 IT0
·IT0, IT1: 外部中断0, 1触发方式选择位, 由软件设置:
1→下降沿触发方式, INT0/INT1引脚上高到低的负跳变可引起中断;
2→电平触发方式, INT0/INT1引脚上低电平可引起中断.
·IE0, IE1: 外部中断0, 1请求标志位:
当外部中断0, 1依据触发方式满足条件产生中断请求时,由硬件置位(IE0/IE1 = 1);
当CPU响应中断时由硬件清除(IE0/IE1 = 0).
·TF0, TF1: 定时器/计数器0, 1(T/C0, T/C1)溢出中断请求标志:
当T/C0, 1计数溢出时由硬件置位(TF0/TF1 = 1);
当CPU响应中断时由硬件清除(TF0/TF1 = 0).
㈡ 串行口控制寄存器 SCON
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
TI RI
·RI: 串行口接收中断请求标志位:
当串行口接收完一帧数据后请求中断时, 由硬件置位(RI = 1);
RI必须由软件清零.
·TI: 串行口发送中断时, 请求标志位:
当串行口发送完一帧数据后请求中断时, 由硬件置位(TI = 1);
TI必须由软件清零.
2. 中断的控制
中断的控制主要实现中断的开关管理和中断优先级的管理. 这个管理主要通过对特殊功能寄存器
IE和IP的编程实现.
㈠ 中断允许寄存器 IE
D7 D6 D5 D4 D3 D2 D1 D0
| | | | | | | |
EA ET2 ES ET1 EX1 ET0 EX0
·EX0, EX1: 外部中断0, 1的中断允许位:
1→外部中断0, 1开中断;
0→外部中断0, 1关中断.
·ET0, ET1: 定时器/计数器0, 1(T/C0, T/C1)溢出中断允许位:
1→T/C0, T/C1开中断;
0→T/C0, T/C1关中断.
·ES: 串行口中断允许位:
1→串行口开中断;
0→串行口关中断.
·ET2: 定时器/计数器2(T/C2)溢出中断允许位:
1→T/C2开中断;
0→T/C2关中断.
·EA: CPU开/关中断控制位:
1→CPU开中断;
0→CPU关中断.
㈡ 中断优先级寄存器 IP
若系统中多个中断源同时请求中断, 则CPU按中断源的优先级别, 由高到低分别响应.