第1章 ARM简介 1
1.1 ARM是什么 1
1.2 单片机RISC技术简介 1
1.3 ARM处理器的发展 2
1.4 ARM处理器的应用 5
1.5 ARM处理器的优点 6
1.6 ARM的优势 6
1.7 ARM未来展望 7
第2章 ARM Cortex-MO内核架构体系 8
2.1 ARM Cortex-MO处理器STM32F051 x特性和结构 8
2.2 ARM Cortex-MO-STM32F051x存储器和外设寄存器边界映射 11
2.3 ARM Cortex-MO-STM32F051x系统配置 14
2.4 ARM Cortex-MO-STM32F051x系列中断控制 18
2.5 ARM Cortex-MO-STM32F051x系列引脚封装 20
第3章 ARM Cortex-MO开发方式及实践第一个入门程序 22
3.1 CMSIS标准简介 22
3.2 ARM Cortex-MO开发环境 24
3.3 ARM Cortex-MO STM32F051x实验设备 25
3.4 STM32F051x系列开发过程的文件管理及项目设置 28
3.5 STM32F0x开发流程 31
3.6 第一个ARM Cortex-MO STM32F051入门程序 31
第4章 C语言简介 39
4.1 C语言的标识符与关键字 39
4.2 数据类型 40
4.3 常量、变量及存储方式 41
4.4 数组 41
4.5 C语言的运算 44
4.6 流程控制 49
4.7 函数 53
4.8 指针 56
4.9 结构体 59
4.10共用体 63
第5章 复位和系统时钟配置 66
5.1 复位 66
5.2 时钟 67
5.3 RCC寄存器 72
5.4 闪亮LED1的第1个实验——关于寄存器读写操作的入门讲解1 92
5.5 闪亮LED1的第2个实验——关于寄存器读写操作的入门讲解2 95
第6章 通用I/O应用 100
6.1 通用I/O特点 100
6.2 GPIO寄存器 106
6.3 I/O口输出实验——闪亮LED1及LED2. 113
6.4 I/O口输入输出实验——键控LED亮灭 117
第7章 中断和事件 123
7.1 嵌套向量中断控制器(NVIC)特点 123
7.2 外部中断和事件控制器(EXTI) 124
7.3 外部和内部中断/事件线路映像 126
7.4 EXTI寄存器 127
7.5 外部按键的中断测试实验 131
7.6 系统节拍定时器特性 134
7.7 系统节拍定时器应用实验——精确的延时 134
第8章 SPI总线特性及TFT显示驱动 137
8.1 TFT- LCD真彩液晶显示器简介 137
8.2 TFT-LCD的信号连线功能 138
8.3 ILI9325的几个重要寄存器及控制命令 138
8.4 TFT-LCD显示的相关设置步骤 142
8.5 TFT-LCD应用程序设计实验1——使彩色液晶屏显示多种颜色及图形 142
8.6 同步串行外设接口 SPI主要特点及扩展功能 155
8.7 SPI功能描述 156
8.8 SPI中断 161
8.9 SPI寄存器 162
8.10 W25X16 SPI Flash存储器 172
8.11中英文显示的原理及相关知识介绍 187
8.12中文字库的下载 188
8.13 ASCII字库的制作 190
8.14 TFT- LCD应用程序设计实验2——使彩色液晶屏显示多种颜色及中英文字符 191
第9章 通用同步异步串行收发器USART 206
9.1 USART功能 206
9.2 USART中断 211
9.3 USART寄存器 212
9.4 USART实验1 231
9.5 USART实验2 234
9.6 USART实验3 238
第10章 RTC实时时钟 243
10.1 RTC模块主要特性 244
10.2 RTC初始化及配置 244
10.3 RTC中断 245
10.4 RTC寄存器 245
10.5 RTC实时时钟实验 260
第11章 定时器和计数器 269
11.1 高级控制定时器(TIM 1) 269
11.2 TIM1主要特性 269
11.3 TIM1寄存器 270
11.4 通用定时器(TIM2和TIM3) 292
11.5 TIM2和TIM3主要功能 293
11.6 TIM2和TIM3寄存器 293
11.7 通用定时器(TIM 14) 311
11.8 TIM14主要特性 312
11.9 TIM14寄存器 312
11.10通用定时器(TIM 15/16/17) 321
11.11 TIM15主要功能 322
11.12 TIM16和TIM 17主要特性 323
11.13 TIM15寄存器 323
11.14 TIM16和TIM 17寄存器 340
11.15基本定时器(TIM6) 354
11.16 TIM6主要特性 354
11.17 TIM6寄存器 355
11.18定时器/计数器实验1 359
11.19定时器/计数器实验2 362
11.20定时器/计数器实验3 365
11.21定时器/计数器实验4 369
第12章 数模转换器DAC 374
12.1 DAC特点 374
12.2 DAC功能设置 375
12.3 DAC寄存器 377
12.4 DAC实验 381
第13章 模数转换器ADC 387
13.1 ADC主要特性 388
13.2 ADC功能及设置 389
13.3 转换的外部触发和触发极性(EXTSEL, EXTEN) 392
13.4 数据对齐 393
13.5 温度传感器 393
13.6 电池电压监测 394
13.7 ADC中断 394
13.8 ADC寄存器 395
13.9 ADC实验 405
第14章 DMA控制器 408
14.1 DMA主要特性 408
14.2 DMA功能 409
14.3 DMA寄存器 415
14.4 DMA实验1 420
14.5 DMA实验2 425
第15章 I2C总线特性与应用 429
15.1 I2C的主要特点 429
15.2 I2C功能描述 429
15.3 I2C寄存器 438
15.4 I2C实验 452
第16章 比较器 454
16.1 比较器主要特性 454
16.2 比较器的寄存器 455
16.3 比较器实验 458
第17章 看门狗定时器特性与应用 466
17.1 独立看门狗(IWWDG) 466
17.2 IWWDG主要特性 466
17.3 IWWDG功能 466
17.4 IWWDG寄存器 468
17.5 窗口看门狗(WWDG) 471
17.6 WWDG主要特性 471
17.7 WWDG功能 471
17.8 WWDG寄存器 473
17.9 独立看门狗IWWDG实验 475
第18章 电阻式触摸屏原理及设计 479
18.1 低电压输入/输出触摸屏控制器ADS7846简介 479
18.2 ADS7846工作原理 481
18.3 ADS7846的控制字 483
18.4 笔中断接触输出 484
18.5 触摸屏实验 484
第19章 无线收发模块NRF24L01特点及使用 495
19.1 NRF24L01主要特性 495
19.2 NRF24L01的结构及引脚功能 495
19.3 NRF24L01工作模式 496
19.4 NRF24L01工作原理 497
19.5 配置字 497
19.6 无线收发实验 498
第20章 文件系统及电子书实验 511
20.1 FatFS文件系统特点 511
20.2 FatFS文件系统分析 511
20.3 FatFS文件系统移植 513
20.4 SD卡的初始化实验 517
20.5 SD卡的文件系统实验 535
20.6 电子书实验 538
第21章 数码相框及GUI实验 547
21.1 简易数码相框的构成和图像文件的处理 547
21.2 数码相框实验 548
21.3 GUI图形界面 550
21.4 GUI实验 551
第22章 RTX Kernel实时操作系统及其应用 569
22.1 RTX Kernel实时操作系统概述 569
22.2 RTX Kernel实时操作系统特点 570
22.3 RTX Kernel实时操作系统的基本功能及进程间的通信 570
22.4 RTX Kernel实时操作系统的任务管理 572
22.5 RTX Kernel实时操作系统的库函数 574
22.6 时间间隔延迟实验 586
22.7 信号标志的发送/接收实验(手动单步运行的实验) 588
22.8 信号标志的发送/接收实验(自动单步运行的实验1) 594
22.9 信号标志的发送/接收实验(自动单步运行的实验2) 599
22.10中断信号标志的发送/接收实验 603
22.11内存池及邮箱的实验1 608
22.12内存池及邮箱的实验2 612
22.13内存池及邮箱的实验3 615
22.14内存池及邮箱的实验4 618
22.15 信号量的传送与接收实验 623
22.16互斥体实验1 625
22.17互斥体实验2 628
22.18触摸屏实验 631
22.19文件系统实验 634
22.20数码相框实验 637
22.21实现较复杂的控制实验 639
第23章 uCOS-Ⅱ实时操作系统的快速移植 645
23.1 uCOS-Ⅱ实时操作系统简介 645
23.2 uCOS-Ⅱ实时操作系统移植 646
参考文献 655