专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

51单片机的中断体系结构

作者:liuzhangchao   来源:liuzhangchao的空间   点击数:  更新时间:2014年05月23日   【字体:
80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。MCS-51系列单片机中断系统的机构如下:

与中断系统相关的特殊寄存器:
1)中断允许控制寄存器(IE)------ 控制各中断的开放和屏蔽
2)中断优先级控制寄存器(IP)------设置各中断的优先级
3)定时器/计数器控制寄存器(TCON)----定时器和外部中断的控制
4)串行口控制寄存器(SCON)------串行中断的控制

中断类型分为三类:
1)T0、T1是2个定时器/计数器中断,由片内定时器提供;
2)INT0、INT1是2个外部中断,由引脚P3.2和P3.2提供;
3)RX、TX为串行口中断所用,由片内串口提供。





1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2/P3.3引脚上出现有效的中断信号时,中断标志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申请中断。

3、TF0(TCON.5)/TF1(TCON.7),片内定时/计数器T0/T1溢出中断请求标志。当定时/计数器T0/T1发生溢出时,置位TF0/TF1,并向CPU申请中断。

5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。

上述只是向CPU申请中断,如果要得到CPU的相应,还要设置相应的中断允许IE和优先级IP,中断方能的到响应。

1)定时器中断的使用(以定时器0为例)
 ……
 TMOD |= 0x01 | 0x04;  //使用模式1,16位计数器,使用"|"符号可以在使用多个定时器时不受影响     
 TH0=0xFF;      //给定初值
 TL0=245;         //从245计数到255 
 EA=1;            //总中断打开
 ET0=1;           //定时器中断打开
 TR0=1;           //定时器开关打开

void Timer0_isr(void) interrupt 1 using 1    //中断服务程序
{
 TH0=0xFF;      //重新给定初值
 TL0=245; 

 ……
}
2)外部中断的使用(以外部中断0为例)
  …………
  EA=1;          //全局中断开
  EX0=1;         //外部中断0开
  IT0=0;         //电平触发

void ISR_Key(void) interrupt 0 using 1 //中断服务程序
{
…………
}
3)串行口中断的使用
……
关闭窗口

相关文章