ht46r65/ht46c65
rev. 1.80 11 July 14, 2005
中断
这 设备 提供 二 外部 中断, 二 内部的
计时器/事件 计数器 中断, 一个 内部的 时间 根基 在
-
terrupt, 和 一个 内部的 real 时间 时钟 中断. 这 在
-
terrupt 控制 寄存器 0 (intc0;0bh) 和 中断
控制 寄存器 1 (intc1;1eh) 两个都 包含 这 中断
控制 位 那 是 使用 至 设置 这 使能/使不能运转 状态
和 中断 要求 flags.
Once 一个 中断 子例程 是 serviced, 其它 inter
-
rupts 是 所有 blocked (用 clearing 这 EMI 位). 这个
scheme 将 阻止 任何 更远 中断 嵌套. 其它
中断 requests 将 引领 放置 在 这个 间隔,
但是 仅有的 这 中断 要求 标记 将 是 recorded. 如果 一个
确实 中断 需要 servicing 在里面 这 维护
routine, 这 EMI 位 和 这 相应的 位 的 这
INTC0 或者 的 INTC1 将 是 设置 在 顺序 至 准许 中断
嵌套. Once 这 堆栈 是 全部, 这 中断 要求 将
不 是 acknowledged, 甚至 如果 这 related 中断 是 en
-
abled, 直到 这 SP 是 decremented. 如果 立即的 维护
是 desired, 这 堆栈 应当 是 阻止 从 becom
-
ing 全部.
所有 这些 中断 能 支持 一个 wake-向上 函数. 作
一个 中断 是 serviced, 一个 控制 转移 occurs 用
pushing 这 内容 的 这 程序 计数器 面向 这
堆栈 followed 用 一个 branch 至 一个 子例程 在 这 speci
-
fied location 在 这 只读存储器. 仅有的 这 内容 的 这 pro-
gram 计数器 是 pushed 面向 这 堆栈. 如果 这 内容 的
这 寄存器 或者 的 这 状态 寄存器 (状态) 是 改变
用 这 中断 维护 程序 这个 corrupts 这 de-
sired 控制 sequence, 这 内容 应当 是 saved 在
进步.
外部 中断 是 triggered 用 一个 一个 边缘 转变
的 INT0
或者 INT1 (只读存储器 代号 选项: 高 至 低, 低 至
高, 低 至 高 或者 高 至 低), 和 这 related 中断
要求 标记 (eif0; 位 4 的 intc0, eif1; 位 5 的 intc0)
是 设置 作 好. 之后 这 中断 是 使能, 这 堆栈 是
不 全部, 和 这 外部 中断 是 起作用的, 一个 子例程
call 至 location 04H 或者 08H occurs. 这 中断 要求
标记 (eif0 或者 eif1) 和 EMI 位 是 所有 cleared 至 使不能运转
其它 maskable 中断.
这 内部的 计时器/事件 计数器 0 中断 是 最初的
-
ized 用 设置 这 计时器/事件 计数器 0 中断 re
-
quest 标记 (t0f; 位 6 的 intc0), 这个 是 正常情况下
造成 用 一个 计时器 overflow. 之后 这 中断 是 en
-
abled, 和 这 堆栈 是 不 全部, 和 这 T0F 位 是 设置, 一个
子例程 call 至 location 0CH occurs. 这 related inter
-
rupt 要求 标记 (t0f) 是 重置, 和 这 EMI 位 是
cleared 至 使不能运转 其它 maskable 中断.
计时器/事件 计数器 1 是 运作 在 这 一样 manner
但是 它的 related 中断 要求 标记 是 T1F (位 4 的
intc1) 和 它的 子例程 call location 是 10h.
这 时间 根基 中断 是 initialized 用 设置 这 时间
根基 中断 要求 标记 (tbf; 位 5 的 intc1), 那 是
造成 用 一个 regular 时间 根基 信号. 之后 这 中断
是 使能, 和 这 堆栈 是 不 全部, 和 这 TBF 位 是
设置, 一个 子例程 call 至 location 14H occurs. 这 related
中断 要求 标记 (tbf) 是 重置 和 这 EMI 位 是
cleared 至 使不能运转 更远 maskable 中断.
位 非. Label 函数
0 EMI 控制 这 主控 (global) 中断 (1=使能; 0=无能)
1 EEI0 控制 这 外部 中断 0 (1=使能; 0=无能)
2 EEI1 控制 这 外部 中断 1 (1=使能; 0=无能)
3 ET0I 控制 这 计时器/事件 计数器 0 中断 (1=使能; 0=无能)
4 EIF0 外部 中断 0 要求 标记 (1=起作用的; 0=inactive)
5 EIF1 外部 中断 1 要求 标记 (1=起作用的; 0=inactive)
6 T0F 内部的 计时器/事件 计数器 0 要求 标记 (1=起作用的; 0=inactive)
7
为 测试 模式 使用 仅有的.
必须 是 写 作
0
; 否则 将 结果 在 unpredictable 运作.
INTC0 (0bh) 寄存器
位 非. Label 函数
0 ET1I 控制 这 计时器/事件 计数器 1 中断 (1=使能; 0=无能)
1 ETBI 控制 这 时间 根基 中断 (1=使能; 0:无能)
2 ERTI 控制 这 real 时间 时钟 中断 (1=使能; 0:无能)
3, 7
Unused 位, 读 作
0
4 T1F 内部的 计时器/事件 计数器 1 要求 标记 (1=起作用的; 0=inactive)
5 TBF 时间 根基 要求 标记 (1=起作用的; 0=inactive)
6 RTF Real 时间 时钟 要求 标记 (1=起作用的; 0=inactive)
INTC1 (1eh) 寄存器