ht46r22/ht46c22
rev. 1.10 6 October 2, 2002
执行 流动
函数的 描述
执行 流动
这 系统 时钟 为 这 微控制器 是 获得 从
也 一个 结晶 或者 一个 RC 振荡器. 这 系统 时钟 是
内部 分隔 在 四 非-overlapping clocks. 一个
操作指南 循环 组成 的 四 系统 时钟 循环.
操作指南 fetching 和 执行 是 pipelined 在 此类
一个 方法 那 一个 fetch takes 一个 操作指南 循环 当 de
-
编码 和 执行 takes 这 next 操作指南 循环.
不管怎样, 这 pipelining scheme 导致 各自 instruc
-
tion 至 effectively execute 在 一个 循环. 如果 一个 操作指南
改变 这 程序 计数器, 二 循环 是 必需的 至
完全 这 操作指南.
程序 计数器
PC
这 程序 计数器 (pc) 控制 这 sequence 在
这个 这 说明 贮存 在 程序 只读存储器 是 exe
-
cuted 和 它的 内容 具体说明 全部 范围 的 程序
记忆.
之后 accessing 一个 程序 记忆 文字 至 fetch 一个 在
-
构造 代号, 这 内容 的 这 程序 计数器 是 在
-
cremented 用 1. 这 程序 计数器 然后 点 至 这
记忆 文字 containing 这 next 操作指南 代号.
当 executing 一个 jump 操作指南, conditional skip ex
-
ecution, 加载 PCL 寄存器, 子例程 call, 最初的 re
-
设置, 内部的 中断, 外部 中断 或者 返回 从
子例程, 这 PC manipulates 这 程序 转移 用
加载 这 地址 相应的 至 各自 操作指南.
这 conditional skip 是 使活动 用 说明. Once
这 情况 是 符合, 这 next 操作指南, fetched 在
这 电流 操作指南 执行, 是 discarded 和 一个
dummy 循环 替代 它 至 得到 这 恰当的 操作指南.
否则 proceed 和 这 next 操作指南.
这 更小的 字节 的 这 程序 计数器 (pcl) 是 一个 读
-
能 和 writeable 寄存器 (06h). 移动的 数据 在 这
PCL 执行 一个 短的 jump. 这 destination 将 是
在里面 256 locations.
当 一个 控制 转移 takes 放置, 一个 额外的
dummy 循环 是 必需的.
模式
程序 计数器
*10 *9 *8 *7 *6 *5 *4 *3 *2 *1 *0
最初的 重置 00000000000
外部 中断 00000000100
计时器/事件 计数器 Overflow 00000001000
一个/d 转换器 中断 00000001100
I
2
C 总线 中断 00000010000
Skip PC+2
加载 PCL *10 *9 *8 @7 @6 @5 @4 @3 @2 @1 @0
jump, Call Branch #10 #9 #8 #7 #6 #5 #4 #3 #2 #1 #0
返回 从 子例程 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
程序 计数器
便条: *10~*0: 程序 计数器 位 s10~s0: 堆栈 寄存器 位
#10~#0: 操作指南 代号 位 @7~@0: PCL 位