![](https://csdnimg.cn/release/download_crawler_static/86234848/bg8.jpg)
AT89C51 有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断 TF0、TF1 和 TF2,
两个外部中断(P3。2)和(P3.3),一个片内串行口中断 TI 或 RI。6 个中断源有两级中断优先级,
可形成中断嵌套。它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。
引起 6 个中断源的符号、名称及产生的条件如下:
:外部中断 0,由 P3。2 端口线引入,低电平或下降沿引起;
:外部中断 1,由 P3。3 端口线引入,低电平或下降沿引起;
T0:定时器/计数器 0 中断,由 T0 记满回零引起;
T1:定时器/计数器 1 中断,由 T1 记满回零引起;
TI/RI:串行口 I/O 中断,串行端口完成一帧字符发送/接收后引起中断;
T2:定时器/计数器 2 中断,由 T2 记满回零引起。
在本次设计中采用了定时器/计数器 0 中断,它的中断控制寄存器包括定时器/计数器 0、1 控
制寄存器 TCON 和中断允许控制寄存器 IE.
① 定时器控制寄存器 TCON
TCON 是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下:
各控制位定义如下:TF1:定时器/计数器 1 溢出中断请求标志位.当定时器/计数器 1 计数产生
溢出时,由内部硬件置位 TF1,向 CPU 响应中断并转向该中断服务程序执行时,由硬件内部自动 TF1
清 0。
TR1:定时器/计数器 1 启动/停止位。由软件置位/复位控制定时器/计数器 1 的启动或停止计
数。
TF0:定时器/计数器 0 溢出中断请求标志位。当定时器/计数器 0 计数产生溢出时,由内部硬
件置位 TF0,向 CPU 响应中断并转向该中断服务程序执行时,由硬件内部自动 TF1 清 0。
TR0:定时器/计数器 0 启动/停止位.由软件置位/复位控制定时器/计数器 0 的启动或停止计
数。
IE1:外部中断请求标志位。当 CPU 检测到 INT0 低电平或下降沿且 IT1=1 时,由内部硬件置位
IE1 标志位(IE1=1)向 CPU 请求中断,当 CPU 响应中断并转向该中断服务程序执行时,由硬件内
部将 IE1 清 0。
IE0:外部中断请求标志位.当 CPU 检测到 INT0 低电平或下降沿且 IT0=1 时,由内部硬件置位
IE0 标志位(IE0=1)向 CPU 请求中断,当 CPU 响应中断并转向该中断服务程序执行时,由硬件内
部将 IE0 清 0.