第1章NXP LPC1100系列芯片概述 1
1.1 NXP公司简介 1
1.2 NXP LPC1100系列芯片简介 2
1.2.1 NXP LPC1000系列概述 2
1.2.2 NXP LPC1100系列特点 3
1.2.3 NXP LPC1300系列特点 3
1.2.4 NXP LPC1700系列特点 3
1.2.5 LPC1100/1300/1700系列的区别 4
1.3 NXP LPC1100系列芯片内部结构 4
1.4 NXP LPC1100系列芯片的家族 7
1.5 LPC1100对比8/16位单片机优势 8
1.6 NXP LPC1100系列芯片应用 10
1.7思考与练习 12
第2章ARM Cortex-M0体系结构 13
2.1 ARM系列处理器简介 13
2.1.1 ARM的由来 13
2.1.2 ARM家族 14
2.1.3 ARM体系版本 18
2.2 Cortex-M0处理器 19
2.2.1 Cortex-M0处理器简介 19
2.2.2 Cortex-M0处理器结构 20
2.2.3 Cortex-M0处理器优势 21
2.3数据类型 23
2.4工作模式 23
2.5堆栈 23
2.6存储模式 24
2.7寄存器组 26
2.8思考与练习 29
第3章 解剖NXP LPC1100硬件结构 30
3.1 NXP LPC1100封装和引脚 30
3.2复位系统 32
3.3时钟系统 32
3.3.1振荡器简介 32
3.3.2时钟源的选择 33
3.3.3 PLL工作原理 36
3.4存储器和存储器映射 40
3.4.1片上存储器 40
3.4.2存储器映射 41
3.4.3重映射及引导块 43
3.5思考与练习 45
第4章NXP LPC1100系列低功耗特性管理 46
4.1节能模式简介 46
4.2节能模式的设置 47
4.2.1运行模式 47
4.2.2睡眠模式 48
4.2.3深度睡眠模式 49
4.2.4深度掉电模式 52
4.3低功耗特性分析 54
4.4思考与练习 55
第5章 认识NXP LPC1100的语言 56
5.1编程语言简介 56
5.2汇编语言编程指令 57
5.2.1指令集 57
5.2.2 Cortex-M0指令集 58
5.2.3 Cortex-M0指令结构 58
5.2.4最简单的指令应用——跳转指令 60
5.2.5访问存储器的指令应用 61
5.2.6最重要的指令应用——数据处理指令 65
5.2.7其余指令 70
5.3嵌入式C语言编程 73
5.3.1嵌入式C语言程序结构 73
5.3.2嵌入式C语言基本知识 75
5.4 CMSIS标准 82
5.4.1 CMSIS简介 82
5.4.2 CMSIS架构 83
5.4.3 CMSIS规范 84
5.4.4 CMSIS文件结构 85
5.5思考与练习 89
第6章NXP LPC1100系列开发环境 91
6.1开发环境简介 91
6.2 LPCXpresso-CN开发平台 91
6.2.1 NXP LPCXpresso-CN开发平台硬件资源 91
6.2.2 Keil μVision4开发环境 93
6.2.3 CoLinkEx调试器 99
6.3 LPCXpresso开发平台 110
6.3.1 LPCXpresso硬件资源 110
6.3.2 LPCXpresso IDE开发环境 111
6.3.3 LPC-Link调试器 118
6.4 Flash Magic下载软件 121
6.5 IAR EWARM开发环境 122
6.6实例 123
6.7思考与练习 123
第7章NXP LPC1100系列最小系统 124
7.1最小系统的组成 124
7.2电源电路 125
7.3时钟电路 126
7.4复位电路 127
7.5 SWD调试接口电路 128
7.6 ISP下载接口 128
7.7完整最小系统原理图 130
7.8思考与练习 131
第8章NXP LPC1100系列GPIO接口应用 132
8.1基本输入/输出接口(GPIO) 132
8.1.1 GPIO概述 132
8.1.2 GPIO应用 132
8.2引脚连接模块 134
8.2.1引脚配置 135
8.2.2引脚配置相关寄存器 135
8.2.3 GPIO相关寄存器 141
8.2.4 GPIO读/写操作 142
8.3 GPIO应用程序设计 143
8.4思考与练习 146
第9章NXP LPC1100系列中断应用 147
9.1中断概述 147
9.1.1中断中的术语 147
9.1.2异常概述 148
9.2中断机制 150
9.2.1降低嵌套中断延迟新技术 150
9.2.2中断处理过程 151
9.3中断源 152
9.4中断相关寄存器 153
9.5外部中断 155
9.5.1外部中断概述 155
9.5.2外部中断寄存器 155
9.5.3外部中断相关寄存器的设置 158
9.5.4外部中断应用程序设计 158
9.6思考与练习 164
第10章NXP LPC1100系列定时器应用 165
10.1定时器 165
10.1.1什么是定时器 165
10.1.2 LPC1100定时器的特点 165
10.1.3 LPC1100定时器相关引脚 167
10.1.4 LPC1100定时器相关寄存器 167
10.1.5 LPC1100定时器中断设置方法 174
10.1.6 LPC1100定时器初始化模块 175
10.1.7 LPC1100定时器应用程序设计 177
10.2 SysTick定时器 180
10.2.1概述 180
10.2.2相关寄存器 181
10.2.3 SysTick定时器中断 183
10.2.4 SysTick定时计算 183
10.3看门狗定时器(WDT) 184
10.3.1什么是看门狗定时器 184
10.3.2 LPC1100看门狗定时器简介 185
10.3.3相关寄存器 186
10.3.4看门狗的基本操作 190
10.4思考与练习 190
第11章NXP LPC1100系列UART串行通信应用 191
11.1什么是异步串行通信 191
11.2 LPC1100 UART的特点、引脚及连接方法 193
11.3 UART相关寄存器 196
11.4 UART基本操作例程 207
11.5 UART应用程序设计 209
11.6思考与练习 212
第12章NXP LPC1100系列12C总线接口应用 213
12.1 LPC总线概述 213
12.2 LPC1100I2C总线特性 216
12.3 I2C总线引脚 217
12.4 I2C相关寄存器 217
12.5 I2C操作模式及配置 223
12.6 I2C应用程序设计 234
12.7思考与练习 243
第13章NXP LPC1100系列SSP同步串口应用 244
13.1 SSP总线概述 244
13.2 SSP相关引脚 245
13.3 SSP总线帧传输格式 246
13.4 SSP相关寄存器 250
13.5 SSP中断模式 255
13.6 SSP基本操作例程 257
13.7 SSP应用程序设计 259
13.8思考与练习 262
第14章NXP LPC1100系列ADC应用 263
14.1 ADC概述 263
14.2 LPC1100 ADC特点 267
14.3 ADC引脚 268
14.4 ADC相关寄存器 268
14.5 ADC中断设置 273
14.6 ADC应用程序设计 274
14.7思考与练习 277
第15章LED电子胸牌设计实例 278
15.1 LED电子胸牌简介 278
15.2 12×36 LED胸牌设计要求 279
15.3 12 × 36 LED胸牌设计实现 279
15.3.1硬件电路分析 279
15.3.2软件分析 283
15.3.3 C语言程序清单 285
附录A书中程序使用的函数说明 312
附录B Cortex-M0指令集 315
参考文献 317