第1章 Flexis系列微控制器概述 1
1.1 微控制器的基本概念 1
1.2 Flexis系列微控制器的特点与优势 2
1.3 Flexis系列微控制器的主要应用 3
第2章 Flexis QE128微控制器基本原理 6
2.1 MC9S08QE128微控制器的基本原理 6
2.1.1 MC9S08QE128的主要特性及内部结构 6
2.1.2 MC9S08QE128的外部引脚及封装 7
2.1.3 MC9S08QE128的存储空间 8
2.1.4 MC9S08QE128复位 10
2.1.5 MC9S08QE128中断 11
2.1.6 系统配置 13
2.2 MCF51QE128微控制器的基本原理 14
2.2.1 MCF51QE128的主要特性及内部结构 14
2.2.2 MCF51QE128的存储空间 15
2.2.3 MCF51QE128复位 16
2.2.4 MCF51QE128中断 16
2.2.5 系统配置 20
第3章 HCS08内核 21
3.1 HCS08内核介绍 21
3.1.1 HCS08内核的特点 21
3.1.2 相关寄存器 21
3.2 寻址方式 23
3.3 指令系统 27
3.3.1 指令集常用术语 27
3.3.2 数据传输类指令 27
3.3.3 算术运算类指令 30
3.3.4 逻辑运算类指令 34
3.3.5 位操作类指令 35
3.3.6 移位类指令 36
3.3.7 程序控制类指令 37
3.3.8 其他指令 41
3.4 HCS08汇编语言基础 41
3.4.1 HCS08汇编语言源程序格式 42
3.4.2 HCS08伪操作指令 43
3.4.3 汇编例程 44
第4章 ColdFire V1内核 46
4.1 ColdFire V1内核介绍 46
4.1.1 ColdFire V1内核的特点 46
4.1.2 相关寄存器 47
4.1.3 用户编程模式 47
4.1.4 管理员编程模式 48
4.2 寻址方式 50
4.3 指令系统 52
4.3.1 指令集中相关符号的定义 52
4.3.2 数据传输类指令 54
4.3.3 程序控制类指令 54
4.3.4 整数运算类指令 55
4.3.5 逻辑操作类指令 56
4.3.6 移位类指令 56
4.3.7 位操作类指令 56
4.3.8 系统控制类指令 57
4.3.9 缓存保持类指令 58
第5章 软件集成开发调试 59
5.1 CodeWarrior V6集成开发环境入门 59
5.1.1 创建新工程 59
5.1.2 打开工程 63
5.2 编译链接与仿真调试 64
5.2.1 编译链接 64
5.2.2 仿真和实时调试窗口的使用 64
5.2.3 常用的调试命令 66
5.3 程序的下载及在线调试 67
5.4 ColdWarrior V6环境下的程序编写 68
5.4.1 开发环境文件说明 68
5.4.2 汇编语言源程序的组成 68
5.4.3 C语言源程序的组成 70
5.5 8位机到32位机的轻松移植 70
第6章 并行输入/输出口 73
6.1 A口I/O寄存器 73
6.2 其他端口寄存器 74
6.3 输入输出实例 75
6.3.1 数字量的输入输出 75
6.3.2 8段数码管显示编程 76
6.3.3 液晶显示编程 78
6.4 快速I/O口 83
第7章 键盘及键盘中断 85
7.1 键盘的基本问题 85
7.2 QE128系列单片机的键盘中断模块 86
7.3 键盘实例 87
7.3.1 消除抖动的键盘循环扫描方式编程 88
7.3.2 键盘中断方式编程 90
7.3.3 实例总结 92
第8章 内部时钟源 93
8.1 QE128的系统时钟 93
8.2 内部时钟源的结构及组成 94
8.3 内部时钟源的寄存器 95
8.4 内部时钟源的工作模式 97
8.4.1 7种工作模式 97
8.4.2 各个模式下的总线频率 98
8.4.3 模式转换 99
8.5 时钟源的校准 99
8.6 内部时钟源初始化编程 100
第9章 定时器模块及实时计数器模块 101
9.1 定时器工作原理 101
9.2 定时器模块的寄存器 103
9.3 时钟显示程序编写 105
9.4 输入捕捉功能编程 108
9.5 比较输出功能编程 110
9.6 利用定时器进行赛车速度设置 110
9.7 PWM功能程序编写 114
9.7.1 PWM功能简介 114
9.7.2 利用PWM制作电子琴 115
9.8 实时计数器 118
9.8.1 RTC模块寄存器 118
9.8.2 RTC工作过程 120
9.8.3 与TPM模块的比较 120
第10章 A/D转换模块 121
10.1 A/D转换概述 121
10.2 QE128微控制器中的A/D转换模块 122
10.3 寄存器定义 124
10.4 功能描述 128
10.4.1 输入时钟源选择 128
10.4.2 输入选择和引脚控制 128
10.4.3 转换控制 129
10.4.4 自动比较功能 130
10.4.5 微控制器等待模式 130
10.4.6 微控制器停止模式 131
10.5 A/D转换模块初始化实例 131
10.6 以中断方式实现A/D转换 132
第11章 串行接口 134
11.1 串行接口概述 134
11.2 串行外设接口SPI 134
11.2.1 SPI系统构建 135
11.2.2 SPI模块内部结构 136
11.2.3 SPI模块寄存器 137
11.2.4 SPI功能描述 141
11.2.5 SPI编程实例 142
11.3 IIC总线 144
11.3.1 IIC串行总线协议 145
11.3.2 IIC数据通信 146
11.3.3 IIC时钟同步 148
11.3.4 IIC模块寄存器 149
11.3.5 IIC中断 153
11.3.6 AT24C02 IIC通信实例 154
11.4 串行通信接口SCI 157
11.4.1 异步串行通信的基本知识 157
11.4.2 RS-232C总线标准 158
11.4.3 SCI模块的寄存器 160
11.4.4 QE128中SCI模块的几种操作模式 165
11.4.5 串行通信实例 165
第12章 QE128的低功耗特性 169
12.1 低功耗特性概述 169
12.2 低功耗操作模式 169
12.2.1 低功耗模式 169
12.2.2 与低功耗模式相关的寄存器 170
12.2.3 模式选择方式 172
12.3 外设时钟门控技术 173
12.4 低功耗的气体检测装置 173
第13章 Flexis JM系列微控制器 177
13.1 JM系列概述 177
13.2 MC9S08JM60概述 177
13.2.1 主要特性 177
13.2.2 MC9S08JM60的64引脚封装图 178
13.2.3 JM60的多功能时钟发生器模块 179
13.3 MCF51JM128概述 181
13.3.1 主要特性 181
13.3.2 MCF51JM128的64引脚封装图 182
13.4 JM128的模块 183
13.4.1 密码加速单元 183
13.4.2 载波调制定时器 185
13.4.3 随机数发生器 188
13.4.4 控制器局域网模块 189
第14章 JM系列USB模块 191
14.1 USB简介 191
14.1.1 USB的基本概念 191
14.1.2 USB的信号表达机制与编码 192
14.1.3 USB的接口与端点 194
14.1.4 USB OTG 195
14.2 USB协议 196
14.2.1 包及其格式 196
14.2.2 事务处理机制 198
14.2.3 USB传输实现 199
14.2.4 USB描述符及请求 200
14.3 JM60的USB模块 206
14.3.1 JM60的USB模块简介 206
14.3.2 USB模块寄存器 210
14.4 JM128的USB OTG模块 216
14.4.1 JM128的USB OTG简介 216
14.4.2 USB OTG寄存器 220
14.5 USB通信编程 231
附录A 索引 236
附录B USBDM说明书 239
附录C MCF51JM128综合开发实例 245
附录D TGFSYS教学实验系统 256
参考文献 265