★4.4.1  中断初始化程序

★4.4.1 中断初始化程序

MCS-51系列单片机的中断系统是可以通过有关的特殊功能寄存器来进行设置的,中断系统的初始化指的是用户根据各中断源的具体要求,对与中断控制有关的特殊功能寄存器中的各控制位进行赋值。其基本步骤如下:

1)开放相应中断源的中断。

2)设定所用中断源的中断优先级。

3)若为外部中断,则应规定其为低电平还是负边沿的中断触发方式。

MCS-51系列单片机中断系统初始化程序包括设置堆栈、选择中断触发方式(对外中断而言)、开中断及设置中断优先级等。

系统复位或上电后,在中断初始化程序中将SP的值重新设定。通常将SP的值设定在30H以上。另外,系统复位后,定时器控制寄存器TCON、中断允许寄存器IE及中断优先级寄存器IP等均复位为00H,也需要根据中断控制的要求,在中断初始化程序中对这些寄存器编程。

例4-1:假设系统的堆栈为61H~7FH,允许外部0中断、定时器T0中断,并设定INT0为高级中断,采用边沿触发,其他中断为低级中断,则在主程序中的中断初始化程序如下:

MOV SP,#60H;设定堆栈为61H~7FH

SETB PX0;设定INT0为高优先级

SETB IT0;设定INT0为下降沿触发

SETB ET0;开T0中断

SETB EX0;开INT0中断

SETB EA;开CPU中断