1、每个PORTB 引脚都带有一个上升沿检测器和一个下降
沿检测器。要使某个引脚检测上升沿,必须将IOCBP 寄
存器中相应的IOCBPx 位置1。要使某个引脚检测下降
沿,必须将IOCBN 寄存器中相应的IOCBNx 位置1。
通过分别将IOCBP寄存器中相应的IOCBPx位和IOCBN
寄存器中相应的IOCBNx 位置1,可将某个引脚配置为
同时检测上升沿和下降沿。
2、见手册的一下内容:
-------------------------------------------
13.3 中断标志
IOCBF 寄存器中的IOCBFx 位是与PORTB 的电平变化
中断引脚对应的状态标志位。如果在相应的已使能引脚
上检测到预期的边沿,则该引脚的状态标志位将置1,且
如果IOCIE 位置1 的话,还会产生中断。INTCON 寄存
器的IOCIF 位反映所有IOCBFx 位的状态。
13.4 清零中断标志
各个状态标志(IOCBFx 位)可通过将其复位为零来清
零。如果在清零操作期间又检测到一个边沿,那么在清
零序列结束后相关状态标志位会置1,而与实际写入的
值无关。
为了确保清零标志时不丢失所检测到的边沿,只需执行
用于屏蔽已知更改位的“逻辑与”操作。以下举例说明
了应执行的序列。
例13-1:
13.5 休眠期间的工作原理
如果IOCIE 位置1 的话,电平变化中断序列会将器件从
休眠模式唤醒。
如果在休眠模式下检测到边沿,则在退出休眠模式执行
第一条指令之前,会更新IOCBF 寄存器。
图13-1: 电平变化中断框图
MOVLW 0xff
XORWF IOCBF, W
ANDWF IOCBF, F
------------------------------------
|