本书介绍瑞萨科技股份公司最近推出的16位M16C/62P单片机的工作原理、性能特点及使用方法。M16C/62P单片机具有高速处理能力,多种接口、丰富的多功能定时器、DMAC、A/D、D/A、CRC校验电路和串行I/O,内置有大容量的ROM或FLASH存储器,是一种具有广阔应用前景的高性能16位单片机。本书详细阐述了该单片机的体系结构和指令系统,详细说明了各种内置硬件电路的组成和使用方法。此外还提供了一些应用示例,使初学者快速入门,并可供设计开发人员参考。
本书适合于具有一定单片机基础知识者自学,可作为大专院校相关专业的高年级学生学习参考,也可用于单片机开发人员的培训教材和参考资料。
本书介绍瑞萨科技股份公司最近推出的16位M16C/62P单片机的工作原理、性能特点及使用方法。M16C/62P单片机具有高速处理能力,多种接口、丰富的多功能定时器、DMAC、A/D、D/A、CRC校验电路和串行I/O,内置有大容量的ROM或FLASH存储器,是一种具有广阔应用前景的高性能16位单片机。本书详细阐述了该单片机的体系结构和指令系统,详细说明了各种内置硬件电路的组成和使用方法。此外还提供了一些应用示例,使初学者快速入门,并可供设计开发人员参考。
本书所配光盘包含瑞萨M16C/62P产品的软、硬件手册,编程指南,以及开发M16C/62P系列产品所必需的各种工具及其使用说明和参考硬件电路。光盘配合本书使用,为中国工程师了解、学习和开发M16C/62P单片机提供了翔实的文档资料和完备的开发环境。
本书具有较强的系统性和实用性,适合于具有一定单片机基础知识者自学,可作为大专院校相关专业的高年级学生学习参考,也可用于单片机开发人员的培训教材和参考资料。
第1章 概要 1
第2章 M16C/62P单片机的硬件结构 6
2.1 概要 6
2.2 中央处理器(CPU) 19
2.3 存储器 22
2.4 SFR 23
2.5 复位 32
2.5.1 硬件复位1 32
2.5.2 低电压检测复位(硬件复位2) 34
2.5.3 软件复位 34
2.5.4 看门狗定时器复位 35
2.5.5 振荡停止检测复位 35
2.5.6 复位后CPU内部状态 35
2.6 电压检测电路 36
2.6.1 低电压检测中断 38
2.6.2 停止模式的限制 40
2.6.3 等待模式的限制 40
2.6.4 冷启动/热启动判断功能 41
2.7 处理器模式 42
2.7.1 处理器模式的类型 42
2.7.2 处理器模式的设定 42
2.8 总线 45
2.8.1 总线模式 45
2.8.2 总线控制 45
2.9 存储空间扩展功能 55
2.9.1 1MB模式 55
2.9.2 4MB模式 56
2.10 时钟发生电路 60
2.10.1 时钟发生电路的种类 60
2.10.2 CPU时钟和外围功能时钟 67
2.10.3 时钟输出功能 69
2.10.4 功耗控制 69
2.10.5 系统时钟的保护功能 76
2.10.6 振荡停止/重新振荡检测功能 77
2.11 保护 79
2.12 中断 80
2.12.1 中断概要 80
2.12.2 中断 90
2.12.3 中断 91
2.12.4 键输入中断 91
2.12.5 地址匹配中断 91
2.12.6 中断注意事项 93
2.13 看门狗定时器 96
2.14 DMAC 98
2.14.1 传送周期 102
2.14.2 DMAC传送周期数 102
2.14.3 DMA允许 104
2.14.4 DMA请求 104
2.14.5 通道的优先顺序和DMA传送时序 105
2.15 定时器 106
2.15.1 定时器A 106
2.15.2 定时器B 118
2.16 用于三相马达控制的定时器功能 125
2.17 串行I/O 134
2.17.1 UARTi(i=0~2) 134
2.17.2 SI/O3和SI/O4 178
2.18 A/D转换器 182
2.18.1 模式说明 186
2.18.2 功能 193
2.19 D/A转换器 196
2.20 CRC运算 197
2.21 可编程I/O端口 200
2.21.1 Pi口方向寄存器(PDi寄存器i=0~13) 206
2.21.2 Pi口寄存器(Pi寄存器i=0~13) 207
2.21.3 上拉控制寄存器0~上拉控制寄存器3(PUR0~PUR3寄存器) 208
2.21.4 端口控制寄存器(PCR寄存器) 210
2.21.5 未使用引脚的处理 210
2.22 闪存版 211
2.22.1 存储器配置 213
2.22.2 闪存改写禁止功能 214
2.22.3 CPU改写模式 215
2.22.4 标准串行输入/输出模式 228
2.22.5 并行输入/输出模式 233
第3章 M16C/62P的指令系统 234
3.1 概述 234
3.2 寻址方式 236
3.2.1 一般的指令寻址 237
3.2.2 特殊的指令寻址 241
3.2.3 位操作指令寻址 245
3.3 指令系统 249
3.3.1 数据传送指令 249
3.3.2 字符串指令 254
3.3.3 算术运算指令 256
3.3.4 逻辑操作指令 266
3.3.5 移位指令 268
3.3.6 位操作指令 271
3.3.7 跳转指令 276
3.3.8 杂类指令 281
3.4 汇编语言程序 288
3.4.1 汇编语言 288
3.4.2 数据的设置和传送 295
3.4.3 乘累加运算 296
3.4.4 BCD码的加减运算 297
3.4.5 I/O口的输入和输出 298
3.4.6 程序的跳转和子程序的调用 299
第4章 M16C/62P群的应用实例 302
4.1 定时器单次触发延迟输出应用实例 302
4.1.1 应用实例的说明 302
4.1.2 操作说明 302
4.1.3 主要寄存器的设定 303
4.1.4 参考程序 305
4.2 键输入中断的应用实例 307
4.2.1 应用实例的说明 307
4.2.2 操作说明 308
4.2.3 主要寄存器的初始设定 308
4.2.4 参考程序 309
4.3 用DMAC进行串行口连续接收的应用实例 311
4.3.1 应用实例的说明 311
4.3.2 连续接收操作说明 311
4.3.3 主要寄存器的初始设定 312
4.3.4 参考程序 316
4.4 实时时钟的应用实例 320
4.4.1 应用实例的说明 320
4.4.2 软件说明 320
4.4.3 流程图 322
4.4.4 参考程序 326
附录A 电气特性 332
附录B M16C/62P系列指令表 335
附录C M16C/62P学习工具包——RSKM16C62P 338