位置:首页 > IC型号导航 > 首字符P型号页 > 首字符P的型号第65页 > PIC16C712-04/JW > PIC16C712-04/JW PDF资料 > PIC16C712-04/JW PDF资料1第62页

PIC16C712/716
9.10.1
INT中断
9.11
现场保护在中断
在RB0 / INT引脚上的外部中断是边沿触发,
或者,如果INTEDG位( OPTION_REG<6> )设置上升,
或下降,如果INTEDG位被清零。当一个有效边沿
出现在RB0 / INT引脚, FL AG位INTF
( INTCON<1> )被设置。这个中断可以通过禁用
清零允许位INTE ( INTCON<4> ) 。标志位INTF
必须用软件清零,在中断服务程序
齿在重新允许该中断。在INT中断
每天醒来就可以将处理器从休眠,如果INTE位
设定进入休眠状态之前。国际间的地位
中断使能位GIE决定是否时处理
SOR跳转到中断向量被唤醒之后。
参见第9.13节有关休眠模式的详细信息。
9.10.2
TMR0中断
在中断期间,仅将返回的PC值
上堆叠。通常情况下,用户可能希望保存关键稳压
在中断期间的内容,寄存器(即W寄存器和STATUS
注册) 。这将需要在软件中实现。
例9-1保存和恢复了W和STATUS
寄存器。该寄存器W_TEMP ,必须去网络中定义
每家银行必须在相同的偏离来定义
银行基地址(也就是说,如果W_TEMP定义在
0x20的银行为0,它也必须在0XA0在银行的定义
1).
这个例子:
a)
b)
c)
d)
e)
f)
存储W寄存器。
存储在银行0状态寄存器。
存储PCLATH寄存器。
执行中断服务程序代码
(用户生成) 。
恢复STATUS寄存器(和银行选择
位)。
恢复W和PCLATH寄存器。
一个溢流( FFH
→
00H ) ,TMR0寄存器将会设置
FL AG位T0IF ( INTCON<2> ) 。中断可
启用/禁用通过置位/清零允许位T0IE
( INTCON<5> ) 。 (第4.0节)
9.10.3
PORTB INTCON变化
在PORTB<7输入变化: 4>套FL AG位RBIF
( INTCON<0> ) 。中断可以启用/禁用
通过置位/清零允许位RBIE ( INTCON<4> ) 。
( 3.2节)
例9-1:
MOVWF
SWAPF
CLRF
MOVWF
MOVF
MOVWF
CLRF
BCF
MOVF
MOVWF
:
( ISR )
:
MOVF
MOVWF
SWAPF
MOVWF
SWAPF
SWAPF
将STATUS, W和PCLATH寄存器保存在RAM中
;复制W至TEMP寄存器,可以是银行的一个或零
;交换状态保存到W
;银行0 ,不论当时的银行,清除IRP , RP1 , RP0
;保存状况对银行零STATUS_TEMP寄存器
;仅当使用1 ,页2和/或3需要
;保存PCLATH到W
第0页,无论当前页面;
;返回到银行0
;复制FSR为W
;复制FSR从W至FSR_TEMP
W_TEMP
STATUS ,W
状态
STATUS_TEMP
PCLATH ,W
PCLATH_TEMP
PCLATH
STATUS , IRP
FSR ,W
FSR_TEMP
PCLATH_TEMP ,W
PCLATH
STATUS_TEMP ,W
状态
W_TEMP ,女
W_TEMP ,W
;恢复PCLATH
;将W功率PCLATH
;交换STATUS_TEMP注册到W
(集银行原来的状态)
;将W功率状态寄存器
;交换W_TEMP
;交换W_TEMP到W
DS41106A第62页
初步
1999 Microchip的技术公司