中断系统包括硬件和软件两部分,中断系统的应用主要是根据实际的需要设计相应的中断应用程序。中断应用程序可分为中断初始化和中断服务主程序两部分。 中断的初始化包括设置堆栈指针SP、定义中断优先级、定义外中断触发方式、开放中断和其他相关设置。 (1)设置堆栈指针SP。 保护断点PC地址和保护现场数据均要用到堆栈,应根据所保护的内容设置适宜的堆栈深度。深度要求不高时可维持复位时状态,即SP=07H;如果需要保护的内容较多时,则堆栈要有一定深度,或选SP=60H或50H。 (2)定义中断优先级。 根据中断源的轻重缓急划分其优先级的高低。可用 MOV IP,#XX,或 SETB XX指令来设置中断的优先级。 (3)定义外中断触发方式。 对于外部中断源,还需设置中断触发方式。一般设置边沿触发方式,若外中断信号无法适应,必须采用电平触发方式时,则应在硬件电路上和中断服务程序中采取撤除中断请求状态的措施。 (4)开放中断。 中断允许控制位和总允许要同时开放,可用 MOV IE,#XXH,指令设置,也可用SETBEA和 SETB XX位操作指令设置。 (5)其他相关设置。 除了上述中断初始化之外,还应安排好等待中断或中断发生前主程序应完成的操作内容。