第一部分 最小系统设计概述 2
第1章 微控制器基础 2
1.1 微处理器、微控制器和嵌入式系统 2
1.1.1 三种处理器 3
1.1.2 微控制器与嵌入式系统 3
1.2 微控制器的发展 5
1.3 微控制器的体系结构 6
1.3.1 微控制器的基本组成 7
1.3.2 精简指令集微控制和复杂指令集微控制器 9
1.4 微控制器的软件系统 13
1.5 常用微控制器介绍 15
1.5.1 MCS-51微控制器 15
1.5.2 AVR微控制器 17
1.5.3 MSP430系列微控制器 20
1.5.4 MotorolaM68HC系列微控制器 23
1.5.5 NS单片机的COP8系列 26
1.5.6 Zilog微控制器Z8系列 27
1.5.7 瑞萨电子MCU 29
第2章 最小系统设计基础 35
2.1 微控制器最小系统的设计 35
2.1.1 微控制器最小系统的硬件设计方法与步骤 35
2.1.2 最小系统的设计举例 36
2.2 微控制器最小系统的可靠性设计 42
2.2.1 可靠性复位技术 43
2.2.2 电压监测及掉电保护技术 44
2.2.3 指令冗余技术 44
2.3 低功耗系统的电源设计 44
2.3.1 移动终端的电池选择 44
2.3.2 高效率低功耗稳压电路设计 50
2.4 最小系统中低功耗设计 56
2.4.1 微控制器的选择 57
2.4.2 外围芯片的选择 60
2.4.3 软件超低功耗运行管理策略 63
第二部分 MSP430处理器与最小系统设计 66
第3章 MSP430单片机基础 66
3.1 MSP430单片机概述 66
3.1.1 MSP430单片机的结构特点和主要功能 66
3.1.2 MSP430单片机系列产品 67
3.1.3 存储器结构与地址空间 68
3.2 MSP430指令系统与程序设计 70
3.2.1 指令系统 70
3.2.2 MSP430程序设计 76
第4章 MSP430单片机最小系统设计 88
4.1 MSP430FG4618单片机结构及引脚定义 88
4.2 MSP430FG4618最小系统硬件设计 93
4.2.1 MSP430最小系统组成 93
4.2.2 最小系统电源设计 94
4.2.3 系统复位电路设计 94
4.2.4 系统时钟电路设计 97
4.2.5 MSP430功耗管理模块 99
4.3 MSP430常用人机界面接口设计 100
4.3.1 键盘接口 100
4.3.2 数码管显示接口 104
4.3.3 液晶驱动接口 105
4.4 MSP430片内外围模块应用设计 119
4.4.1 定时器 119
4.4.2 模拟比较器 128
4.4.3 SPI同步操作 130
4.4.4 A/D、D/A和DMA 135
第5章 MSP430软件开发工具 141
5.1 IAR Embedded Workbench概述 141
5.2 Embedded Workbench的软件结构 141
5.3 Embedded Workbench的使用 143
5.3.1 创建一个工程及编译链接 143
5.3.2 项目设置 148
5.3.3 调试 153
5.3.4 语言扩展与提高编程效率 158
第6章 MSP430最小系统应用 164
6.1 基于MSP430单片机的并行比较型ADC设计 164
6.2 基于MSP430单片机的数模转换器 167
6.2.1 原理分析 167
6.2.2 硬件设计 168
6.2.3 软件设计 168
6.3 低频数字式相位测量仪 169
6.3.1 任务与要求 170
6.3.2 题目分析 171
6.3.3 方案论证 171
6.3.4 相位测量仪详细设计 173
6.3.5 数字式移相信号发生器的设计 183
6.3.6 作品总结 191
第三部分 TMS320C28x处理器与最小系统设计 195
第7章 TMS320C/F28系列DSP概述 195
7.1 TMS320C/F28系列CPU的体系结构 195
7.1.1 C28x结构概述 195
7.1.2 CPU单元 197
7.2 TMS320C/F28系列DSP的存储器映射与管理 207
7.2.1 C/F28系列DSP的存储器映射及接口 207
7.2.2 C/F28系列DSP片内存储器 209
7.2.3 C/F28系列DSP外部存储器扩展 211
7.3 TMS320C/F28系列DSP指令系统 216
7.3.1 寻址方式 216
7.3.2 汇编指令集 216
7.4 TMS320C/F28的片内外设模块 228
7.4.1 32位定时器模块 229
7.4.2 事件管理器(Event Manager)模块 230
7.4.3 增强的ADC模块 235
7.4.4 增强的控制器局域网(eCAN)模块 238
7.4.5 多通道缓冲串口(McBSP)模块 241
7.4.6 串行通信接口(SCI)模块 244
7.4.7 串行外设(SPI)模块 247
7.4.8 通用功能输入输出(GPIO)模块 249
7.5 TMS320C/F28系列DSP的中断结构 252
7.5.1 CPU中断与复位 252
7.5.2 TMS320C/F28的中断结构 258
第8章 TMS320C/F28系列DSP的最小系统硬件设计 260
8.1 TMS320C/F28系列DSP的引脚定义 261
8.1.1 几种TMS320C/F28芯片硬件特点的对比 261
8.1.2 引脚配置及功能说明 262
8.2 TMS320C/F28芯片的基本硬件设计 271
8.2.1 时钟电路设计 272
8.2.2 看门狗设计 274
8.2.3 系统电源设计 275
8.2.4 系统复位电路设计 276
8.2.5 芯片上重要引脚的处理 277
8.3 TMS320C/F28的外设硬件设计 279
8.3.1 程序、数据和I/O空间的接口设计 279
8.3.2 引导模式与Flash程序选择 280
8.3.3 SCI接口设计 280
8.3.4 SPI接口设计 281
8.3.5 AD、DA接口设计 282
8.3.6 JTAG接口设计 284
第9章 TMS320C/F281x软件开发 286
9.1 DSP的软件开发流程 286
9.1.1 DSP的软件开发流程 286
9.1.2 代码生成工具 288
9.1.3 代码调试工具 289
9.2 TMS320C/F281x的编程 290
9.2.1 汇编源程序的编写 290
9.2.2 汇编伪指令 291
9.2.3 汇编源文件与COFF文件 292
9.2.4 宏及宏的使用 295
9.2.5 C与汇编混合编程 296
9.3 集成编译仿真环境CCS 300
9.3.1 CCS简介 300
9.3.2 CCS的安装与配置 301
9.3.3 CCS基本仿真工具的使用 309
9.3.4 CCS的提高使用——DSP/BIOS 314
第10章 TMS320C/F28系列最小系统具体应用 319
10.1 通信接口的设计 319
10.1.1 TMS320F2812的SPI接口 319
10.1.2 TLC5620I简介 320
10.1.3 TLC5620I与TMS320F2812的接口电路 321
10.1.4 软件设计 322
10.2 基于F281x的直流电机驱动设计 323
10.2.1 系统硬件设计 324
10.2.2 系统控制策略及软件设计 325
10.3 基于F281x的电能质量监测仪设计 327
10.3.1 电能质量测试分析仪器的功能与特点 327
10.3.2 系统硬件设计 327
10.3.3 系统软件设计 328
第四部分 Cortex-M3处理器与最小系统设计 335
第11章 ARM Cortex-M3的处理器硬件结构 335
11.1 Cortex-M3处理器的结构 335
11.1.1 Cortex-M3的组成及基本特点 335
11.1.2 Cortex-M3的存储器 338
11.2 Cortex-M3的编程模型 343
11.2.1 Cortex-M3的操作模式 343
11.2.2 Cortex-M3的操作状态 343
11.2.3 特权访问和用户访问 343
11.2.4 寄存器 344
11.2.5 数据类型 348
11.2.6 存储器格式 348
11.2.7 指令集 349
11.2.8 指令时序 358
11.3 Cortex-M3的中断与异常 360
11.3.1 异常模型 360
11.3.2 异常类型 361
11.3.3 异常优先级及相应操作 362
11.3.4 复位和向量表 368
11.4 Cortex-M3的片上外设 371
11.4.1 片内存储器 371
11.4.2 定时器Timer 374
11.4.3 模数转换器模块ADC 378
11.4.4 控制器局域网模块CAN 380
11.4.5 通用异步串行通信模块UART 382
11.4.6 同步串行通信接口SSI 383
11.4.7 通用输入输出模块GPIO 385
11.4.8 内部集成电路I2C接口 386
11.4.9 模拟比较器 388
11.4.10 微直接存储器访问μDMA 389
11.4.11 JTAG接口设计 392
第12章 ARM Cortex-M3的最小系统硬件设计 394
12.1 Stellaris系列微控制器硬件特点对比 394
12.2 LM3S9B96引脚配置及功能说明 395
12.3 Cortex-M3的硬件设计 409
12.3.1 时钟电路设计 409
12.3.2 系统节拍定时器(SysTick)设计 412
12.3.3 系统电源电路设计 415
12.3.4 系统复位电路设计 418
12.3.5 JTAG/SWD电路设计 421
第13章 ARM Cortex-M3软件开发 423
13.1 LM3S9B96的软件开发 423
13.1.1 编程语言的选择 423
13.1.2 编程模式的选择 423
13.1.3 选择开发环境和工具 424
13.2 RealViewMDK的基本使用 424
13.2.1 MDK的安装 424
13.2.2 MDK的注册 426
13.2.3 μVision IDE主框架窗口 427
13.2.4 工程的创建 428
13.2.5 建立一个新的源文件 430
13.2.6 工程中文件的加入 430
13.2.7 工程基本配置 430
13.2.8 工程的编译链接 431
13.2.9 加载调试 432
第14章 LM3S9B96微控制器最小系统应用 433
14.1 LM3S9B96显示设计 433
14.1.1 LED控制接口 433
14.1.2 背光灯 434
14.1.3 供电 435
14.1.4 软件设计 435
14.2 LM3S9B96定时器设计 438
14.2.1 定时器模块小结 438
14.2.2 软件设计 439
附录 442
附录1 LM3S9B96显示设计程序 442
附录2 LM3S9B96定时器设计程序 444
参考文献 446