当前位置:首页 > 工业技术
ARM Cortex-MO微控制器原理与实践
ARM Cortex-MO微控制器原理与实践

ARM Cortex-MO微控制器原理与实践PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:温子祺,刘志峰,冼安胜等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2013
  • ISBN:9787512410374
  • 页数:535 页
图书介绍:本书以新唐公司ARM Cortex-M0内核的NuMicro M051系列单片机为蓝本,由浅入深,软硬结合,全面系统地介绍基于该单片机的原理与结构,开发环境与工具,各种接口与功能单元应用的软件编写方法。
《ARM Cortex-MO微控制器原理与实践》目录

绪论 1

0.1 什么是微控制器 1

0.2 微控制器历史 1

0.3 微控制器应用领域 2

第1篇 初步认知篇 7

第1章 微控制器发展趋势 7

1.1 概述 7

1.2 ARM Cortex-M微控制器优势 8

1.2.1 指令集效率 8

1.2.2 8位应用程序的神话 10

1.2.3 性能 11

1.2.4 8位和16位微控制器的局限 11

1.2.5 低功耗 12

1.2.6 内存访问效率 12

1.2.7 通过降低操作频率来降低能耗 12

1.2.8 通过缩短活跃周期来降低能耗 13

1.2.9 低功耗的总体优势 13

1.2.1 0软件开发 13

1.2.1 1从8位或16位微控制器向ARM移植软件 13

1.2.1 2调试 14

1.2.1 3选择 15

1.2.1 4软件可移植性 15

1.2.1 5迁移成本 15

1.2.1 6结论 16

1.3 ARM Cortex-M微控制器程序迁移 17

第2章 ARM概述 28

2.1 ARM 28

2.2 RISC 30

2.2.1 简介 30

2.2.2 概念分析 30

2.2.3 特点 31

2.2.4 区别 32

2.2.5 种类 32

2.2.6 CPU发展 33

2.2.7 CPU的制造过程 34

第3章 ARM Cortex-M0 35

3.1 总线架构 35

3.1.1 什么是AMBA 36

3.1.2 什么是AHB-Lite 37

3.1.3 什么是CoreSight 38

3.2 Cortex-M0的结构特点 40

3.2.1 编程模型 40

3.2.2 存储模型 40

3.2.3 异常处理 41

3.2.4 功耗管理 42

3.2.5 指令集 43

3.3 开发工具 43

第4章 ARM微控制器的指令集 46

4.1 ARM微控制器的指令的分类与格式 46

4.2 ARM指令的条件域 47

4.3 ARM指令的寻址方式 48

4.4 ARM指令集 50

4.4.1 跳转指令 51

4.4.2 数据处理指令 52

4.4.3 乘法指令与乘加指令 57

4.4.4 程序状态寄存器访问指令 60

4.4.5 加载/存储指令 61

4.4.6 批量数据加载/存储指令 63

4.4.7 数据交换指令 64

4.4.8 移位指令(操作) 65

4.4.9 协微控制器指令 66

4.4.1 0异常产生指令 68

4.4.1 1Thumb指令及应用 69

第5章 ARM C语言编程 70

5.1 C语言简史 70

5.2 C语言特点 71

5.2.1 优点 72

5.2.2 缺点 73

5.3 数据类型 73

5.3.1 基本数据类型 73

5.3.2 数据类型修饰符signed和unsigned 73

5.4 常量和变量 74

5.4.1 常量 74

5.4.2 变量 74

5.5 操作符 76

5.5.1 算术操作符 76

5.5.2 关系操作符 76

5.5.3 逻辑操作符 76

5.5.4 位操作符 76

5.6 控制结构 78

5.6.1 选择 78

5.6.2 循环 78

5.7 结构体 78

5.8 编译指令 79

5.8.1 #define和#undef 79

5.8.2 #if和#endif 79

5.8.3 #error 79

5.9 标准C库的应用 79

5.9.1 标准C库的组成 79

5.9.2 标准C库的使用流程 80

第2篇 基础入门篇 85

第6章 NuMicro M051系列微控制器 85

6.1 概述 85

6.1.1 低门数微控制器特征 85

6.1.2 NVIC特征 85

6.1.3 调试 86

6.1.4 总线接口 86

6.2 系统管理器 86

6.2.1 系统复位 86

6.2.2 系统电源架构 87

6.3 系统存储映射 88

6.4 系统管理器控制寄存器映射 89

6.5 嵌套向量中断控制器(NVIC) 95

6.5.1 异常模式和系统中断映射 96

6.5.2 操作描述 100

第7章 平台搭建与下载工具 105

7.1 平台搭建 105

7.1.1 启动程序 105

7.1.2 创建工程 105

7.1.3 编译代码 108

7.1.4 安装Nu-Link for Keil驱动 109

7.1.5 设置Nu-Link 115

7.1.6 下载代码 117

7.1.7 硬件仿真 119

7.2 ISP下载 122

7.2.1 ISP下载工具概述 122

7.2.2 ISP下载步骤 122

7.3 ICP下载 125

7.3.1 ICP下载工具概述 125

7.3.2 ICP下载步骤 126

7.4 JTAG与串行调试(SWD) 129

7.4.1 JTAG简介 129

7.4.2 SWD简介 129

第8章 通用输入/输出口 133

8.1 通用I/O模式的设置 133

8.1.1 输入模式 134

8.1.2 输出模式 134

8.1.3 开漏模式 134

8.1.4 准双向模式 135

8.2 相关寄存器 135

8.3 实验 136

第9章 定时器控制器与系统定时器 142

9.1 定时器控制器 142

9.1.1 概述 142

9.1.2 特征 142

9.1.3 定时器操作模式 143

9.1.4 相关寄存器 144

9.1.5 实验 146

9.2 系统定时器 150

9.2.1 概述 150

9.2.2 相关寄存器 151

9.2.3 示例代码 152

第10章 PWM发生器和捕捉定时器 153

10.1 概述 153

10.2 特征 155

10.2.1 PWM功能特性 155

10.2.2 PWM捕捉功能模块特性 155

10.3 功能描述 155

10.3.1 PWM定时器操作 155

10.3.2 PWM双缓存、自动重载以及单触发模式 156

10.3.3 调至占空比 157

10.3.4 死区发生器 157

10.3.5 捕捉操作 158

10.3.6 PWM定时器中断结构 159

10.3.7 PWM-定时器开启步骤 160

10.3.8 PWM-定时器关闭步骤 160

10.3.9 捕捉开始步骤 160

10.4 相关寄存器 161

10.5 实验 171

第11章 串口控制器 176

11.1 概述 177

11.2 特性 179

11.3 相关寄存器 180

11.4 串口发送实验 190

11.5 串口收发实验 194

11.6 模拟串口实验 198

第12章 外部中断 204

12.1 外部中断简介 204

12.2 相关寄存器 205

12.3 实验 206

第13章 看门狗 211

13.1 概述 211

13.2 特征 213

13.3 相关寄存器 213

13.4 实验 214

第14章 Flash内存控制器(FMC) 219

14.1 概述 219

14.2 特性 219

14.3 FMC组织结构 219

14.4 在系统编程(ISP) 222

14.5 相关寄存器 223

14.6 ISP实验 227

第15章 I2C总线控制器 234

15.1 概述 234

15.2 特征 235

15.3 功能描述 235

15.4 操作模式 238

15.5 相关寄存器 239

15.6 AT24C02 242

15.7 实验 244

第16章 串行外围设备接口(SPI)控制器 252

16.1 概述 252

16.2 特性 252

16.3 功能 253

16.4 时序波形图 258

16.5 相关寄存器 261

16.6 实验 265

第17章 模拟/数字转换 273

17.1 概述 273

17.2 特征 275

17.3 操作步骤 276

17.4 相关寄存器 280

17.5 实验 287

第18章 RTX Kernel实时系统 291

18.1 实时系统与前后台系统 291

18.2 RTX Kernel技术参数 294

18.3 RTX Kernel配置 296

18.4 RTX Kernel组成部分 297

18.5 实验 304

第19章 杂项补遗 313

19.1 详解启动文件 313

19.2 LIB的生成与使用 318

19.2.1 LIB文件的创建 319

19.2.2 LIB文件的使用 320

19.3 Hex文件 322

19.3.1 Hex的结构 322

19.3.2 Hex的数据记录 323

19.4 功耗控制 325

19.4.1 相关寄存器 326

19.4.2 空闲模式唤醒实验 328

19.4.3 掉电模式唤醒实验 331

19.5 系统复位 335

19.5.1 相关寄存器 335

19.5.2 实验 336

19.6 scatter文件 337

19.6.1 scatter文件简介 338

19.6.2 实验 340

19.7 USER配置 347

19.7.1 相关寄存器 347

19.7.2 实验 348

19.8 欠压电压值设定(BOD) 355

19.8.1 相关寄存器 356

19.8.2 实验 357

19.9 CMSIS编程标准 362

19.9.1 CMSIS标准的软件架构 363

19.9.2 CMSIS规范 364

19.9.3 CMSIS标准的代码实现 366

19.1 0外部总线接(EBI) 367

19.1 0.1 操作步骤 368

19.1 0.2 相关寄存器 372

第20章 串行输入并行输出 374

20.1 74LS164简介 374

20.2 74LS164结构 375

20.3 74LS164函数 377

第21章 数码管 380

21.1 数码管简介 380

21.2 字型码 380

21.3 驱动方式 382

21.3.1 数码管驱动方式 382

21.3.2 动态驱动 382

21.4 实验 383

第22章 LCD 391

22.1 液晶简介 391

22.2 LCD1602液晶及显示实验 391

22.3 LCD12864液晶及显示实验 401

第3篇深入篇 417

第23章 深入接口 417

23.1 简介 417

23.2 校验介绍 417

23.2.1 奇偶校验 417

23.2.2 校验和 419

23.2.3 循环冗余码校验 420

23.3 数据校验实战 422

23.3.1 数据帧格式定义 423

23.3.2 实验 426

第24章 深入编程 437

24.1 编程规范 437

24.1.1 排版 438

24.1.2 注释 439

24.1.3 标识符 441

24.1.4 函数 443

24.2 代码架构 444

24.2.1 功能模块构建 444

24.2.2 简易前后台系统构建 445

24.2.3 简易定时系统构建 456

24.3 高级应用集锦 466

24.3.1 宏 466

24.3.2 函数指针 468

24.3.3 结构体、共用体 470

24.3.4 程序优化 471

24.3.5 软件抗干扰 490

24.3.6 软件低功耗设计 492

第4篇 番外篇 497

第25章 界面开发 497

25.1 VC++2008 498

25.2 HelloWorld小程序 498

25.3 实现串口通信 503

25.3.1 创建界面 503

25.3.2 CSerial类 504

25.3.3 编写程序 512

25.3.4 运行程序 514

25.4 动态链接库 514

25.4.1 动态链接库优点 515

25.4.2 动态链接库创建流程 516

25.4.3 编写串口动态链接库 518

25.4.4 调用串口动态链接库 522

附录A 开发板原理图 528

A.1 原理图 528

A.2 实物图 532

附录B 单片机多功能调试助手 534

参考文献 535

返回顶部