8051中断系统介绍

来源:互联网 发布:交通综合网络规划 编辑:程序博客网 时间:2024/09/21 08:56
 

8051单片机有5个中断源和两个中断优先级,高优先级的中断源可以中断低优先级的服务程序,反之不行。INT0>T0>INT1>T1>串口中断。

8051没有专门的开中断和关中断的指令,中断的开放和关闭是由特殊功能寄存器IE来实现两级控制的。有个总开关EA,然后又有ES,ET1,EX1,ET0,EX0五个开关。为1表示开,为0表示关。

单片机在复位后,IE各位的状态为0,所以CPU处于关中断的状态。对于串口来说,其中断请求被响应后,CPU不能自动清除中断标志。用指令来实现关中断。其他中断源的中断标志在CPU响应中断后自动清除。

中断优先级由IP来控制,PS,PT1,PX1,PT0,PX0,置为1表示高优先级。

外部中断源的中断触发方式通过特殊功能寄存器TCON,IT0:外部中断方式,为0低电平触发;为1负沿触发,由指令来设置;IE0:中断申请,检测到有效中断时,硬件置位,CPU转向中断服务程序时,硬件清零。可见定时器和外部中断的申请标志,在CPU响应中断之后能够自动清除。

编写中断服务程序:

  1. 各中断源的入口地址之间仅仅相隔8各单元,如果中断程序长度超过8各地址单元,应该在入口地址安排一个转移指令,转到足够大空间处;
  2. 若在执行中断服务时需要禁止更高级中断源,需要用软件指令关闭中断,在中断返回之间开中断;
  3. 及时清除那些不能被硬件自动清“0”的中断请求标志,以免产生错误的中断。
原创粉丝点击