第一篇 LPC84X典型硬件系统与芯片级软件设计 3
第1章 ARM Cortex-M0+内核 3
1.1 ARM Cortex-M0+内核特点 3
1.2 ARM Cortex-M0+内核架构 4
1.3 ARM Cortex-M0+存储器配置 5
1.4 ARM Cortex-M0+内核寄存器 7
1.4.1 内核寄存器 7
1.4.2 系统控制寄存器 8
1.5 SysTick定时器 13
1.6 Cortex-M0+异常 15
1.7 嵌套向量中断控制器 16
1.8 本章小结 18
第2章 LPC84X微控制器 19
2.1 LPC845微控制器特点与引脚配置 19
2.2 LPC845微控制器内部结构 30
2.3 LPC845存储器配置 32
2.4 LPC845 NVIC中断 33
2.5 I/O口配置IOCON 36
2.6 通用目的输入/输出口GPIO 39
2.7 系统配置模块SYSCON 42
2.8 本章小结 55
第3章 LPC845典型硬件平台 56
3.1 LPC845核心电路 57
3.2 电源电路 58
3.3 LED驱动电路与蜂鸣器驱动电路 59
3.4 串口通信电路 59
3.5 用户按键电路、用户接口扩展电路和ADC电路 60
3.6 DS18B20电路 61
3.7 ZLG7289B电路 61
3.8 SWD、ISP和复位电路 64
3.9 LCD屏与电阻式触摸屏接口电路 65
3.10 存储器电路 66
3.11 声码器电路 67
3.12 本章小结 67
第4章 LED灯与蜂鸣器控制 68
4.1 LED灯控制 68
4.1.1 LPC845 GPIO口读写访问 69
4.1.2 Keil MDK工程框架 71
4.2 LPC845异常管理 87
4.2.1 LPC845异常 87
4.2.2 LED灯闪烁工程 89
4.3 NVIC中断管理 93
4.3.1 多速率定时器MRT 93
4.3.2 MRT定时器中断实例 97
4.4 蜂鸣器工作原理 100
4.5 LPC845外部中断 102
4.5.1 外部中断与模式匹配工作原理 102
4.5.2 LPC845外部中断实例 112
4.5.3 LPC845模式匹配实例 117
4.6 本章小结 119
第5章 按键与数码管显示 120
5.1 ZLG7289B工作原理 120
5.2 DS18B20工作原理 124
5.3 按键与数码管实例 132
5.4 本章小结 142
第6章 串口通信与声码器 143
6.1 串口通信 143
6.1.1 LPC845串口工作原理 143
6.1.2 串口通信实例 152
6.2 声码器 157
6.2.1 声码器工作原理 157
6.2.2 声码器实例 160
6.3 本章小结 168
第7章 ADC与存储器访问 169
7.1 LPC845微控制器ADC 169
7.1.1 ADC工作原理 169
7.1.2 ADC工程实例 174
7.2 AT24C128存储器 179
7.2.1 AT24C128访问方法 179
7.2.2 AT24C128访问实例 182
7.3 W25Q64存储器 190
7.3.1 W25Q64存储器访问方法 190
7.3.2 LPC845微控制器SPI模块 192
7.3.3 W25Q64访问实例 196
7.4 本章小结 208
第8章 触摸屏与LCD屏 209
8.1 电阻式触摸屏驱动原理 209
8.2 电阻式触摸屏实例 215
8.3 LCD屏驱动原理 217
8.4 LCD屏实例 239
8.5 本章小结 244
第二篇 嵌入式实时操作系统μC/OS-Ⅱ 247
第9章 μC/OS-Ⅱ系统与移植 247
9.1 μC/OS-Ⅱ系统移植 247
9.2 μC/OS-Ⅱ系统结构与配置 260
9.3 μC/OS-Ⅱ系统任务 266
9.3.1 空闲任务 267
9.3.2 统计任务 267
9.3.3 定时器任务 268
9.4 本章小结 268
第10章 μC/OS-Ⅱ任务管理 269
10.1 μC/OS-Ⅱ用户任务 269
10.2 μC/OS-Ⅱ多任务工程实例 274
10.3 统计任务实例 286
10.4 系统定时器 290
10.5 本章小结 293
第11章 信号量与互斥信号量 294
11.1 μC/OS-Ⅱ信号量 294
11.2 μC/OS-Ⅱ互斥信号量 296
11.3 信号量与互斥信号量实例 298
11.4 本章小结 310
第12章 消息邮箱与消息队列 311
12.1 μC/OS-Ⅱ消息邮箱 311
12.2 μC/OS-Ⅱ消息队列 313
12.3 消息邮箱与消息队列实例 315
12.4 本章小结 324
第三篇 嵌入式实时操作系统μC/OS-Ⅲ 327
第13章 μC/OS-Ⅲ系统与移植 327
13.1 μC/OS-Ⅲ发展历程 327
13.2 μC/OS-Ⅲ特点 329
13.3 μC/OS-Ⅲ应用领域 334
13.4 μC/OS-Ⅲ系统组成 335
13.4.1 μC/OS-Ⅲ配置文件 338
13.4.2 μC/OS-Ⅲ内核文件 343
13.5 μC/OS-Ⅲ自定义数据类型 352
13.6 μC/OS-Ⅲ移植 354
13.7 本章小结 362
第14章 μC/OS-Ⅲ任务管理 363
14.1 用户任务 363
14.1.1 任务堆栈与优先级 365
14.1.2 任务控制块 365
14.1.3 任务工作状态 370
14.1.4 用户任务创建过程 372
14.2 多任务工程实例 374
14.3 统计任务 390
14.4 定时器任务 391
14.5 本章小结 395
第15章 信号量、任务信号量和互斥信号量 396
15.1 信号量 396
15.1.1 信号量工作方式 396
15.1.2 信号量实例 397
15.2 任务信号量 409
15.2.1 任务信号量工作方式 409
15.2.2 任务信号量实例 409
15.3 互斥信号量 413
15.3.1 互斥信号量工作方式 413
15.3.2 互斥信号量实例 414
15.4 本章小结 418
第16章 消息队列与任务消息队列 420
16.1 消息队列 420
16.1.1 消息队列工作方式 422
16.1.2 消息队列实例 424
16.2 任务消息队列 432
16.2.1 任务消息队列工作方式 432
16.2.2 任务消息队列实例 433
16.3 本章小结 440
附录A 文件my25q64.c 442
附录B 工程项目索引 448
参考文献 450