一、中断
1.1 中断概述
51单片机有5个中断源。
所谓中断,就是该事件可以打破正在执行的程序,从而进入新的任务中。等处理该事件的任务完成之后,再重新执行刚才被打断的任务。
中断优先级低的任务可以被中断优先级更高的任务打断。平时没有中断时执行的程序优先级最低,可以被任何中断打断。
中断系统结构示意图:
该芯片是stc90c51,因此多了一个外部中断和定时器2的中断。
一般情况下,51单片机有2个定时器中断,2个外部中断和一个串口中断。
每一个中断,都有相应的一个中断使能位。只有中断使能位为1,系统才能响应该中断。
每一个中断,都有两个相应的优先级控制位,可以设置0~3的中断优先级。0为最低,3为最高。
两个优先级相同的中断同时发生时,根据上图的查询顺序来响应。
同优先级的中断不能被另一个中断打断。
中断程序的起始地址存在中断向量表中。
1.2 中断触发方式
当定时器寄存器THx/TLx(x = 0,1)溢出时,溢出标志位TFx(x = 0,1)会被置位,定时器中断发生。
当串行口接收中断请求标志位RI和串行口1发送中断请求标志位TI中的任何一个被置为1后,串行口中断都会产生。
外部中断既可低电平触发,也下降沿触发,采用何种触发方式由TCON寄存器里的控制位决定。
1.3 相关寄存器
<

本文介绍了51单片机的中断系统,包括中断概述、触发方式和相关寄存器。51单片机有5个中断源,中断使能位为1时才能响应中断。中断触发包括定时器、外部中断和串口中断,每个中断有优先级控制。文章还提到了中断程序的起始地址和相关寄存器如IE、IP、IPH、TCON和SCON。最后,给出了在sdcc下的中断初始化编程示例。
最低0.47元/天 解锁文章
1675

被折叠的 条评论
为什么被折叠?



