第1章 亿恒16位单片机 1
1.1 概况 1
1.2 C164CI单片机简介 4
1.2.1 主要性能指标 4
1.2.2 引脚定义 5
1.2.3 组成方框图 9
1.3 C164CI单片机特点 10
1.3.1 优化的CPU核 10
1.3.2 功能增强的系统资源 14
1.3.3 片内的周边电路 16
1.3.4 灵活的功率管理 21
1.4 单片机开发工具 21
第2章 体系结构 23
2.1 存储器的组织 23
2.1.1 概述 23
2.1.2 内部ROM区 24
2.1.3 内部RAM和SFR区 25
2.1.4 片内XRAM 29
2.1.5 外部存储空间 29
2.1.6 存储器边界的跨越 30
2.2 中央处理器 31
2.2.1 概述 31
2.2.2 指令的流水线操作 32
2.2.3 位处理和位保护 36
2.2.4 指令状态时间 38
2.2.5 CPU专用寄存器 39
2.3 中断和陷阱功能 52
2.3.1 概述 52
2.3.2 普通的中断处理和PEC服务 55
2.3.3 中断的响应 64
2.3.4 外部中断 67
2.3.5 陷阱功能 70
2.4 时钟生成 74
2.4.1 概述 74
2.4.2 振荡器 75
2.4.3 频率控制 76
2.4.4 振荡器监视器 79
2.4.5 时钟驱动 79
2.5 并行I/O口 80
2.5.1 概述 80
2.5.2 P0口 85
2.5.3 P1口 88
2.5.4 P3口 90
2.5.5 P4口 93
2.5.6 P5口 95
2.5.7 P8口 98
2.5.8 专用功能引脚 100
第3章 指令系统 103
3.1 概述 103
3.2 寻址方式 106
3.2.1 短寻址方式 106
3.2.2 长寻址方式 107
3.2.3 扩展寻址方式 108
3.2.4 间接寻址方式 109
3.2.5 分支目的地址的寻址 110
3.3 指令系统 111
3.3.1 数据传送指令 111
3.3.2 算术运算指令 115
3.3.3 逻辑操作指令 120
3.3.4 移位指令 124
3.3.5 位操作指令 126
3.3.6 比较指令 129
3.3.7 转移指令 131
3.3.8 系统控制指令 137
3.4 汇编语言程序 142
3.4.1 汇编语言 142
3.4.2 伪指令 147
3.4.3 汇编控制命令 148
3.4.4 编程指南 151
3.4.5 初始化例程 161
第4章 系统管理 167
4.1 外部总线 167
4.1.1 概述 167
4.1.2 外部总线模式 168
4.1.3 总线的时序特性 174
4.1.4 外部总线的控制 178
4.1.5 EBC的空闲状态 182
4.1.6 XBUS接口 183
4.2 系统复位 184
4.2.1 概述 184
4.2.2 复位后的状态 186
4.2.3 初始化设置 189
4.2.4 系统的启动配置 191
4.2.5 系统配置的更改 195
4.3 电源管理 197
4.3.1 概述 197
4.3.2 省电模式 198
4.3.3 慢速工作 202
4.3.4 灵活的接口管理 205
4.3.5 可编程的频率输出信号 209
4.4 自举装载 211
第5章 定时器及捕获/比较器 217
5.1 通用定时器单元 217
5.1.1 定时器模块GPT1 218
5.1.2 GPT1的核心定时器T3 218
5.1.3 GPT1的辅助定时器T2和T4 224
5.1.4 程序举例 230
5.2 监视定时器 231
5.3 实时时钟 235
5.4 捕获/比较单元CAPCOM2 238
5.4.1 概述 238
5.4.2 CAPCO定时器T7/T8 240
5.4.3 捕获/比较寄存器 243
5.4.4 程序举例 251
5.5 捕获/比较单元CAPCOM6 253
5.5.1 概述 253
5.5.2 工作情况 256
5.5.3 组合多通道模式 260
5.5.4 工作寄存器 264
5.5.5 中断结构和陷阱功能 270
第6章 串行I/O口 274
6.1 异步/同步串行接口 274
6.1.1 概述 274
6.1.2 异步通信工作方式 276
6.1.3 同步通信工作方式 279
6.1.4 硬件错误检测能力 280
6.1.5 ASC0波特率生成器 281
6.1.6 ASC0中断控制 282
6.1.7 程序举例 284
6.2 高速同步串行接口 286
6.2.1 概述 286
6.2.2 工作情况 290
6.2.3 波特率生成器 294
6.2.4 错误检测 295
6.2.5 SSC中断控制 296
第7章 A/D转换器 298
7.1 概述 298
7.2 模式选择和操作 299
7.3 转换时序控制 305
7.4 A/D转换中断的控制 306
7.5 程序实例 306
第8章 CAN接口 309
8.1 概述 309
8.2 工作情况 313
8.3 报文 318
8.4 CAN模块的控制 324
8.5 CAN应用接口 327
第9章 C语言程序 329
9.1 概述 329
9.2 C166编译器 330
9.2.1 环境设置 331
9.2.2 C编译器命令 331
9.2.3 错误信息 331
9.2.4 输出文件 332
9.2.5 编译控制参数 332
9.3 C语言的扩展 334
9.3.1 关键字 334
9.3.2 存储模型 334
9.3.3 存储类型 335
9.3.4 数据类型 339
9.3.5 中断函数 344
9.3.6 寄存器屏蔽 346
9.3.7 实时任务 348
9.4 C和汇编混合编程 348
9.4.1 参数传递 348
9.4.2 函数的返回值 349
9.4.3 汇编函数中的寄存器使用 350
9.4.4 数据保存格式 351
9.4.5 访问绝对地址内存 353
9.5 DES加密算法程序 354
9.6 CVSD程序编解码程序 364
9.7 I2C总线读写程序 368
第10章 SK-164练习器 376
10.1 概述 376
10.2 快速入门 378
10.2.1 评估板的启动 378
10.2.2 评估板的连接 381
10.2.3 评估板上跳线的设置 385
10.2.4 存储模块 389
10.2.5 闪速存储器 392
10.2.6 CAN接口 392
10.2.7 发光二极管LED 393
附录1 C166族单片机指令一览表 394
附录2 专用寄存器速查表 402