第1篇 基础篇 2
第1章ARM Cortex-M0处理器简介 2
1.1 ARM简介 2
1.1.1概述 2
1.1.2体系结构 3
1.1.3发展历程 3
1.2 ARM Cortex-M0简介 5
1.2.1功能 5
1.2.2特点 6
1.2.3结构 6
1.3 ARM Cortex-M0编程模式 8
1.3.1寄存器组织 8
1.3.2工作模式与堆栈使用 9
1.3.3数据类型 9
1.4 ARM Cortex-M0存储器管理 10
1.5 ARM Cortex-M0异常处理 11
1.5.1异常的优先级 11
1.5.2异常处理 11
1.5.3异常向量 12
1.5.4异常进入与返回 12
1.6指令集 13
第2章LPC1100基础知识 17
2.1 LPC1100处理器介绍 17
2.1.1 LPC1100处理器的性能 17
2.1.2 LPC1100处理器系列产品 19
2.1.3 LPC1100处理器的结构 20
2.1.4 LPC1100处理器的存储系统 20
2.2系统控制模块 22
2.2.1复位模块 22
2.2.2时钟模块 23
2.2.3功耗管理 26
2.2.4掉电检测 28
2.2.5 Flash控制 29
2.3 LPC1100中断控制器 29
2.3.1简介 29
2.3.2 NVIC特性 30
2.3.3中断源 30
2.3.4 NVIC的编程 31
2.4 LPC1100处理器引脚配置 32
2.4.1处理器的引脚分布 32
2.4.2 GPIO配置 36
2.5编程与调试 39
2.5.1 LPC1100处理器的开发工具 39
2.5.2 JTAG/SWD调试 40
2.5.3 ISP与IAP的应用 43
2.5.4 IAP的应用 44
2.6 LPC1100与单片机的比较 45
2.6.1 LPC1100的优势 45
2.6.2 LPC1100与其他单片机的比较 46
第3章LPC1100工程新建 50
3.1工程的管理和编程规范 50
3.1.1工程管理 50
3.1.2编程规范 54
3.2 CMSIS标准 57
3.2.1 CMSIS简介 57
3.2.2 CMSIS设计及规范 58
3.3 LPCXpresso开发环境 61
3.3.1 LPCXpresso简介 61
3.3.2 LPCXpresso的安装与配置 62
3.3.3 LPCXpresso工程模块的新建 67
3.3.4 LPCXpresso加载与新建文件 69
3.3.5 LPCXpresso的优点 72
3.4 MDK开发环境 75
3.4.1 MDK与KEIL的关系 75
3.4.2 MDK的安装 76
3.4.3 MDK工程模块的新建 76
3.4.4 MDK硬件配置 82
3.4.5 MDK的应用 88
3.4.6 MDK下启动代码及时钟配置 98
第2篇 应用篇 101
第4章LPC1100处理器最小系统 101
4.1最小系统概述 101
4.2电源电路的设计 102
4.2.1概述 102
4.2.2电路的实现 102
4.2.3注意事项 106
4.3复位电路的设计 106
4.3.1概述 106
4.3.2电路的设计 107
4.3.3注意事项 108
4.4时钟电路的设计 109
4.4.1概述 109
4.4.2电路的实现 109
4.4.3注意事项 109
4.5调试电路 110
4.5.1概述 110
4.5.2电路的实现 110
4.5.3注意事项 110
4.6 LPC1114最小系统原理图 111
第5章LPC1100处理器基本接口 113
5.1 GPIO 113
5.1.1概述 113
5.1.2特性 114
5.1.3 GPIO配置 114
5.1.4 GPIO应用 118
5.2外中断 127
5.2.1概述 127
5.2.2特性 127
5.2.3 GPIO中断寄存器 127
5.2.4 GPIO中断设置 130
5.2.5应用程序的设计 131
5.3定时/计数器 133
5.3.1概述 133
5.3.2特性 134
5.3.3寄存器描述 134
5.3.4定时中断设置 139
5.3.5定时应用 140
5.4 ADC 144
5.4.1概述 144
5.4.2特性 145
5.4.3引脚描述 145
5.4.4寄存器描述 146
5.4.5 A/D转换实验 149
5.5看门狗定时器 152
5.5.1概述 152
5.5.2特性 152
5.5.3功能描述 153
5.5.4寄存器描述 154
5.5.5看门狗应用 155
5.6系统定时器SysTick 158
5.6.1概述 158
5.6.2寄存器描述 158
5.6.3应用程序的设计 160
第6章LPC1100通信总线 163
6.1通用异步收发器UART的应用 163
6.1.1概述 163
6.1.2特性 163
6.1.3引脚描述 164
6.1.4寄存器描述 165
6.1.5串行总线 174
6.1.6应用程序设计 176
6.2 I2C总线接口的应用 182
6.2.1概述 182
6.2.2特点 183
6.2.3引脚描述 184
6.2.4寄存器描述 184
6.2.5 I2C应用 187
6.3 SSP总线的应用 194
6.3.1概述 194
6.3.2特点 195
6.3.3引脚配置 195
6.3.4寄存器描述 196
6.3.5 SD卡介绍 200
6.3.6应用程序设计 202
6.4 1-Wire总线的应用 219
6.4.1概述 220
6.4.2 DS18B20介绍 220
6.4.3硬件电路设计 226
6.4.4应用程序的设计 227
第3篇 拓展篇 237
第7章 简易数码相框的设计 237
7.1数码相框综合分析 237
7.1.1数码相框简介 237
7.1.2功能介绍 238
7.1.3结构框图 238
7.2硬件电路的设计 238
7.2.1处理器电路 238
7.2.2 SD卡的硬件电路 239
7.2.3 TFT液晶模块电路 239
7.2.4电源电路 240
7.2.5简易数码相框整体原理图 241
7.3 TFT彩屏模块的应用 241
7.3.1概述 241
7.3.2 TFT彩屏模块转接电路 242
7.3.3 TFT彩屏模块驱动 246
7.4文件系统 255
7.4.1概述 255
7.4.2 FAT文件系统 256
7.4.3文件系统FatFs的移植 266
7.5 BMP位图显示 274
7.5.1概述 274
7.5.2 BMP结构 274
7.5.3 BMP显示 278
7.6简易数码相框的实现 283
7.6.1代码实现 284
7.6.2数码相框实物图 284
第8章 数字时钟的设计 285
8.1数字时钟综合分析 285
8.1.1概述 285
8.1.2数字时钟功能实现 285
8.1.3数字时钟结构框图 286
8.2数字时钟芯片 287
8.2.1 DS1302概述 288
8.2.2硬件电路的设计 289
8.2.3软件的实现 290
8.3按键与红外遥控接收 297
8.3.1遥控概述 297
8.3.2硬件电路的设计 298
8.3.3程序设计 299
8.4字库设计与应用 304
8.4.1字库制作 305
8.4.2 TFT上显示字符 310
8.5数字时钟的实现 314
8.5.1数字时钟整体电路 314
8.5.2数字时钟软件实现 315
8.5.3数字时钟实物图 315
第9章 多媒体播放器的实现 316
9.1多媒体播放器综合分析 316
9.1.1概述 316
9.1.2多媒体播放器结构框图 317
9.2 LPC1100控制电路 318
9.2.1概述 318
9.2.2 LPC1100控制电路设计 318
9.3多通道数字音频设计 320
9.3.1音效集成芯片PT2314介绍 320
9.3.2 PT2314寄存器说明 324
9.3.3硬件电路的设计 324
9.3.4软件的实现 325
9.4调频收音机的设计 330
9.4.1调频收音机介绍 330
9.4.2硬件电路的设计 332
9.4.3寄存器说明 333
9.4.4软件实现 336
9.5 MP3解码电路的设计 344
9.5.1 MP3解码介绍 344
9.5.2 MP3硬件电路的设计 350
9.5.3 VS1053寄存器说明 350
9.5.4 MP3软件编写 351