PIC18F6585/8585/6680/8680
9.0
中断
在PIC18F6585 / 8585 /八千六百八十零分之六千六百八设备具有多
PLE中断源的中断优先级功能
允许每个中断源被分配了一个高
或一个低优先级。高优先级中断向量
地址为000008h ,而低优先级中断向量地址为
地址为000018h。高优先级中断事件将覆盖任何
低优先级中断可能正在进行中。
有13个寄存器,用于控制
中断操作。他们是:
•
•
•
•
•
•
•
RCON
INTCON
INTCON2
INTCON3
PIR1 , PIR2 , PIR3
PIE1 , PIE2和PIE3
IPR1 , IPR2和IPR3
当IPEN位清零(默认状态)时,
中断优先级功能被禁用,并且中断
与PICmicro单片机兼容
®
中档器件。在COM的
相容性模式,中断优先级位的每个源
没有任何效果。 INTCON<6>是PEIE位,
允许/禁止所有外设中断源。
INTCON<7>是GIE位,用于允许/禁止所有
中断源。所有中断均跳转到地址
000008h在兼容模式下。
当响应中断时,全局中断
使能位被清零以禁止其它中断响应。如果
IPEN位清零,这就是GIE位。如果中断优先级
水平使用,这将是GIEH或GIEL位。
高优先级中断源可以中断低
优先级的中断。
返回地址被压入堆栈,
PC装入中断向量地址
( 000008h或000018h ) 。只要在中断服务
程序,中断的源极(S ) ,可以决定
通过查询中断标志位来确定的。中断
标志位必须用软件清零,然后再重新启用
中断以避免重复中断。
在“中断返回”指令,
RETFIE ,
退出
中断服务程序,同时将GIE位( GIEH或GIEL
如果优先级使用) ,从而重新允许中断。
对于外部中断事件,例如INT引脚或
PORTB输入电平变化中断,中断响应延时
将三到四个指令周期。确切的
等待时间是相同的一个或两个周期的指令。
各中断标志位设置的不管
其对应的使能位或GIE位的状态。
所以建议的Microchip头文件
与MPLAB供应
®
IDE中用于符号位
名字在这些寄存器中。这使得汇编器/
编译器能够自动放置的护理
指定寄存器内的这些位。
每一个中断源( INT0除外)有三个位
控制其操作。这些位的功能是:
•标志位来指示中断事件
发生
•使能位,可以让程序执行
跳转到中断向量地址时,
标志位被置位
•优先级位选择高优先级或低优先级
中断优先级功能是通过设置启用
IPEN位( RCON<7> ) 。当中断优先级
使能时,有2位可允许中断
全球范围内。将GIEH位( INTCON<7> )使所有
所有优先级位组中断。将GIEL
位( INTCON<6> ) ,可允许所有所有中断
优先级位清零。当中断标志位,使能位
及相应的全局中断允许位被置位,
中断将立即跳转到地址000008h或
000018h根据优先级。个人
中断可以通过设置相应的被禁用
使能位。
2004年Microchip的科技公司
DS30491C第109页