第1章 嵌入式系统概论 1
1.1 嵌入式系统 1
1.1.1 嵌入式系统的应用 1
1.1.2 嵌入式系统的定义和特点 3
1.1.3 嵌入式系统的组成 4
1.2 嵌入式处理器 7
1.2.1 简介 7
1.2.2 分类 8
1.2.3 ARM微处理器 8
1.3 嵌入式操作系统 9
1.3.1 基本概念 9
1.3.2 使用嵌入式操作系统的意义 10
1.3.3 常用的嵌入式操作系统 10
1.4 嵌入式系统学习方法 14
习题 14
第2章 LPC1700系列微控制器硬件体系结构 15
2.1 LPC1700系列微控制器简介 15
2.2 LPC1768芯片引脚介绍 17
2.3 时钟管理 27
2.3.1 时钟源选择 27
2.3.2 锁相环PLL0和PLL1 30
2.3.3 时钟分频设置 34
2.3.4 时钟初始化的编程实例 38
2.4 外设功率控制 45
2.5 引脚连接模块 46
习题 53
第3章 LPC1768硬件电路的设计 54
3.1 硬件系统的组成 54
3.2 电源电路的设计 56
3.2.1 电源电路的设计 56
3.2.2 复位电路的设计 58
3.2.3 时钟电路的设计 59
3.2.4 调试电路的设计 60
3.2.5 处理器核心电路设计 60
3.3 外围电路设计 62
3.3.1 USB转串口的设计 62
3.3.2 按键电路 64
3.3.3 指示灯电路 66
3.3.4 蜂鸣器电路 67
3.3.5 模数转换电路 68
3.3.6 液晶显示电路 68
习题 70
第4章 RealViewMDK开发软件的使用 71
4.1 概述 71
4.2 JLINK仿真器介绍 72
4.3 RealViewMDK的安装 72
4.4 RealViewMDK的使用 75
4.4.1 新建工程 76
4.4.2 配置工程编译环境 80
4.4.3 程序编译和下载 88
4.4.4 程序的仿真调试 90
4.5 RealViewMDK的使用技巧 93
习题 94
第5章 通用输入/输出接口 95
5.1 概述 95
5.1.1 特性 95
5.1.2 引脚描述 95
5.2 相关寄存器描述 96
5.3 使用说明 107
5.3.1 使用步骤 107
5.3.2 使用注意事项 107
5.4 应用示例 108
5.4.1 GPIO输出 109
5.4.2 GPIO输入 109
5.5 GPIO的库函数编写 112
习题 118
第6章 中断系统 119
6.1 嵌套向量中断控制器 119
6.1.1 NVIC特性 119
6.1.2 中断源 119
6.1.3 NVIC的编程 121
6.2 外部中断 123
6.2.1 概述 123
6.2.2 相关寄存器描述 124
6.2.3 中断设置 127
6.2.4 使用说明 129
6.2.5 使用注意事项 129
6.2.6 应用示例 130
6.3 GPIO中断 134
6.3.1 概述 134
6.3.2 相关寄存器描述 134
6.3.3 中断设置 137
6.3.4 使用说明 138
6.3.5 GPIO中断和外部中断的区别 138
6.3.6 应用示例 139
习题 140
第7章 定时器/计数器 141
7.1 概述 141
7.1.1 特性 141
7.1.2 引脚描述 141
7.2 相关寄存器描述 142
7.3 使用说明 151
7.3.1 内部结构 151
7.3.2 使用步骤 154
7.3.3 中断设置 156
7.3.4 使用注意事项 158
7.4 使用示例 159
习题 169
第8章 异步串口 171
8.1 概述 171
8.1.1 特性 171
8.1.2 引脚描述 171
8.1.3 典型应用电路 172
8.2 相关寄存器描述 174
8.3 串行通信基本概念 183
8.3.1 异步串行通信的特点 183
8.3.2 关于异步串行通信的准确性讨论 184
8.3.3 UART初始化设置 185
8.4 使用说明 187
8.4.1 内部结构 187
8.4.2 工作原理 188
8.4.3 操作步骤 189
8.5 UART中断 189
8.6 使用示例 193
8.7 串口通信的上位机程序开发 199
习题 201
第9章 模数转换器 202
9.1 概述 202
9.1.1 基本概念 202
9.1.2 特性 203
9.1.3 引脚描述 204
9.2 相关寄存器描述 204
9.3 使用说明 211
9.3.1 内部结构 211
9.3.2 使用步骤 212
9.3.3 中断配置 212
9.3.4 使用注意事项 214
9.4 应用示例 214
9.5 ADC的模块化编程 221
习题 224
第10章 系统节拍定时器 225
10.1 概述 225
10.2 相关寄存器描述 225
10.3 工作原理和中断设置 228
10.3.1 工作原理 228
10.3.2 中断设置 228
10.4 应用示例 229
习题 234
第11章 嵌入式系统编程 235
11.1 程序编写风格 235
11.2 C语言设计相关 236
11.2.1 数据类型 236
11.2.2 if语句的用法 237
11.2.3 volatile的用法 238
11.2.4 static的用法 239
11.2.5 const的用法 241
11.3 嵌入式系统命名规则 242
11.3.1 常量命名 242
11.3.2 变量命名 243
11.3.3 函数命名 243
11.4 模块化编程 243
11.5 分层设计思想 247
习题 249
第12章 嵌入式实时内核RL-RTX的应用 250
12.1 程序架构 250
12.2 RL-RTX简介 252
12.3 RL-RTX主要应用函数介绍 255
12.3.1 任务管理函数 255
12.3.2 时间管理函数 257
12.3.3 事件标志函数 258
12.4 RL-RTX应用示例 260
12.4.1 时间管理函数应用:闪灯程序 262
12.4.2 事件标志函数应用:流水灯程序 266
12.5 RL-RTX调试说明 270
习题 272
参考文献 273