《嵌入式系统项目实践技术 ARM嵌入式系统开发与实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:崔更申,孙安青编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2008
  • ISBN:9787508372365
  • 页数:309 页
图书介绍:本书从理论与实践相结合的角度,全面系统地介绍了ARM硬件体系结构、嵌入式设计方法、ARM指令系统、ARM程序设计、KEIL开发环境、基于LPC2378的具体开发应用。

第1章 嵌入式系统基础 1

1.1 ARM处理器概述 1

1.1.1 ARM技术的发展 1

1.1.2 RISC微处理器的体系结构及其特点 2

1.1.3 ARM微处理器的指令系统 3

1.1.4 ARM微处理器系列 4

1.1.5 ARM微处理器的应用系统开发 6

1.2 嵌入式系统的基本概念 6

1.2.1 嵌入式系统概念 6

1.2.2 嵌入式系统的组成 6

1.2.3 嵌入式系统的开发流程 10

1.2.4 嵌入式软件的开发环境 12

第2章 ARM体系结构 15

2.1 ARM7TDMI程序员模型 15

2.1.1 内核概述 15

2.1.2 译码与控制逻辑 16

2.1.3 运算器 17

2.1.4 内核接口信号 17

2.1.5 ARM芯片的功能结构 21

2.2 工作状态与工作模式 22

2.2.1 ARM的工作状态 22

2.2.2 ARM的工作模式 23

2.3 ARM和Thumb状态的寄存器组织 23

2.3.1 通用寄存器 23

2.3.2 Thumb状态下的寄存器组织 25

2.3.3 程序计数器 25

2.3.4 程序状态寄存器 26

2.3.5 连接寄存器 28

2.3.6 堆栈指针寄存器 28

2.4 存储器组织结构 28

2.4.1 数据类型和存储数据格式 28

2.4.2 数据总线类型 30

2.4.3 ARM7TDMI总线访问周期 32

2.4.4 指令预取与代码自修改 34

2.4.5 AMBA接口 34

2.5 异常 34

2.5.1 异常类型及其处理过程 35

2.5.2 异常优先级(Exception Priority)和异常向量(Exception Vector) 36

2.5.3 应用程序中的异常响应 37

2.5.4 异常返回 38

2.6 协处理器接口 38

2.6.1 协处理器概述 39

2.6.2 ARM7TDMI与协处理器的协同关系 39

2.6.3 协处理器使用中的若干问题 39

第3章 ARM指令的特点和寻址方式 41

3.1 ARM指令特点 41

3.2 ARM指令的寻址方式 43

第4章 ARM指令系统概述 49

4.1 ARM指令集 49

4.2 分支指令 51

4.3 ARM的数据处理指令 52

4.4 异常处理指令 60

4.5 ARM的存储器加载/存储指令 61

4.5.1 单寄存器加载 62

4.5.2 单寄存器存储 64

4.5.3 多寄存器加载和多寄存器存储 65

4.5.4 寄存器交换 66

4.6 协处理器指令 67

4.7 ARM状态寄存器访问指令 69

第5章 ARM程序设计 71

5.1 ARM汇编语言伪指令 71

5.1.1 符号定义伪指令 71

5.1.2 空间分配伪指令 73

5.1.3 汇编控制伪指令 75

5.1.4 格式控制伪指令 77

5.1.5 ARM伪指令 78

5.1.6 Thumb伪指令 80

5.2 ARM汇编语言语句格式 80

5.2.1 ARM汇编语言的符号 80

5.2.2 汇编语言程序中的表达式和运算符 82

5.3 ARM语言程序结构 84

5.4 简单的ARM程序设计 85

5.4.1 简单的ARM程序 85

5.4.2 子程序调用程序设计 86

5.4.3 分支程序设计 86

5.4.4 查表与散转程序设计 87

5.4.5 数据串拷贝程序的设计 88

5.5 ARM-Thunmb交互工作 89

5.5.1 交互工作原理 89

5.5.2 交互程序 91

5.5.3 交互子程序调用 92

5.6 ARM汇编语言与C语言混合编程 94

5.6.1 ARM过程调用标准ATPCS 94

5.6.2 内嵌汇编器 95

5.6.3 C语言和ARM汇编语言间的相互调用 100

第6章 Keil开发环境的使用 103

6.1 Keil开发工具介绍 103

6.1.1 μVision3集成开发环境 103

6.1.2 操作模式 103

6.1.3 菜单命令、工具栏、快捷键 104

6.2 Keil开发功能的使用 107

6.2.1 创建应用程序 107

6.2.2 工程目标和文件组 114

6.3 使用EnLink仿真LPC23xx控制器 115

6.3.1 开发环境 115

6.3.2 创建一个工程 115

第7章 LPC23XX系统核心应用 120

7.1 系统结构与引脚分布 120

7.1.1 PLC23xx系统结构图 120

7.1.2 PLC2378引脚分布 122

7.2 核心部分组成 130

7.2.1 电源电路 130

7.2.2 复位 131

7.2.3 系统时钟 131

7.2.4 锁相环(PLL) 132

7.2.5 存储映射 139

7.2.6 向量中断管理 146

7.2.7 外部中断 155

7.2.8 IRQ中断的设计实例 157

7.2.9 IRQ中断过程分析 157

第8章 GPIO原理与应用实例 158

8.1 概述 158

8.2 特性 158

8.3 应用 158

8.4 引脚描述 158

8.5 寄存器描述 159

8.6 GPIO使用注意事项 160

8.7 GPIO应用实例 161

8.7.1 循环灯实例 161

8.7.2 按键计数实例 162

8.7.3 简易数字计算器实例 164

第9章 定时器0/定时器1原理与应用实例 175

9.1 概述 175

9.2 特性 175

9.3 引脚描述 176

9.4 结构 176

9.5 寄存器描述 177

9.6 功能框图 182

9.7 使用示例 183

9.8 定时器0/定时器1应用实例 184

9.8.1 “嘀嘀”报警产生实例 184

9.8.2 MIDI音乐发生器实例 186

9.8.3 数字钟实例 191

第10章 脉宽调制(PWM)原理及应用实例 197

10.1 概述 197

10.2 特性 197

10.2.1 单边沿控制的PWM输出规则 199

10.2.2 双边沿控制的PWM输出规则 200

10.3 管脚描述 200

10.4 寄存器描述 200

10.5 PWM基本操作方法 205

10.6 PWM应用实例 205

10.6.1 PWM产生警笛音实例 205

10.6.2 PWM式D/A转换实例 208

第11章 SPI接口原理及应用实例 211

11.1 概述 211

11.2 特性 211

11.3 管脚描述 211

11.4 SPI结构 212

11.5 SPI描述 212

11.5.1 SPI总线描述 212

11.5.2 SPI数据传输 212

11.6 SPI外设描述 213

11.7 寄存器描述 214

11.8 基本操作 216

11.8.1 主机操作 216

11.8.2 从机操作 217

11.9 应用实例 217

11.9.1 串/并转换实例 217

11.9.2 16×16点阵LED屏显示实例 219

第12章 I2C接口原理及应用实例 227

12.1 I2C简介 227

12.1.1 控制字节 228

12.1.2 写操作 228

12.1.3 读操作 228

12.1.4 结束语 229

12.2 概述 229

12.3 特性 229

12.4 引脚描述 229

12.5 结构 230

12.5.1 串行时钟发生器 231

12.5.2 时序和控制 231

12.5.3 控制寄存器 231

12.5.4 状态译码器和状态寄存器 231

12.6 I2C描述 231

12.6.1 总线配置 231

12.6.2 I2C操作模式 232

12.6.3 主I2C模式 233

12.6.4 从I2C模式 237

12.6.5 两种特殊状态 241

12.6.6 仲裁和同步逻辑 241

12.7 寄存器描述 242

12.8 基本操作 245

12.9 初始化举例 246

12.10 应用实例 246

12.10.1 AT24C02的读写实例 246

第13章 A/D转换器 255

13.1 特性 255

13.2 引脚描述 255

13.3 寄存器描述 256

13.4 基本操作 257

13.5 使用示例 257

13.6 应用实例 258

第14章 UART0接口 264

14.1 特性 264

14.2 引脚描述 264

14.3 结构 264

14.4 寄存器描述 265

14.5 使用示例 270

14.6 应用实例 271

第15章 基于LPC2124的具有日历功能的密码锁实例 274

15.1 概述 274

15.1.1 系统功能 274

15.1.2 系统功能的实现 274

15.2 硬件电路的设计 275

15.2.1 电源电路 275

15.2.2 LPC2124的最小系统 275

15.2.3 键盘接口电路 277

15.2.4 LCD液晶显示电路 278

15.2.5 实时日历时钟接口电路 281

15.2.6 提示音功放电路 283

15.2.7 开锁控制电路 284

15.3 软件设计 284

15.3.1 初始化程序设计 285

15.3.2 LCD液晶显示驱动程序设计 287

15.3.3 键盘驱动程序设计 289

15.3.4 实时日历时钟(DS1302)驱动程序设计 291

15.3.5 Timer0的定时中断服务程序设计 293

15.3.6 主程序设计 296

15.3.7 实例总结 308

参考文献 309