第1天 为什么要学Cortex-MO,Cortex-MO什么样? 1
1.1物联网时代请抛弃51单片机 1
1.1.1物联网时代电子设备发展趋势 1
1.1.2放弃51,学点新东西 2
1.1.3本书主要内容、学习方法和准备资料 2
1.2 ARM Cortex-MO简介 3
1.2.1 ARM和ARM处理器 3
1.2.2 ARM Cortex-MO处理器简介 5
1.2.3 ARM Cortex-MO体系结构 6
1.3程序映像和启动流程 11
1.4 Cortex微控制器软件接口标准(CMSIS) 12
1.5指令集 13
1.6小结 16
第2天 NXP LPC1114亲密接触 17
2.1为什么选NXP LPC1114 17
2.1.1 NXP Cortex-MO系列微控制器 17
2.1.2 NuMicro及其他系列微控制器 18
2.1.3为什么选择LPC1114 19
2.2 NXP LPC 1114体系架构 19
2.2.1 NXP LPC 1114概述 19
2.2.2 NXP LPC1114微控制器结构 19
2.2.3 NXP LPC 1114存储器映射 21
2.3 LPC1114 I/O配置(IOCONFIG) 23
2.4 LPC1114通用目的输入输出口(GPIO) 24
2.5 LPC1114其他寄存器 27
第3天 认识开发板并抛弃开发板 30
3.1开发板简介 30
3.2开发板原理图分析 31
3.2.1 LPC 1114核心电路 31
3.2.2 LED驱动电路 32
3.2.3 RS485通信电路 32
3.2.4 ISP电路(串口转USB电路) 34
3.2.5 E2 PROM电路(I2C总线电路) 35
3.2.6按键电路 36
3.2.7 SWD (JTAG)接口电路 36
3.2.8热敏电阻(ADC)电路 37
3.2.9 Flash读写接口电路(SPIO接口电路) 38
3.2.10 SD卡接口电路 38
3.2.11主板与液晶板接口电路 39
3.2.12触摸屏控制器(XPT2046)电路 40
3.2.13 TFT_LCD液晶屏模块接口电路 42
3.2.14电源接口电路 44
3.3抛弃开发板 45
第4天 Keil MDK开发利器 46
4.1 Keil MDK 4.70a安装 46
4.1.1 Keil MDK集成开发环境简介 46
4.1.2 Keil MDK 4.70a安装 47
4.2新建一个LPC1114工程 48
4.3生成HEX文件 53
4.4程序下载到开发板 55
4.4.1程序下载方式简介 55
4.4.2串口程序自动下载 56
4.4.3 JTAG程序下载(JLINK V8) 58
第5天 CMSIS标准化软件接口 60
5.1 Cortex微控制器软件接口标准(CMSIS)介绍 60
5.1.1 CMSIS简介 60
5.1.2 CMSIS组织结构 61
5.1.3 CMSIS中的文件 62
5.2 CMSIS重要库文件分析 62
5.2.1 stdint.h文件分析 63
5.2.2 lpc11xx.h文件分析 65
5.2.3 core_cm0.h文件分析 80
5.2.4 core_cmInstr.h文件分析 97
5.2.5 core_cmFunc.h文件分析 99
5.2.6 system_lpc11xx.h文件分析 103
5.2.7 system_lpc11xx.c文件分析 104
第6天 程序启动过程深度分析 108
6.1工程入口点 108
6.2 startup_lpc 11xx.s详解 109
6.3启动过程分析 117
第7天 最重要的系统时钟设置 118
7.1时钟设置原理 118
7.1.1系统PLL及主时钟配置 119
7.1.2系统时钟配置 121
7.1.3其他重要设备时钟配置 123
7.2 system_lpc11xx.c程序详解 126
7.3基于Keil MDK的快速主频设置 138
7.4实例:看门狗振荡器作为主时钟输入 139
第8天 灵活的GPIO接口 146
8.1 GPIO复习 146
8.2 GPIO接口控制寄存器复习 146
8.3 LED跑马灯程序设计及详解 151
8.4按键检测程序设计及详解 155
第9天 效率的源泉——中断程序设计 159
9.1一个简单的按键中断程序 159
9.2中断程序设计原理及流程 168
9.3 NVIC中断系统 171
第10天 系统滴答定时器SysTick 175
10.1系统滴答定时器工作原理 175
10.1.1系统滴答定时器结构及寄存器 175
10.1.2系统滴答定时器计数初值计算 178
10.2系统滴答定时器实例详解 178
10.3基于滴答定时器的精确延时函数设计 181
第11天 串口及RS485程序设计 185
11.1 LPC1114串口工作原理 185
11.1.1串口电路简介 185
11.1.2串口通信数据格式 186
11.1.3串口通信速率 187
11.1.4 LPC1114串口通信寄存器介绍 188
11.2查询方式串口收发数据程序设计及详细分析 194
11.3中断方式串口数据接收程序设计及详细分析 198
11.4串口程序测试方法 201
11.5 RS485程序设计 202
11.5.1 RS485简介 202
11.5.2 RS485的几种模式 203
11.5.3 LPC1114中RS485相关寄存器 204
11.5.4 RS485程序设计 205
第12天 时间规划师——通用定时器/计数器 209
12.1 16位通用定时器结构及工作原理 209
12.1.1 16位通用定时器简介 209
12.1.2 16位通用定时器引脚及寄存器 210
12.2 16位定时器基本定时功能程序设计及详细分析 219
12.3 16位定时器基本计数功能程序设计及详细分析 222
12.4基于捕获中断的16位定时器频率检测程序设计及详细分析 224
12.5 PWM输出程序设计 228
第13天 忠实的看门狗 230
13.1看门狗电路工作原理 230
13.1.1看门狗简介 230
13.1.2 LPC1114看门狗定时器工作原理 230
13.2看门狗定时器相关寄存器 231
13.3看门狗基本程序设计及详细分析 234
13.4窗口看门狗程序设计 239
第14天 用ADC感知与度量 244
14.1 LPC1114 ADC介绍 244
14.1.1 LPC1114 ADC简介 244
14.1.2 LPC1114 ADC的转换模式 245
14.1.3 LPC1114 ADC寄存器 245
14.2基于START标志位的转换控制程序设计及详细分析 250
14.3 CAP引脚中断触发转换程序设计及详细分析 257
14.4 MAT触发转换程序设计及详细分析 260
14.5多通道硬件扫描模式转换程序设计与详细分析 263
第15天 I2 C总线读写AT24 C02 268
15.1 I2 C总线基本原理 268
15.1.1 I2 C总线简介 268
15.1.2 I2 C总线信号类型与数据传输过程 269
15.1.3 I2C总线竞争的仲裁 270
15.2 AT24C02芯片介绍 271
15.3 LPC1114 I2C接口及寄存器 272
15.4 I2C读写AT24 C02程序及详解 278
第16天 有用的SPI总线 292
16.1 SPI总线基本原理 292
16.1.1 SPI总线简介 292
16.1.2 LPC 1114 SPI接口引脚及时序 293
16.2 W25Q16芯片介绍 296
16.2.1 W25Q16芯片概述 296
16.2.2 W25Q16 SPI接口运行方式及访问控制 297
16.2.3 W25Q16控制和状态寄存器 298
16.2.4 W25Q16操作命令 298
16.3 LPC1114 SPI接口寄存器(SSP寄存器) 300
16.4基于SPI接口的W25Q16读写程序设计 306
16.4.1 W25Q16原理图 306
16.4.2 W25Q16读写程序 307
第17天 点亮绚丽的LCD世界 321
17.1 TFT LCD液晶显示原理 321
17.2 TFT LCD液晶控制电路说明 322
17.2.1 IL19325液晶驱动芯片介绍 322
17.2.2微处理器与ILI9325接口电路说明 323
17.2.3 ILI9325液晶驱动芯片控制简介 325
17.3 LCD英文显示程序设计及详细分析 327
第18天 节能大招 344
18.1 LPC1114低功耗模式简介 344
18.1.1睡眠模式 345
18.1.2深度睡眠模式 345
18.1.3深度掉电模式 346
18.1.4 LPC1114低功耗模式注意事项 347
18.2 LPC1114低功耗模式相关寄存器 347
18.3睡眠模式程序设计与详细分析 354
18.4深度睡眠模式程序设计与详细分析 357
18.5深度掉电模式程序设计与详细分析 362
第19天 高大上的μC/OS-Ⅱ操作系统 365
19.1 μC/OS-Ⅱ操作系统简介 365
19.2 μC/OS-Ⅱ系统文件结构及功能简介 366
19.2.1 μC/OS-Ⅱ系统文件 366
19.2.2 μC/OS-Ⅱ功能简介 368
19.3 μC/OS-Ⅱ系统任务 369
19.4 μC/OS-Ⅱ信号量与互斥信号量 371
19.5 μC/OS-Ⅱ消息邮箱与消息队列 373
19.6 μC/OS-Ⅱ事件标志组 375
第20天 LPC1114上的μC/OS-Ⅱ裁剪与移植 377
20.1源程序下载 377
20.2 μC/OS-Ⅱ系统裁剪——配置文件os_cfg.h详解 381
20.3 LPC1114上μC/OS-Ⅱ的移植 385
20.3.1第1步:Keil MDK下新建工程 385
20.3.2第2步:修改3个接口文件 388
20.3.3第3步:撰写includes.h、app_cfg.h以及main.c文件 395
20.3.4第4步:配置文件os_cfg.h设置 399
20.4裁剪和移植总结 399
附录A ILI9325指令表 405
附录B 软件接口标准(CMSIS)快速参考 405
参考文献 408