PIC单片机中断系统详解

需积分: 15 18 下载量 146 浏览量 更新于2024-08-09 收藏 9.82MB PDF 举报
"中断响应在计算机科学,特别是微控制器编程中是一个关键概念,特别是在涉及PIC18F25K22, PIC18F45K22, PIC18LF25K22, PIC18LF45K22等系列芯片时。中断响应涉及到如何处理设备或系统事件,以便在主程序运行的同时处理紧急任务。 9.1 与中档器件的兼容性: 在中断处理中,IPEN位决定了中断优先级功能是否启用。当IPEN位为0(默认状态),中断系统与PIC®系列中档器件保持兼容。在这种兼容模式下,IPRx寄存器的中断优先级位无效,所有中断都会跳转到地址0008h进行处理。INTCON寄存器的PEIE/GIEL位控制外设中断的全局允许,而GIE/GIEH位则控制所有非外设中断源的全局允许。 9.2 中断优先级: 通过将RCON寄存器的IPEN位置1,可以启用中断优先级功能。此时,GIE/GIEH和PEIE/GIEL位被高优先级(GIEH)和低优先级(GIEL)全局中断允许位替换。GIEH置1允许高优先级中断,而GIEL置1则允许低优先级中断,清零则分别禁止相应级别的中断。中断源根据其在IPRx或INTCONx寄存器中的优先级位决定是跳转到0008h(高优先级)还是0018h(低优先级)。 9.3 中断响应: 中断响应时,全局中断允许位被清零以防止新的中断发生。IPEN位为0时,GIE/GIEH位是全局中断允许位;IPEN为1时,GIEH处理高优先级中断,GIEL处理低优先级中断。中断源的标志位、允许位及全局中断允许位均为1时,中断会立即响应。中断服务程序中,必须通过软件清除中断标志位,以防止重复响应。使用“从中断返回”指令RETFIE可以结束中断服务并重新开启中断。 对于外部中断,如INT引脚或PORTB电平变化,中断响应会有3到4个指令周期的延迟。中断标志位的置1不受允许位和全局中断允许位状态影响。 请注意,使用Microchip Technology Inc.的器件时,中文文档仅供参考,最终应以英文原版文档为准。同时,使用Microchip的器件应用于生命支持或生命安全应用需自行承担风险,且需保障Microchip免受任何损害和诉讼。 最后,Microchip的各种商标和技术如dsPIC、MPLAB、PIC等都是Microchip公司的知识产权,未经许可不得擅自使用。"