《ARM微控制器基础与实战 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:周立功等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2005
  • ISBN:7810777106
  • 页数:451 页
图书介绍:本书以LPC2100系列ARM7微控制器为核心,由浅入深地介绍ARM微控制器的体系结构及应用编程,主要包括:ARM7TDMI的体系结构和指令系统;LPC2100系列ARM 7控制器LPC2104/2114/2119的内部结构及各功能部件的编程方法等。

第1章 从程序员角度看ARM7TDMI(-S) 1

1.1 简介 1

1.1.1 ARM 1

1.1.2 ARM的体系结构 1

1.1.3 ARM7TDMI(-S) 2

1.2 ARM7TDMI(-S)的模块和内核框图 3

1.3 体系结构直接支持的数据类型 3

1.4 处理器状态 5

1.5 处理器模式 5

1.6 内部寄存器 6

1.6.1 简介 6

1.6.2 ARM状态寄存器集 6

1.6.3 Thumb状态寄存器集 9

1.7 程序状态寄存器 11

1.7.1 简介 11

1.7.2 条件代码标志 12

1.7.3 控制位 12

1.7.4 保留位 13

1.8 异常 13

1.8.1 简介 13

1.8.2 异常入口/出口汇总 14

1.8.3 进入异常 14

1.8.4 退出异常 15

1.8.5 快速中断请求 15

1.8.6 中断请求 15

1.8.7 中止 16

1.8.8 软件中断指令 16

1.8.9 未定义的指令 17

1.8.10 异常向量 17

1.8.11 异常优先级 17

1.9 中断延迟 18

1.9.1 最大中断延迟 18

1.9.2 最小中断延迟 18

1.10 复位 18

1.11 存储器及存储器映射I/O 19

1.11.1 简介 19

1.11.2 地址空间 19

1.11.3 存储器格式 20

1.11.4 未对齐的存储器访问 21

1.11.5 指令的预取和自修改代码 22

1.11.6 存储器映射的I/O 25

1.12 寻址方式简介 27

1.13 ARM7TDMI(-S)指令集 27

1.13.1 简介 27

1.13.2 ARM指令集 28

1.13.3 Thumb指令集 31

1.14 协处理器接口 32

1.14.1 简介 32

1.14.2 可用的协处理器 33

1.15 调试接口简介 33

第2章 ARM7TDMI(-S)指令集及汇编 35

2.1 ARM处理器寻址方式 35

2.2 指令集介绍 38

2.2.1 ARM指令集 38

2.2.2 Thumb指令集 62

第3章 LPC2106/2105/2104硬件结构与功能 79

3.1 简介 79

3.1.1 特性 80

3.1.2 引脚信息 81

3.2 LPC2106/2105/2104存储器寻址 85

3.2.1 片内存储器 85

3.2.2 存储器映射 86

3.2.3 LPC2106/2105/2104存储器重新映射和Boot Block 88

3.2.4 预取指中止和数据中止异常 91

3.3 系统控制模块 91

3.3.1 系统控制模块功能汇总 91

3.3.2 引脚描述 91

3.3.3 晶体振荡器 92

3.3.4 寄存器描述 92

3.3.5 外部中断输入 93

3.3.6 存储器映射控制 96

3.3.7 PLL(锁相环) 97

3.3.8 功率控制 102

3.3.9 复位 104

3.3.10 VPB分频器 104

3.3.11 唤醒定时器 105

3.4 存储器加速模块 106

3.4.1 简介 106

3.4.2 存储器加速器模块的操作模式 108

3.4.3 MAM配置 109

3.4.4 寄存器描述 109

3.5 向量中断控制器 111

3.5.1 特性 111

3.5.2 描述 111

3.5.3 寄存器描述 111

3.5.4 VIC寄存器 113

3.5.5 中断源 116

3.5.6 VIC使用注意事项 118

3.6 GPIO 121

3.6.1 特性 121

3.6.2 应用 121

3.6.3 引脚描述 121

3.6.4 寄存器描述 122

3.6.5 GPIO使用注意事项 123

3.7 引脚连接模块 124

3.7.1 简介 124

3.7.2 应用 124

3.7.3 寄存器描述 124

3.8 UART0 129

3.8.1 特性 129

3.8.2 引脚描述 129

3.8.3 寄存器描述 130

3.8.4 结构 136

3.9 UART1 138

3.9.1 特性 138

3.9.2 引脚描述 139

3.9.3 寄存器描述 139

3.9.4 结构 147

3.10 I2C接口 150

3.10.1 特性 150

3.10.2 应用 150

3.10.3 描述 150

3.10.4 引脚描述 153

3.10.5 寄存器描述 153

3.10.6 结构 158

3.11 SPI接口 161

3.11.1 特性 161

3.11.2 描述 161

3.11.3 引脚描述 164

3.11.4 寄存器描述 164

3.11.5 结构 166

3.12 定时器0和定时器1 168

3.12.1 特性 168

3.12.2 应用 169

3.12.3 引脚描述 169

3.12.4 寄存器描述 169

3.12.5 定时器举例操作 174

3.12.6 结构 175

3.13 脉宽调制器PWM 177

3.13.1 特性 177

3.13.2 描述 178

3.13.3 引脚描述 181

3.13.4 寄存器描述 181

3.14 实时时钟 188

3.14.1 特性 188

3.14.2 描述 188

3.14.3 结构 188

3.14.4 寄存器描述 189

3.14.5 RTC中断 190

3.14.6 混合寄存器组 190

3.14.7 完整时间寄存器 192

3.14.8 时间计数器组 193

3.14.9 报警寄存器组 194

3.14.10 基准时钟分频器(预分频器) 194

3.15 看门狗 198

3.15.1 特性 198

3.15.2 应用 199

3.15.3 描述 199

3.15.4 寄存器描述 199

3.15.5 方框图 201

第4章 LPC2114/2124硬件结构 203

4.1 概述 203

4.2 特性 203

4.3 应用 204

4.4 LPC2114/2124功能与引脚配置 205

4.5 LPC2114/2124最小系统原理图 209

4.6 引脚连接模块 211

4.6.1 简介 211

4.6.2 寄存器描述 211

4.7 GPIO 213

4.8 外部中断 213

4.9 SPI接口 217

4.10 A/D转换器 217

4.10.1 特性 217

4.10.2 描述 217

4.10.3 引脚描述 218

4.10.4 寄存器描述 218

4.10.5 操作 220

4.10.6 使用示例 220

4.11 芯片加密 221

第5章 LPC2119/2129/2194内置CAN功能的ARM 223

5.1 概述 223

5.2 特性 223

5.3 功能与引脚配置 223

5.4 带CAN收发器最小系统原理图 226

5.5 引脚连接模块 226

5.6 CAN模块介绍 226

5.6.1 CAN模块存储器映射 226

5.6.2 CAN控制器寄存器一览表 228

5.6.3 各控制寄存器介绍 229

5.6.4 组合CAN寄存器 239

5.6.5 全局验收过滤器 240

5.6.6 FullCAN模式 245

5.7 CAN网络的硬件连接 247

5.7.1 CAN接口板 247

5.7.2 CAN通信电缆 247

5.7.3 CAN接口卡和调试软件 248

5.8 CAN的基础实验 249

5.8.1 CAN控制器的初始化 249

5.8.2 CAN控制器初始化示例程序 250

5.8.3 CAN控制器发送示例程序 253

5.8.4 CAN中断接收示例程序 254

5.9 CANstarter-Ⅱ快速开发套件 255

5.9.1 简介 255

5.9.2 特点 257

5.9.3 实例简介 257

第6章 LPC2100系列ARM7微控制器基础实验 259

6.1 LPC2100系列ARM7微控制器系统基础 259

6.1.1 系统时钟介绍 259

6.1.2 REMAP操作及调试 261

6.1.3 启动代码说明 263

6.2 LPC2100系列ARM7微控制器功能部件实战 269

6.2.1 GPIO 270

6.2.2 中断 282

6.2.3 定时器 290

6.2.4 UART 295

6.2.5 I2C接口 307

6.2.6 SPI接口 322

6.2.7 PWM 328

6.2.8 实时时钟 335

6.2.9 模/数转换器 342

6.2.10 WDT 347

6.2.11 低功耗 350

6.2.12 IAP应用 357

6.2.13 除法运算 361

6.3 PC机人机界面 367

6.3.1 EasyARM软件窗口介绍 367

6.3.2 EasyARM软件通信协议 369

6.3.3 EasyARM应用例程 370

第7章 移植μC/OS-Ⅱ到ARM7 380

7.1 μC/OS-Ⅱ简介 380

7.1.1 概述 380

7.1.2 μC/OS-Ⅱ的特点 380

7.2 移植规划 381

7.2.1 编译器的选择 381

7.2.2 任务模式的取舍 381

7.2.3 支持的指令集 381

7.3 移植μC/OS-Ⅱ 381

7.3.1 概述 381

7.3.2 关于头文件includes.h和config.h 383

7.3.3 编写OS_CPU.H 383

7.3.4 编写OS_CPU_C.C文件 384

7.3.5 编写OS_CPU_A.S 389

7.3.6 关于中断及时钟节拍中断 392

7.4 移植代码应用到LPC2000 394

7.4.1 编写或获取启动代码 395

7.4.2 挂接SWI软件中断 395

7.4.3 中断及时钟节拍中断 395

7.4.4 编写应用程序 396

第8章 嵌入式系统开发平台 398

8.1 如何建立嵌入式系统开发平台 398

8.1.1 使用平台开发是大势所趋 398

8.1.2 建立开发平台的方法 401

8.1.3 编写自己的软件模块 401

8.2 数据队列 402

8.2.1 简介 402

8.2.2 API函数集 403

8.2.3 使用范例 406

8.3 串口驱动 408

8.3.1 简介 408

8.3.2 API函数集 408

8.3.3 使用范例 409

8.4 Modem接口模块 412

8.4.1 简介 412

8.4.2 Modem的状态 412

8.4.3 API函数集 413

8.4.4 使用范例 414

8.5 I2C总线模块 415

8.5.1 简介 415

8.5.2 API函数集 416

8.5.3 使用范例 417

8.6 SPI总线模块 420

8.6.1 简介 420

8.6.2 API函数集 420

8.6.3 使用范例 422

第9章 在μC/OS-Ⅱ中使用其它片内外设 425

9.1 通用I/O口的使用 425

9.2 定时器的使用 427

9.3 PWM的使用 428

9.4 实时时钟的使用 429

附录A JTAG接口设计指南 435

附录B ARM指令集相关列表汇总 435

B.1 ARM指令列表 435

B.2 Thumb指令列表 437

B.3 汇编预定义变量及伪指令 439

B.4 其它 443

附录C PHILIPS LPC系列32位ARM微控制器 445

C.1 LPC2100系列32位ARM微控制器 445

C.2 LPC2200系列32位ARM微控制器 446

附录D EasyARM2100开发套件 447

D.1 简介 447

D.2 功能特点 447

附录E EasyARM2200开发套件 449

E.1 简介 449

E.2 功能特点 449

E.3 结构框图 450