ARM Cortex-MO微控制器原理与实践PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:温子祺,刘志峰,冼安胜等编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2013
- ISBN:9787512410374
- 页数:535 页
绪论 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
- 《语文教育教学实践探索》陈德收 2018
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《学校特色教育探索与实践》管升起著 2019
- 《刑法归责原理的规范化展开》陈璇著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019