基础篇 3
第1章 嵌入式系统简介 3
1.1 概述 3
1.1.1 嵌入式系统的由来 3
1.1.2 嵌入式系统的定义和特点 3
1.1.3 嵌入式系统的组成 4
1.2 嵌入式操作系统 5
1.2.1 嵌入式操作系统的分类 5
1.2.2 嵌入式操作系统的特点 7
1.2.3 典型的嵌入式操作系统 7
1.3 嵌入式处理器 8
1.3.1 嵌入式处理器的分类 8
1.3.2 ARM微处理器 10
习题与思考 12
入门篇 15
第2章 LPC2103简介 15
2.1 概述 15
2.2 LPC2103特性 15
2.3 管脚信息 16
2.4 器件信息 21
习题与思考 21
第3章 SustARM2103硬件说明 22
3.1 功能特点 22
3.2 硬件原理 23
3.2.1 LPC2103 PACK板原理 23
3.2.2 SustARM2103底板原理 23
3.3 硬件结构 28
3.3.1 元件布局图 28
3.3.2 开发板使用说明 30
习题与思考 30
第4章 SustARM2103快速入门 31
4.1 ADS 1.2集成开发环境的组成 31
4.1.1 CodeWarrior IDE简介 32
4.1.2 ISP操作简介 32
4.2 工程的编辑 34
4.2.1 建立工程 34
4.2.2 建立文件 35
4.2.3 添加文件到工程 35
4.2.4 编辑连接工程 36
4.2.5 打开旧工程 37
4.3 LPC2103微控制器工程模板 38
4.3.1 添加LPC2103专用工程模板 39
4.3.2 应用LPC2103模板建立工程 39
4.4 在开发板上运行第一个程序 40
4.4.1 建立工程 41
4.4.2 编译连接工程 42
习题与思考 42
理论篇 45
第5章 GPIO详解 45
5.1 引脚连接模块 45
5.1.1 概述 45
5.1.2 寄存器描述 45
5.1.3 应用示例 47
5.2 GPIO 48
5.2.1 概述 48
5.2.2 寄存器描述 48
5.2.3 GPIO使用注意事项 55
5.2.4 应用示例 57
5.3 高速GPIO与低速GPIO比较 59
习题与思考 61
第6章 向量中断控制器 62
6.1 概述 62
6.2 特性 62
6.3 寄存器描述 62
6.4 中断源 69
6.5 中断处理 70
6.6 FIQ中断 70
6.6.1 FIQ中断描述 70
6.6.2 应用示例 71
6.7 向量IRQ中断 72
6.7.1 向量IRQ中断描述 72
6.7.2 应用示例 73
6.8 非向量中断 74
6.9 应用示例 75
习题与思考 76
第7章 外部中断 77
7.1 概述 77
7.2 寄存器描述 78
7.3 外部中断引脚设置 81
7.4 中断设置 81
7.5 应用示例 84
习题与思考 85
第8章 定时器0和定时器1 86
8.1 概述 86
8.2 特性 86
8.3 引脚描述 87
8.4 寄存器描述 87
8.5 定时器中断 95
8.6 应用示例 97
习题与思考 102
第9章 定时器2和定时器3 103
9.1 概述 103
9.2 特性 103
9.3 管脚描述 104
9.4 寄存器描述 104
9.5 定时器中断 112
9.6 应用示例 113
习题与思考 114
第10章 SPI控制器 115
10.1 特性 115
10.2 引脚描述 115
10.3 SPI总线规范 116
10.4 操作模式 122
10.5 SPI接口中断 125
10.6 应用示例 126
习题与思考 130
第11章 SSP控制器 131
11.1 概述 131
11.2 特性 131
11.3 引脚描述 131
11.4 总线描述 132
11.5 寄存器描述 138
11.6 操作模式 144
11.7 SSP接口中断设置 145
11.8 应用示例 148
习题与思考 151
第12章 UART接口 152
12.1 概述 152
12.2 特性 152
12.3 引脚描述 152
12.4 典型应用 153
12.5 寄存器描述 154
12.6 UART中断 171
12.7 应用示例 175
习题与思考 181
第13章 A/D转换 182
13.1 概述 182
13.2 特性 182
13.3 引脚描述 182
13.4 寄存器描述 183
13.5 操作 188
13.6 A/D转换器中断 189
13.7 应用示例 190
习题与思考 198
第14章 I2C接口 199
14.1 特性 199
14.2 引脚描述 199
14.3 I2C总线规范 199
14.3.1 I2C总线规范简介 199
14.3.2 I2C总线上的位传输 200
14.3.3 数据传输 201
14.3.4 仲裁与时钟发生 202
14.3.5 传输协议 203
14.4 寄存器描述 205
14.5 操作模式 206
14.5.1 主模式I2C 206
14.5.2 从模式I2C 213
14.6 I2C中断 219
14.7 应用示例 220
习题与思考 222
第15章 实时时钟 223
15.1 概述 223
15.2 特性 223
15.3 寄存器描述 223
15.4 闰年计算 224
15.5 RTC使用注意事项 225
15.6 RTC中断 225
15.7 应用示例 226
习题与思考 230
第16章 看门狗 231
16.1 概述 231
16.2 特性 232
16.3 寄存器描述 232
16.4 WDT中断 234
16.5 应用示例 234
习题与思考 236
第17章 锁相环 237
17.1 概述 237
17.2 寄存器描述 238
17.3 锁相环配置过程 238
17.4 锁相环操作 239
17.5 应用示例 240
习题与思考 242
第18章 μC/OS-Ⅱ实时操作系统 243
18.1 实时操作系统 243
18.1.1 内核的类型 243
18.1.2 嵌入式系统的任务 244
18.2 μC/OS-Ⅱ中的任务 244
18.2.1 任务的基本概念 244
18.2.2 任务的状态 245
18.2.3 用户任务代码的一般结构 246
18.2.4 系统任务 247
18.3 任务的创建 248
18.3.1 用函数OSTaskCreate()创建任务 248
18.3.2 用函数OSTaskCreateExt()创建任务 249
18.3.3 创建任务的一般方法 249
18.3.4 μC/OS-Ⅱ在SustARM2103开发板上的实现 250
习题与思考 252
实践篇 255
实验1 流水灯循环显示实验 255
实验2 数码管循环显示实验 263
实验3 按键输入与数码管显示实验 269
实验4 液晶显示实验 278
实验5 快速中断实验 285
实验6 定时器中断实验 288
实验7 异步串行通信口(UART)实验 292
实验8 A/D转换实验 301
实验9 D/A转换实验 308
实验10 实时时钟实验 313
实验11 板载演示实验 320
附录A 开发板图 358
附录B 硬件原理图 359
附录C LPC2000系列微处理器 371
附录D ASCII码对照表 372
参考文献 376