第1章 微控制器概述 1
1.1 微控制器和嵌入式系统 2
1.2 微控制器的特点和发展 2
1.2.1 微控制器的特点 2
1.2.2 微控制器的发展历程 3
1.2.3 微控制器的发展趋势 4
1.3 微控制器的组成概貌 5
1.4 微控制器的应用 8
1.5 微控制器编程语言和开发环境概述 9
1.5.1 微控制器编程语言概述 9
1.5.2 微控制器开发工具概述 9
本章小结 10
习题与思考题 10
第2章 Cortex-M3体系结构与指令集 11
2.1 Cortex-M3处理器结构 12
2.2 Cortex-M3编程模型 14
2.2.1 工作模式和工作状态 14
2.2.2 数据类型和存储器格式 14
2.2.3 寄存器组 15
2.2.4 特权级访问和用户级访问 19
2.2.5 Cortex-M3堆栈 21
2.3 存储器系统 22
2.3.1 存储器映射 22
2.3.2 存储器接口 24
2.3.3 位寻址操作 24
2.4 总线接口和总线矩阵 25
2.4.1 AHB-Lite和APB总线概述 25
2.4.2 总线接口 26
2.4.3 总线矩阵 26
2.5 指令集 27
2.5.1 指令格式 27
2.5.2 指令分类 28
本章小结 37
习题与思考题 37
第3章 微控制器的程序设计基础 39
3.1 汇编语言程序 40
3.1.1 汇编语言格式 40
3.1.2 汇编程序构成 40
3.2 C语言程序设计 41
3.2.1 C语言程序设计的特点 41
3.2.2 C语言程序设计概述 41
3.3 驱动程序库 43
3.3.1 Stellaris驱动程序库概述 43
3.3.2 引导代码概述 44
3.3.3 利用驱动程序库的编程方法 48
3.3.4 StellarisWare图形库 49
3.3.5 基本图形绘制与应用 51
3.3.6 应用控件实现用户输入和显示 53
3.4 微控制器软件开发环境 56
3.4.1 IAR Embedded Workbench微控制器集成开发环境的建立 56
3.4.2 IAR Embedded Workbench集成开发环境的使用 58
3.4.3 IAREmbeddedWorkbench软件仿真 65
本章小结 68
习题与思考题 68
第4章 Cortex-M3微控制器 70
4.1 32位微控制器组成 71
4.2 32位微控制器内部结构 72
4.3 系统控制单元 76
4.3.1 复位控制 76
4.3.2 时钟控制 77
4.3.3 功率控制 80
4.3.4 系统控制 80
4.4 微控制器最小系统 82
4.5 通用输入输出端口 84
4.5.1 GPIO的基本特性 84
4.5.2 GPIO寄存器组 85
4.5.3 GPIO基本操作及相关函数 86
4.5.4 GPIO模式控制及相关函数 88
4.5.5 GPIO引脚配置及相关函数 89
4.5.6 GPIO应用编程实例 90
本章小结 92
习题与思考题 92
第5章 中断/异常系统 94
5.1 中断系统概述 95
5.2 嵌套中断向量控制器 96
5.3 中断/异常类型 98
5.4 向量表 101
5.5 中断/异常优先级 102
5.5.1 优先级 102
5.5.2 优先级分组 102
5.6 中断/异常嵌套 103
5.6.1 异常占先 103
5.6.2 末尾连锁 104
5.6.3 迟来中断处理 104
5.6.4 中断嵌套及优先级处理原则 104
5.7 中断/异常的响应过程 105
5.7.1 中断/异常的响应序列 105
5.7.2 中断/异常返回序列 106
5.8 复位 107
5.9 其他系统异常 108
5.10 外部中断 110
5.11 GPIO中断控制 112
5.12 中断应用编程 113
5.12.1 中断应用程序的基本编写方法 113
5.12.2 GPIO外部中断应用编程 115
本章小结 117
习题与思考题 117
第6章 定时器 119
6.1 定时器概述 120
6.2 通用定时器模块结构与功能 121
6.2.1 GPTM内部结构 121
6.2.2 GPTM功能 123
6.3 GPTM的寄存器及库函数 123
6.3.1 定时器的配置与运行控制 124
6.3.2 定时器中断 127
6.3.3 定时器内容的设置与获取 128
6.4 定时器工作模式 131
6.4.1 32位定时器工作模式 131
6.4.2 16位定时器/计数器工作模式 132
6.5 通用定时器应用实例 136
6.6 看门狗定时器 140
6.6.1 看门狗定时器的结构与功能 140
6.6.2 看门狗定时器的寄存器与库函数 141
6.6.3 看门狗定时器应用编程实例 143
6.7 脉宽调制器 146
6.7.1 PWM内部结构 146
6.7.2 PWM寄存器映射 148
6.7.3 PWM功能描述 149
6.7.4 PWM库函数 152
6.7.5 PWM应用编程实例 154
本章小结 156
习题与思考题 157
第7章 微控制器的常用接口设计 158
7.1 键盘和LED数码管接口设计 159
7.1.1 矩阵式键盘接口设计 159
7.1.2 键盘接口应用编程 160
7.1.3 数码管 164
7.1.4 数码管接口设计实例 164
7.2 LCD/触摸屏接口设计 169
7.2.1 LCD/触摸屏概述 169
7.2.2 QVGA彩色LCD触摸屏接口设计 170
7.2.3 LCD/触摸屏应用编程实例 172
7.3 模拟比较器 174
7.3.1 模拟比较器结构和功能 174
7.3.2 模拟比较器的常见用法 175
7.3.3 模拟比较器寄存器映射 176
7.3.4 内部参考电压编程 176
7.3.5 比较器的配置及库函数 178
7.3.6 模拟比较器应用实例 180
7.4 模/数转换器 186
7.4.1 ADC结构与功能 186
7.4.2 采样序列及相关函数 187
7.4.3 ADC模块控制及相关函数 188
7.4.4 硬件采样平均电路 191
7.4.5 内部温度传感器 191
7.4.6 ADC应用编程实例 192
7.5 数/模转换器 195
7.5.1 数/模转换器概述 195
7.5.2 数/模转换器TLV56 16 196
7.5.3 DAC接口设计与应用实例 196
本章小结 199
习题与思考题 200
第8章 串行总线接口及应用 201
8.1 串行通信基础 202
8.1.1 串行通信基本方式 202
8.1.2 串行通信制式和多机通信 203
8.2 通用异步串行通信 203
8.2.1 UART的内部结构与特性 203
8.2.2 UART的控制及相关函数 204
8.2.3 UART数据收发 206
8.2.4 UART 中断及相关函数 208
8.2.5 UART应用编程实例 209
8.3 同步串行接口 212
8.3.1 同步串行接口概述 212
8.3.2 SSI的内部结构与特性 212
8.3.3 SSI控制及相关函数 213
8.3.4 SSI的FIFO操作及相关函数 217
8.3.5 SSI 中断及相关函数 218
8.3.6 SSI应用实例——Flash存储器扩展和SD卡 219
8.4 I2C接口 225
8.4.1 I2C总线概述 225
8.4.2 I2C的接口功能与内部结构 227
8.4.3 I2C 中断和主机收发形式 229
8.4.4 I2C库函数 230
8.4.5 I2C应用编程 233
8.5 I2S接口 234
8.5.1 I2S总线概述 234
8.5.2 I2S的特性与内部结构 236
8.5.3 I2S发送 237
8.5.4 I2S接收 238
8.5.5 I2S库函数 239
8.5.6 I2S音频芯片及应用实例 241
8.6 USB接口 246
8.6.1 USB概述 246
8.6.2 USB模块内部结构与特性 249
8.6.3 用作USB设备 250
8.6.4 用作USB主机 252
8.6.5 OTG模式 254
8.6.6 USB初始化和配置 255
8.6.7 USB库函数 256
8.6.8 USB OTG应用实例 261
本章小结 274
习题与思考题 275
第9章 网络接口及应用 276
9.1 CAN总线通信接口 277
9.1.1 CAN总线概述 277
9.1.2 CAN模块的特性与内部结构 278
9.1.3 CAN初始化 279
9.1.4 CAN操作 280
9.1.5 CAN发送 281
9.1.6 CAN接收 281
9.1.7 CAN中断处理 283
9.1.8 CAN位处理 283
9.1.9 CAN库函数 284
9.1.10 CAN-bus接口电路与应用编程 286
9.2 以太网接口 292
9.2.1 以太网接口概述 292
9.2.2 以太网控制器特性与内部结构 292
9.2.3 功能描述 293
9.2.4 以太网库函数 296
9.2.5 以太网接口电路与应用编程 297
本章小结 304
习题与思考题 304
第10章 微控制器应用系统设计 305
10.1 微控制器应用系统设计方法 306
10.1.1 设计流程 306
10.1.2 需求分析 306
10.1.3 软件和硬件划分 307
10.1.4 硬件设计 307
10.1.5 软件设计 309
10.2 微控制器应用系统调试 311
10.2.1 调试工具 311
10.2.2 调试方法 312
10.3 环境温度检测设计实例 313
10.3.1 设计要求 313
10.3.2 硬件设计 313
10.3.3 软件设计 314
10.3.4 程序运行实时追踪调试 319
本章小结 322
习题与思考题 322
参考文献 324