第1章 日立16位单片机 1
1.1 日立16位单片机概况 1
1.2 H8S/2655系列单片机概述 2
1.2.1 概述 2
1.2.2 管脚定义 4
1.2.3 框图 8
第2章 CPU和指令系统 10
2.1 寄存器结构 10
2.1.1 CPU的寄存器 10
2.1.2 通用寄存器 10
2.1.3 控制寄存器 11
2.1.4 寄存器初始值 12
2.2 数据格式 12
2.2.1 通用寄存器数据格式 12
2.2.2 存储器数据格式 13
2.3 CPU运行格式 14
2.3.1 CPU运行模式概述 14
2.3.2 MCU运行模式 15
2.3.3 模式控制寄存器(MDCR) 16
2.3.4 系统控制寄存器(SYSCR) 17
2.3.5 运行模式描述 17
2.3.7 每种运行方式下的存储器映像 19
2.3.6 每种运行模式下的引脚功能 19
2.4 寻址方式和有效地址计算 20
2.4.1 指令系统中使用符号 20
2.4.2 寻址方式与有效地址计算 21
2.5 H8S/2655系列单片机指令系统 23
2.5.1 指令系统概述 23
2.5.2 基本指令格式 23
2.5.3 指令功能分类列表 23
2.5.4 指令表 35
3.1 概述 37
第3章 H8S/2655系列交叉汇编与程序设计 37
3.2 程序元素 38
3.2.1 源语句格式 38
3.2.2 常数 38
3.2.3 表达式 39
3.3 编程基本构件 42
3.3.1 段 43
3.3.2 外部引用和外部定义 44
3.4 汇编指令 45
3.4.1 汇编指令类型 45
3.4.3 段和定位指令 46
3.4.2 CPU类型指令 46
3.4.4 符号处理指令 48
3.4.5 数据块定义指令 50
3.4.6 外部引用和外部定义指令 53
3.4.7 目标模块指令 54
3.4.8 汇编列表文件指令 56
3.4.9 其他指令 59
3.4.10 文件包含指令 60
3.5 宏汇编指令 61
3.5.1 宏汇编定义和宏调用 61
3.5.2 宏汇编指令 62
第4章 处理状态 64
4.1 概述 64
4.2 复位状态 65
4.3 异常处理状态 65
4.3.1 概述 65
4.3.2 复位异常处理 66
4.3.3 跟踪异常处理 68
4.3.4 中断 68
4.3.6 中断和陷阱异常处理后的堆栈情况 69
4.3.7 使用堆栈的注意事项 69
4.3.5 陷阶指令 69
第5章 中断与中断控制器 71
5.1 概述 71
5.1.1 中断控制器功能简介 71
5.1.2 框图 71
5.1.3 管脚设置 72
5.1.4 寄存器设置 72
5.2 寄存器说明 73
5.2.1 系统控制寄存器(SYSCR) 73
5.2.3 中断优先级寄存器A~K(IPRA~IPRK) 74
5.2.2 中断控制寄存器A~C(ICRA~ICRC) 74
5.2.4 IRQ中断使能寄存器(IER) 75
5.2.5 IRQ检测控制寄存器ISCRH和ISCRL 75
5.2.6 IRQ状态寄存器(ISR) 76
5.3 中断源 77
5.3.1 外部中断 77
5.3.2 内部中断 78
5.3.3 中断异常处理向量表 78
5.4 中断操作 78
5.4.1 中断控制模式和中断操作 78
5.4.2 中断控制模式0 80
5.4.3 中断控制模式1 80
5.4.4 中断控制模式2 83
5.4.5 中断控制模式3 84
5.4.6 中断异常处理时序 86
5.4.7 中断响应时间 86
5.5 使用说明 88
5.5.1 产生中断和禁止中断之间的竞争 88
5.5.2 禁止中断的指令 89
5.5.3 禁止中断的情况 89
5.5.4 在EEPMOV指令执行过程中的中断 89
5.6 中断触发的DTC和DMAC 89
5.7 中断举例 89
6.1 概述 91
第6章 总线控制器 91
6.2 寄存器 92
6.2.1 总线宽度控制寄存器(ABWCR) 92
6.2.2 访问状态控制寄存器(ASTCR) 92
6.2.3 等待控制寄存器(WCRH,WCRL) 93
6.2.4 总线控制寄存器H(BCRH) 93
6.2.5 总线控制寄存器L(BCRL) 95
6.2.6 存储器控制寄存器(MCR) 96
6.2.7 DRAM控制寄存器(DRAMCR) 98
6.3 总线控制概述 99
6.2.8 刷新定时器/计数器(RTCNT) 99
6.2.9 刷新时间常数寄存器(RTCOR) 99
6.4 接口说明 100
6.4.1 基本总线接口 100
6.4.2 DRAM接口 102
6.4.3 PSRAM接口 102
6.4.4 猝发ROM接口 103
6.5 总线释放 104
6.6 总线仲裁 104
7.1 概述 106
第7章 DMA控制器 106
7.2 寄存器 107
7.2.1 存储器地址寄存器(MARA和MARB) 107
7.2.2 I/O地址寄存器(IOARA,IOARB) 107
7.2.3 传送计数寄存器(ETCRA,ETCRB) 108
7.2.4 DMA控制寄存器(DMACRA,DMACRB) 108
7.2.5 DMA波段控制寄存器(DMABCR) 112
7.2.6 DMA写允许寄存器(DMAWER) 114
7.2.7 DMA结束控制寄存器(DMATCR) 115
7.3.1 顺序模式 116
7.3.2 空闲模式 116
7.2.8 模块中止控制寄存器(MSTPCR) 116
7.3 操作 116
7.3.3 循环模式 117
7.3.4 单地址模式 118
7.3.5 普通模式 118
7.3.6 块传送模式 119
7.3.7 DMAC激活源 120
7.4 中断 120
第8章 数据传送控制器 121
8.1 概述 121
8.2.1 DTC模式寄存器A(MRA) 122
8.2 寄存器 122
8.2.2 DTC模式寄存器B(MRB) 123
8.2.3 DTC源地址寄存器(SAR) 124
8.2.4 DTC目标地址寄存器(DAR) 124
8.2.5 DTC传送计数寄存器A(CRA) 124
8.2.6 DTC传送计数寄存器B(CRB) 124
8.2.7 DTC允许寄存器(DTCER) 124
8.2.8 DTC向量寄存器(DTVECR) 126
8.2.9 模块中止控制寄存器(MSTPCR) 126
8.3 操作 126
8.3.1 概述 126
8.3.2 DTC使用过程 127
8.4 中断 129
第9章 I/O口 130
9.1 概述 130
9.2 寄存器 130
9.3 I/O口应用举例 133
第10章 8位定时器 134
10.1 概述 134
10.1.1 特性 134
10.1.2 方框图 134
10.1.3 寄存器配置 135
10.2.2 时间常数寄存器A0、A1、B0、B1(TCORA0,TCORA1,TCORB0,TCORB1) 136
10.2.3 时间控制寄存器0和1(TCR0,TCR1) 136
10.2 寄存器简介 136
10.2.1 定时器计数器0和1(TCNTO,TCNT1) 136
10.2.4 定时器控制/状态寄存器0和1(TCSR0,TCSR1) 137
10.2.5 模块终止控制寄存器(MSTPCR) 139
10.3 运行 139
10.3.1 TCNT增量计数时序 139
10.3.2 比较匹配事件时序 139
10.3.3 溢出标志位(OVF)置位的时序 141
10.3.4 串联运行 141
10.5 应用举例 142
10.4 中断源 142
10.6 使用注意事项 143
第11章 16位定时器脉冲单元(TPU) 145
11.1 概述 145
11.1.1 特点 145
11.1.2 框图 147
11.1.3 寄存器的配置 147
11.2 寄存器描述 149
11.2.1 定时器控制寄存器(TCR) 149
11.2.2 定时器模式寄存器(TMDR) 151
11.2.3 定时器计数器(TCNT) 151
11.2.5 定时器I/O控制寄存器(TIOR) 152
11.2.4 定时器通用寄存器(TGR) 152
11.2.6 定时器中断使能寄存器(TIER) 155
11.2.7 定时器状态寄存器(TSR) 156
11.2.8 定时器启动寄存器(TSTR) 157
11.2.9 定时器同步寄存器(TSYR) 157
11.2.10 模块中止控制寄存器(MSTPCR) 158
11.3 总线控制接口 158
11.3.1 16位寄存器存取操作 158
11.3.2 8位寄存器存取操作 158
11.4.2 基本功能 159
11.4 操作 159
11.4.1 概述 159
11.4.3 同步操作 164
11.4.4 缓冲操作 165
11.4.5 层叠操作 166
11.4.6 PWM模式 166
11.4.7 相计数模式 167
11.5 中断 168
11.5.1 中断源和优先权 168
11.5.2 激活DTC/DMAC和A/D转换器 170
12.1.1 特性 171
12.1.2 方框图 171
第12章 可编程脉冲发生器(PPG) 171
12.1 概述 171
12.1.3 寄存器 172
12.2 寄存器说明 173
12.2.1 下一个数据允许高位寄存器和低位寄存器(NDERH和NDERL) 173
12.2.2 输出数据寄存器高位和低位(PODRH,PODRL) 173
12.2.3 下一个数据高位寄存器和低位寄存器(NDRH,NDRL) 174
12.2.4 NDR地址说明 174
12.2.5 PPG输出控制寄存器(PCR) 174
12.2.6 PPG输出模式寄存器(PMR) 175
12.2.8 模块终止控制寄存器(MSTPCR) 176
12.3 运行 176
12.3.1 概述 176
12.2.7 端口1、端口2数据方向寄存器(P1DDR、P2DDR) 176
12.3.2 普通脉冲输出 177
12.3.3 无重叠式脉冲输出 180
12.3.4 反相脉冲输出 182
12.3.5 由输入捕获信号触发的脉冲输出 182
12.4.1 脉冲输出引脚的功能 183
12.4.2 无重叠式输出的注意事项 183
12.4 使用注意事项 183
第13章 监视定时器 184
13.1 概述 184
13.1.1 特点 184
13.1.2 方框图 184
13.1.3 寄存器的配置 185
13.2 寄存器说明 185
13.2.1 定时器控制/状态寄存器(TCSR) 185
13.2.2 定时计数器TCNT 186
13.2.3 复位控制/状态寄存器(RSTCSR) 186
13.2.4 寄存器地址说明 187
13.3.1 监视定时器模式运行 188
13.3 运行 188
13.3.2 内部定时器模式运行 189
13.4 使用注者事项 190
13.4.1 定时计数器(TCNT)写操作和计数之间的竞争 190
13.4 2 改变CKS2~CKS0的值 190
13.4.3 监规定时器模式与内部定时器模式间切换 190
13.4.4 WDTDVF信号使系统复位 190
13.4.5 监视定时器模式下的内部复位 190
第14章 串行通信接口(SCI) 191
14.1 概述 191
14.2.2 接收数据寄存器(RDR) 192
14.2.3 发送移位寄存器(TSR) 192
14.2 寄存器 192
14.2.1 接收移位寄存器(RSR) 192
14.2.4 发送数据寄存器(TDR) 193
14.2.5 串行方式寄存器(SMR) 193
14.2.6 串行控制寄存器(SCR) 194
14.2.7 单行状态寄存器(SSR) 197
14.2.8 位传输率寄存器(BRR) 199
14.2.9 智能卡方式寄存器(SCMR) 199
14.3.1 异步方式 200
14.2.10 模块停止控制寄存器(MSTPCR) 200
14.3 操作 200
14.3.2 多处理器通信方式 205
14.3.3 时钟同步方式下的操作 208
14.4 SCI中断 209
第15章 智能卡接口 210
15.1 概述 210
15.2 寄存器 211
15.2.1 智能卡方式寄存器(SCMR) 211
15.2.2 串行状态寄存器(SSR) 211
15.3 操作 212
15.3.1 数据格式 213
15.3.2 时钟 214
15.3.3 数据传输操作 214
第16章 A/D和D/A转换 218
16.1 概述 218
16.2 寄存器 219
16.2.1 A/D数据寄存器A~H(ADDRA~ADDRH) 219
16.2.2 A/D控制/状态寄存器(ADCSR) 219
16.2.3 A/D控制寄存器(ADCR) 221
16.2.4 D/A数据寄存器0和1(DADR0,DADR1) 222
16.2.6 模块停止控制寄存器(MSTPCR) 223
16.2.5 D/A控制寄存器(DACR) 223
16.3 A/D操作 224
16.3.1 单通道方式 224
16.3.2 多通道方式 224
16.3.3 单通道扫描方式 225
16.3.4 多通道扫描方式 225
16.3.5 缓冲器操作 226
16.3.6 同时采样操作 226
16.3.8 中断 227
16.4 D/A转换 227
16.3.7 A/D转换时序 227
第17章 时钟脉冲发生器和掉电模式 229
17.1 时钟脉冲发生器 229
17.1.1 框图 229
17.1.2 寄存器描述 229
17.1.3 振荡器 229
17.2 掉电模式 232
17.2.1 操作模式 232
17.2.2 寄存器配置 232
17.3 寄存器说明 233
17.3.1 备用控制寄存器(SBYCR) 233
17.3.3 模块停止控制寄存器(MSTPCR) 234
17.3.2 系统时钟控制寄存器(SCKCR) 234
17.4 中速模式 235
17.5 睡眠模式 236
17.6 模块停止模式 236
17.6.1 模块停止模式 236
17.6.2 使用注意事项 237
17.7 软件备用模式 237
17.7.1 软件备用模式 237
17.7.2 清除软件备用模式 237
17.7.3 设定清除软件备用模式后的振荡器稳定时间 237
17.7.4 软件备用模式应用举例 238
17.7.5 使用注意事项 239
17.8 硬件备用模式 239
17.8.1 硬件备用模式 239
17.8.2 硬件备用模式时序 239
17.9 禁止时钟Ф输出功能 240
第18章 开发系统和实验 241
18.1 E6000仿真系统 241
18.2 Starter Kit练习器 241
18.2.1 概述 241
18.2.2 硬件结构 242
18.2.3 监控命令 244
18.3 Starter Kit实验安排 247
实验一 H8S调试程序的使用 247
实验二 软件编程 248
实验三 I/O端口和8位定时器的使用 249
实验四 使用TPU和PPG控制步进电机 249
实验五 A/D和D/A转换 251
实验六 串行通信实验 252
附录1 指令表 255
1. 数据传送指令 255
2. 算术运算指令 257
3. 逻辑运算指令 259
4. 移位指令 259
5. 位操作指令 261
6. 转移指令 264
7. 系统控制指令 265
8. 数据块传送指令 266
附录2 在各种运行模式下存储器地址映像表 267
附录3 异常向量表 269
附录4 中断向量表 270
附录5 内部I/O寄存器 272