1997 微芯 技术 公司
初步的
ds30264a-页 33
PIC17C75X
6.3 附带的 中断 要求
register1 (pir1) 和 register2 (pir2)
这些 寄存器 包含 这 单独的 flag 位 为 这
附带的 中断.
便条:
这些 位 将 是 设置 用 这 specified con-
dition, 甚至 如果 这 相应的 中断
使能 位 是 cleared (中断 无能), 或者
这 glintd 位 是 设置 (所有 中断 dis-
abled). 在之前 enabling 一个 中断, 这
用户 将 wish 至 clear 这 中断 flag 至
确保 那 这 程序 做 不 immedi-
ately branch 至 这 附带的 中断 ser-
恶行 routine.
图示 6-5: pir1 寄存器 (地址: 16h, bank 1)
r/w - 0 r/w - 0 r/w - 0 r/w - 0 r/w - 0 r/w - 0 r - 1 r - 0
RBIF TMR3IF TMR2IF TMR1IF CA2IF CA1IF TX1IF RC1IF
r = readable 位
w = writable 位
-n = 值 在 por 重置
bit7 bit0
位 7:
RBIF
: portb 中断 在 改变 标记 位
1 = 一个 的 这 portb 输入 changed (软件 必须 终止 这 mismatch 情况)
0 = 毫无 的 这 portb 输入 有 changed
位 6:
TMR3IF
: tmr3 中断 标记 位
如果 capture1 是 enab
led (ca1/pr3 = 1)
1 = tmr3 overflowed
0 = tmr3 did 不 overflow
如果 capture1 是 disab
led (ca1/pr3 = 0)
1 = tmr3 值 有 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr3h:pr3l) 值
0 = tmr3 值 有 不 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr3h:pr3l) 值
位 5:
TMR2IF
: tmr2 中断 标记 位
1 = tmr2 值 有 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr2) 值
0 = tmr2 值 有 不 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr2) 值
位 4:
TMR1IF
: tmr1 中断 标记 位
如果
tmr1 是 在 8-位 模式 (t16 = 0)
1 = tmr1 值 有 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr1) 值
0 = tmr1 值 有 不 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr1) 值
如果
timer1 是 在 16-位 模式 (t16 = 1)
1 = tmr2:tmr1 值 有 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr2:pr1) 值
0 = tmr2:tmr1 值 有 不 rolled 在 至 0000h 从 equalling 这 时期 寄存器 (pr2:pr1) 值
位 3:
CA2IF
: capture2 中断 标记 位
1 = 俘获 事件 occurred 在 rb1/cap2 管脚
0 = 俘获 事件 did 不 出现 在 rb1/cap2 管脚
位 2:
CA1IF
: capture1 中断 标记 位
1 = 俘获 事件 occurred 在 rb0/cap1 管脚
0 = 俘获 事件 did 不 出现 在 rb0/cap1 管脚
位 1:
TX1IF
: usart1 transmit 中断 标记 位 (状态 控制 用 硬件)
1 = usart1 transmit 缓存区 是 empty
0 = usart1 transmit 缓存区 是 全部
位 0:
RC1IF
: usart1 receive 中断 标记 位 (状态 控制 用 硬件)
1 = usart1 receive 缓存区 是 全部
0 = usart1 receive 缓存区 是 empty