AT90S8515
20
overflow 标记 (timer0) 是 设置 (一个) 在 这 计时器/计数器
中断 标记 寄存器 - tifr.
•
位 0 - res: 保留 位
这个 位 是 一个 保留 位 在 这 at90s8515 和 总是
读 零.
这 计时器/计数器 中断 标记 寄存器 - tifr
•
位 7 - tov1: 计时器/counter1 overflow 标记
这 tov1 是 设置 (一个) 当 一个 overflow occurs 在
计时器/counter1. tov1 是 cleared 用 硬件 当 exe-
cuting 这 相应的 中断 处理 vector. alterna-
tively, tov1 是 cleared 用 writing 一个 逻辑 一个 至 这 标记.
当 这 i-位 在 sreg, 和 toie1 (计时器/counter1 在-
流动 中断 使能), 和 tov1 是 设置 (一个), 这
计时器/counter1 overflow 中断 是 executed. 在 pwm
模式, 这个 位 是 设置 当 计时器/counter1 改变 计数-
ing 方向 在 $0000.
•
位 6 - ocf1a: 输出 对比 标记 1a
这 ocf1a 位 是 设置 (一个) 当 对比 相一致 occurs
在 这 计时器/counter1 和 这 数据 在 ocr1a - 输出-
放 对比 寄存器 1a. ocf1a 是 cleared 用 硬件
当 executing 这 相应的 中断 处理 vec-
tor. alternatively, ocf1a 是 cleared 用 writing 一个 逻辑 一个 至
这 标记. 当 这 i-位 在 sreg, 和 ocie1a
(计时器/counter1 对比 相一致 interrupta 使能), 和
这 ocf1a 是 设置 (一个), 这 计时器/counter1 对比
相一致 中断 是 executed.
•
位 5 - ocf1b: 输出 对比 标记 1b
这 ocf1b 位 是 设置 (一个) 当 对比 相一致 occurs
在 这 计时器/counter1 和 这 数据 在 ocr1b - 输出-
放 对比 寄存器 1b. ocf1b 是 cleared 用 硬件
当 executing 这 相应的 中断 处理 vec-
tor. alternatively, ocf1b 是 cleared 用 writing 一个 逻辑 一个 至
这 标记.. 当 这 i-位 在 sreg, 和 ocie1b
(计时器/counter1 对比 相一致 interruptb 使能), 和
这 ocf1b 是 设置 (一个), 这 计时器/counter1 对比
相一致 中断 是 executed.
•
位 4 - res: 保留 位
这个 位 是 一个 保留 位 在 这 at90s8515 和 总是
读 零.
•
位 3 - icf1: - 输入 俘获 标记 1
这 icf1 位 是 设置 (一个) 至 标记 一个 输入 俘获 事件, indi-
cating 那 这 计时器/counter1 值 有 被 transferred
至 这 输入 俘获 寄存器 - icr1. icf1 是 cleared 用
硬件 当 executing 这 相应的 中断 han-
dling vector. alternatively, icf1 是 cleared 用 writing 一个 逻辑
一个 至 这 标记.
•
位 2 - res: 保留 位
这个 位 是 一个 保留 位 在 这 at90s8515 和 总是
读 零.
•
位 1 - tov: 计时器/counter0 overflow 标记
这 位 tov0 是 设置 (一个) 当 一个 overflow occurs 在
计时器/counter0. tov0 是 cleared 用 硬件 当 exe-
cuting 这 相应的 中断 处理 vector. alterna-
tively, tov0 是 cleared 用 writing 一个 逻辑 一个 至 这 标记.
当 这 sreg i-位, 和 toie0 (计时器/counter0 在-
流动 中断 使能), 和 tov0 是 设置 (一个), 这
计时器/counter0 overflow 中断 是 executed.
•
位 0 - res: 保留 位
这个 位 是 一个 保留 位 在 这 at90s8515 和 总是
读 零.
外部 中断
这 外部 中断 是 triggered 用 这 int1 和 int0
管脚. 注意到 那, 如果 使能, 这 中断 将 触发
甚至 如果 这 int0/int1 管脚 是 配置 作 输出. 这个
特性 提供 一个 方法 的 generating 一个 软件 中断.
这 外部 中断 能 是 triggered 用 一个 下落 或者 ris-
ing 边缘 或者 一个 低 水平的. 这个 是 设置 向上 作 表明 在 这
规格 为 这 mcu 控制 寄存器 - mcucr.
当 这 外部 中断 是 使能 和 是 配置 作
水平的 triggered, 这 中断 将 触发 作 长 作 这 管脚 是
使保持 低.
这 外部 中断 是 设置 向上 作 描述 在 这 规格-
ification 为 这 mcu 控制 寄存器 - mcucr.
中断 回馈 时间
这 中断 执行 回馈 为 所有 这 使能
AVR
中断 是 4 时钟 循环 最小. 4 时钟 循环 之后
这 中断 标记 有 被 设置, 这 程序 vector 地址
为 这 真实的 中断 处理 routine 是 executed. 在
这个 4 时钟 循环 时期, 这 程序 计数器 (2 字节) 是
pushed 面向 这 堆栈, 和 这 堆栈 pointer 是 decre-
mented 用 2. 这 vector 是 一个 相关的 jump 至 这 中断
routine, 和 这个 jump takes 2 时钟 循环. 如果 一个 中断
occurs 在 执行 的 一个 multi-循环 操作指南, 这个
操作指南 是 完成 在之前 这 中断 是 served.
一个 返回 从 一个 中断 处理 routine (一样 作 为 一个
子例程 call routine) takes 4 时钟 循环. 在 这些 4
时钟 循环, 这 程序 计数器 (2 字节) 是 popped
后面的 从 这 堆栈, 和 这 堆栈 pointer 是 incremented
用 2. 当 这 avr exits 从 一个 中断, 它 将 总是
返回 至 这 主要的 程序 和 execute 一个 更多 instruc-
tion 在之前 任何 pending 中断 是 served.
便条 那 这 状态 寄存器 - sreg - 是 不 处理 用
这 avr 硬件, neither 为 中断 也不 为 subrou-
位 7 6 5 4 3 2 1 0
$38 ($58)
TOV1 OCF1A OCIFB - ICF1 - TOV0 - TIFR
读/写 r/w r/w r/w R r/w R r/w R
最初的 值 0 0 0 0 0 0 0 0