书籍详情
微型计算机原理及应用(基于Arm微处理器)
作者:王宜怀 著
出版社:人民邮电出版社
出版时间:2020-04-01
ISBN:9787115532992
定价:¥59.80
购买这本书可以去
内容简介
本书根据微处理器的**发展,选择Arm内核作为教学蓝本,以简捷、透明见底、可实践的方式阐述微型计算机系统的基本原理,介绍微型计算机的基本结构、信息表示、硬件系统、指令系统、汇编语言框架和汇编程序设计方法,讲解微型计算机的存储器、串行通信接口、中断系统、定时器、模数与数模转换等。全书以全新的视角思考微机原理的教学,具有较强的理论性与实践性。本书配套给出了AHL-MCP微机原理实践平台与集成开发环境AHL-GEC-IDE,并有详细的实验指导。 本书提供了教学资源,内含所有源程序、辅助阅读资料、PPT课件、视频导引、开发环境下载导引、文档资料及常用软件工具等。教学资源下载请加入QQ群(微机原理—Arm):901549485。教师参考资料可通过人邮教育社区获得。
作者简介
王宜怀,博士,苏州大学计算机科学与技术学院教授、博士生导师;苏州大学嵌入式系统与物联网研究所所长;苏州市政协常委;江苏省计算机学会嵌入式系统与物联网专业委员会主任。长期从事嵌入式系统、实时操作系统、微型计算机原理、物联网应用技术等方面的课程教学。主要研究方向为嵌入式系统与物联网、嵌入式人工智能系统。
目录
第 1章 微型计算机基本结构及信息表示.............2
1.1 微型计算机概述...............................2
1.1.1 初识微型计算机 ............................2
1.1.2 微型计算机发展简史..................3
1.1.3 微型计算机的冯·诺依曼结构框图............ 4
1.1.4 微型计算机中的三总线............5
1.1.5 计算机执行指令的简明过程 .....................7
1.2 微机原理的实践选型............................7
1.2.1 微机原理实践选型的困惑.......8
1.2.2 微机原理实践选型的基本原则 ...................8
1.2.3 AHL-MCP 微机原理实践平台概述.........................9
1.3 数制及数制之间的转换方法.......10
1.3.1 数制....................................................10
1.3.2 数制之间的转换方法...............12
1.4 计算机中信息的基本表示方式..................................14
1.4.1 计算机中信息表示的相关基本概念.......... 14
1.4.2 整数在计算机中的补码表示方法...................15
1.4.3 实数在计算机中的浮点数表示方法 ..............19
1.5 文字在计算机中的存储方式——字符编码....................20
1.5.1 英文编码—ASCII.....................21
1.5.2 中文编码—GB2312 及 GBK....................22
1.6 习题.....................23
第 2章 微型计算机的硬件系统.....25
2.1 微型计算机的硬件共性结构及基本性能指标................26
2.1.1 微型计算机的硬件共性结构..................26
2.1.2 微型计算机基本性能指标....27
2.2 Arm Cortex-M 微处理器概述...............28
2.2.1 Arm Cortex 系列微处理器系列概述 ..........28
2.2.2 Arm Cortex-M4 微处理器..............................29
2.3 CPU 内部寄存器与存储器映像............................31
2.3.1 寄存器基础知识及相关基本概念.........31
2.3.2 Arm Cortex-M4 内部寄存器.................32
2.3.3 Arm Cortex-M4 存储器映像 ....................36
2.4 Arm Cortex-M4 内核的微型计算机芯片实例.........37
2.4.1 STM32L4 系列 MCU 简介...................37
2.4.2 STM32L4 存储映像与中断源..................37
2.4.3 STM32L4 的引脚功能...........41
2.4.4 STM32L4 硬件最小系统原理图....................42
2.5 由 STM32L431 构建的通用嵌入式计算机..........45
2.6 习题.........................49
第3章 指令系统........................51
3.1 指令保留字与寻址方式...................52
3.1.1 指令保留字简表 .........................52
3.1.2 寻址方式..........................................53
3.2 基本指令系统..........................................54
3.2.1 数据传送类指令 .........................54
3.2.2 数据操作类指令..........................57
3.2.3 跳转控制类指令..........................60
3.2.4 其他基本指令...............................61
3.3 指令集与机器码对应表..................62
3.4 GUN 汇编器的基本语法.............65
3.4.1 汇编语言概述...............................65
3.4.2 GUN 汇编书写格式..................65
3.4.3 GUN 汇编常用伪指令............67
3.5 习题.........................70
第4章 汇编语言框架...............71
4.1 初识程序运行....................72
4.2 汇编工程框架及执行工程分析.........................79
4.2.1 汇编工程框架的基本内容....79
4.2.2 链接脚本文件的作用...............81
4.2.3 机器码解析............82
4.2.4 执行过程分析..............83
4.3 认识工程框架中的 GPIO 构件...........84
4.3.1 通常 I/O 接口基本概念及连接方法 .............84
4.3.2 GPIO 构件知识要素分析 .....86
4.3.3 GPIO 构件的使用方法...........87
4.4 实验一:理解汇编程序框架及运行.................88
4.5 习题..............................90
第5章 基于构件的汇编程序设计方法..............................93
5.1 构件及其设计方法...............................94
5.1.1 软件构件基本概念....................94
5.1.2 构件设计基本原则....................95
5.1.3 三类构件..........................................96
5.1.4 基于构件的软件设计步骤....97
5.2 程序流程控制..........................................98
5.2.1 顺序结构..........................................98
5.2.2 分支结构...................................... 100
5.2.3 循环结构.......................................102
5.3 汇编程序设计实例...........................105
5.3.1 数制转换程序设计.................105
5.3.2 冒泡排序程序设计.................110
5.4 实验二:基于构件方法的汇编程序设计...........114
5.5 习题..................................115
第6章 存储器....................117
6.1 存储器的功能与分类......................118
6.1.1 按存储介质分类......................118
6.1.2 按功能分类.................................118
6.1.3 按存取方式分类 ......................119
6.2 随机存储器与只读存储器.........119
6.2.1 RAM..............................................119
6.2.2 ROM...............................................121
6.3 SD 卡与高速缓存............................122
6.3.1 SD 卡..............................................122
6.3.2 高速缓存.......................................124
6.4 Flash 存储器.....................................128
6.4.1 Flash 在线编程的通用基础知识 .....................128
6.4.2 Flash 驱动构件知识要素分析....................128
6.4.3 Flash 驱动构件的使用方法.....................129
6.5 存储器实验设计举例.....................131
6.6 实验三:存储器实验.....................135
6.7 习题.............................136
第7章 串行通信接口..................137
7.1 串行通信的基础知识......................138
7.1.1 串行通信的基本概念............138
7.1.2 串行通信编程模型.................139
7.1.3 RS232、RS485 总线标准................ 140
7.1.4 TTL 电平到 RS232 电平转换电路 ..................141
7.2 UART 驱动构件及使用方法...............................142
7.2.1 UART 驱动构件要素分析..................142
7.2.2 UART 驱动构件使用方法................143
7.3 串行通信的编程举例.....................145
7.3.1 例 1:发送和接收一个字节的数据...........145
7.3.2 例 2:发送和接收一帧数据..................147
7.4 实验四:基于串行通信构件的汇编程序设计............151
7.5 习题..............................153
第8章 中断系统及定时器...................155
8.1 中断系统........................156
8.1.1 中断的基本概念 ......................156
8.1.2 中断处理的基本过程............158
8.1.3 Arm Cortex-M4F 非内核模块中断..........158
8.2 定时器.........................................................160
8.2.1 定时器的基本含义.................160
8.2.2 Arm Cortex-M4F 内核定时器 ..............161
8.3 基于定时器的中断编程举例...164
8.4 实验五:理解中断与定时器.......................168
8.5 习题.............................169
第9章 模数转换与数模转换........171
9.1 模数转换器的基础知识................172
9.1.1 与 AD 转换编程直接相关的基本概念......................172
9.1.2 与 AD 转换编程关联度较弱的基本概念......................174
9.1.3 最简单的 AD 转换采样电路举例 ...................175
9.2 ADC 驱动构件及使用方法.....176
9.2.1 ADC 驱动构件要素分析....176
9.2.2 ADC 驱动构件使用方法....178
9.2.3 ADC 驱动构件使用举例....179
9.3 数模转换...................181
9.3.1 DAC 的通用基本结构.........181
9.3.2 DAC 的主要技术指标.........182
9.4 DAC 驱动构件及使用方法要素分析...................183
9.4.1 DAC 驱动构件要素分析....183
9.4.2 DAC 驱动构件使用方法....184
9.4.3 DAC 驱动构件使用举例....184
9.5 实验六:AD 转换模块实验....186
9.6 习题................................188
第 10章 直接存储器存取DMA..............................189
10.1 DMA 的基本概念.........................190
10.1.1 DMA 的含义..........................190
10.1.2 DMA 控制器..........................190
10.2 DMA 的一般操作流程............190
10.3 DMA 构件头文件及使用方法...................191
10.4 DMA 驱动构件要素分析......193
10.5 DMA 驱动构件的使用方法...........................193
10.6 实验七:通过 DMA 实现内存间数据的搬运...............194
10.7 习题...............................194
第 11章 外接组件综合实践...................195
11.1 开关量输出类实践..........................196
11.1.1 彩灯..............................................196
11.1.2 蜂鸣器.........................................198
11.1.3 马达..............................................202
11.1.4 LED..............................................205
11.2 开关量输入类实践.........................208
11.2.1 红外寻迹传感器....................208
11.2.2 人体红外传感器....................211
11.2.3 按钮..............................................214
11.3 声音与加速度传感器实践.......220
11.3.1 声音传感器..............................220
11.3.2 加速度传感器.........................223
11.4 习题............................226
第 12章 通用计算机的基本结构及启动过程......................227
12.1 PC 系统的基本结构....................228
12.1.1 PC 的基本硬件组成 ...........228
12.1.2 USB 设备..................................231
12.2 PC 系统的启动流程...................233
12.2.1 启动固件....................................233
12.2.2 PC 系统中的硬盘.................236
12.2.3 从固件到硬盘的启动流程 .....................241
12.3 PC 的操作系统...............................242
12.4 习题..............................................245
第 13章 微型计算机的发展方向............................247
13.1 CPU 的结构与速度....................248
13.1.1 通用计算机..............................248
13.1.2 嵌入式计算机.........................249
13.2 存储器的容量与速度..................249
13.2.1 磁存储器....................................250
13.2.2 阻变存储器..............................250
13.2.3 相变存储器..............................251
13.3 指令系统的发展方向..................252
13.4 编译技术的发展..............................253
13.4.1 并行编译技术.........................253
13.4.2 交叉编译技术.........................253
13.4.3 动态编译技术.........................253
13.5 微型计算机其他新技术............254
13.5.1 纳米计算机..............................254
13.5.2 激光计算机..............................254
13.5.3 量子计算机..............................254
13.6 习题................................255
附录 A: AHL-MCP 微机原理实践平台硬件资源...........257
A.1 概述........................................258
A.2 电子资源内容列表..........................258
A.3 硬件清单..................................................258
A.4 实验列表..................................................259
A.5 硬件快速测试方法..........................260
附录 B: AHL-GEC-IDE 安装及基本使用指南..................261
B.1 安装 AHL-GEC-IDE 集成开发环境.......................262
B.2 编译下载运行第 一个程序.........264
B.3 外接软件功能的使用方法........265
B.4 常见错误及解决方法....................267
B.5 卸载 AHL-GEC-IDE 集成开发环境.....................272
B.6 技术咨询......................................273
附录 C: 串行通信构件设计方法......................275
C.1 UART 模块编程结构..................276
C.2 UART 驱动构件汇编语言源码...........................278
C.3 UART 驱动构件 C 语言源码..........................282
参考文献...........................288
1.1 微型计算机概述...............................2
1.1.1 初识微型计算机 ............................2
1.1.2 微型计算机发展简史..................3
1.1.3 微型计算机的冯·诺依曼结构框图............ 4
1.1.4 微型计算机中的三总线............5
1.1.5 计算机执行指令的简明过程 .....................7
1.2 微机原理的实践选型............................7
1.2.1 微机原理实践选型的困惑.......8
1.2.2 微机原理实践选型的基本原则 ...................8
1.2.3 AHL-MCP 微机原理实践平台概述.........................9
1.3 数制及数制之间的转换方法.......10
1.3.1 数制....................................................10
1.3.2 数制之间的转换方法...............12
1.4 计算机中信息的基本表示方式..................................14
1.4.1 计算机中信息表示的相关基本概念.......... 14
1.4.2 整数在计算机中的补码表示方法...................15
1.4.3 实数在计算机中的浮点数表示方法 ..............19
1.5 文字在计算机中的存储方式——字符编码....................20
1.5.1 英文编码—ASCII.....................21
1.5.2 中文编码—GB2312 及 GBK....................22
1.6 习题.....................23
第 2章 微型计算机的硬件系统.....25
2.1 微型计算机的硬件共性结构及基本性能指标................26
2.1.1 微型计算机的硬件共性结构..................26
2.1.2 微型计算机基本性能指标....27
2.2 Arm Cortex-M 微处理器概述...............28
2.2.1 Arm Cortex 系列微处理器系列概述 ..........28
2.2.2 Arm Cortex-M4 微处理器..............................29
2.3 CPU 内部寄存器与存储器映像............................31
2.3.1 寄存器基础知识及相关基本概念.........31
2.3.2 Arm Cortex-M4 内部寄存器.................32
2.3.3 Arm Cortex-M4 存储器映像 ....................36
2.4 Arm Cortex-M4 内核的微型计算机芯片实例.........37
2.4.1 STM32L4 系列 MCU 简介...................37
2.4.2 STM32L4 存储映像与中断源..................37
2.4.3 STM32L4 的引脚功能...........41
2.4.4 STM32L4 硬件最小系统原理图....................42
2.5 由 STM32L431 构建的通用嵌入式计算机..........45
2.6 习题.........................49
第3章 指令系统........................51
3.1 指令保留字与寻址方式...................52
3.1.1 指令保留字简表 .........................52
3.1.2 寻址方式..........................................53
3.2 基本指令系统..........................................54
3.2.1 数据传送类指令 .........................54
3.2.2 数据操作类指令..........................57
3.2.3 跳转控制类指令..........................60
3.2.4 其他基本指令...............................61
3.3 指令集与机器码对应表..................62
3.4 GUN 汇编器的基本语法.............65
3.4.1 汇编语言概述...............................65
3.4.2 GUN 汇编书写格式..................65
3.4.3 GUN 汇编常用伪指令............67
3.5 习题.........................70
第4章 汇编语言框架...............71
4.1 初识程序运行....................72
4.2 汇编工程框架及执行工程分析.........................79
4.2.1 汇编工程框架的基本内容....79
4.2.2 链接脚本文件的作用...............81
4.2.3 机器码解析............82
4.2.4 执行过程分析..............83
4.3 认识工程框架中的 GPIO 构件...........84
4.3.1 通常 I/O 接口基本概念及连接方法 .............84
4.3.2 GPIO 构件知识要素分析 .....86
4.3.3 GPIO 构件的使用方法...........87
4.4 实验一:理解汇编程序框架及运行.................88
4.5 习题..............................90
第5章 基于构件的汇编程序设计方法..............................93
5.1 构件及其设计方法...............................94
5.1.1 软件构件基本概念....................94
5.1.2 构件设计基本原则....................95
5.1.3 三类构件..........................................96
5.1.4 基于构件的软件设计步骤....97
5.2 程序流程控制..........................................98
5.2.1 顺序结构..........................................98
5.2.2 分支结构...................................... 100
5.2.3 循环结构.......................................102
5.3 汇编程序设计实例...........................105
5.3.1 数制转换程序设计.................105
5.3.2 冒泡排序程序设计.................110
5.4 实验二:基于构件方法的汇编程序设计...........114
5.5 习题..................................115
第6章 存储器....................117
6.1 存储器的功能与分类......................118
6.1.1 按存储介质分类......................118
6.1.2 按功能分类.................................118
6.1.3 按存取方式分类 ......................119
6.2 随机存储器与只读存储器.........119
6.2.1 RAM..............................................119
6.2.2 ROM...............................................121
6.3 SD 卡与高速缓存............................122
6.3.1 SD 卡..............................................122
6.3.2 高速缓存.......................................124
6.4 Flash 存储器.....................................128
6.4.1 Flash 在线编程的通用基础知识 .....................128
6.4.2 Flash 驱动构件知识要素分析....................128
6.4.3 Flash 驱动构件的使用方法.....................129
6.5 存储器实验设计举例.....................131
6.6 实验三:存储器实验.....................135
6.7 习题.............................136
第7章 串行通信接口..................137
7.1 串行通信的基础知识......................138
7.1.1 串行通信的基本概念............138
7.1.2 串行通信编程模型.................139
7.1.3 RS232、RS485 总线标准................ 140
7.1.4 TTL 电平到 RS232 电平转换电路 ..................141
7.2 UART 驱动构件及使用方法...............................142
7.2.1 UART 驱动构件要素分析..................142
7.2.2 UART 驱动构件使用方法................143
7.3 串行通信的编程举例.....................145
7.3.1 例 1:发送和接收一个字节的数据...........145
7.3.2 例 2:发送和接收一帧数据..................147
7.4 实验四:基于串行通信构件的汇编程序设计............151
7.5 习题..............................153
第8章 中断系统及定时器...................155
8.1 中断系统........................156
8.1.1 中断的基本概念 ......................156
8.1.2 中断处理的基本过程............158
8.1.3 Arm Cortex-M4F 非内核模块中断..........158
8.2 定时器.........................................................160
8.2.1 定时器的基本含义.................160
8.2.2 Arm Cortex-M4F 内核定时器 ..............161
8.3 基于定时器的中断编程举例...164
8.4 实验五:理解中断与定时器.......................168
8.5 习题.............................169
第9章 模数转换与数模转换........171
9.1 模数转换器的基础知识................172
9.1.1 与 AD 转换编程直接相关的基本概念......................172
9.1.2 与 AD 转换编程关联度较弱的基本概念......................174
9.1.3 最简单的 AD 转换采样电路举例 ...................175
9.2 ADC 驱动构件及使用方法.....176
9.2.1 ADC 驱动构件要素分析....176
9.2.2 ADC 驱动构件使用方法....178
9.2.3 ADC 驱动构件使用举例....179
9.3 数模转换...................181
9.3.1 DAC 的通用基本结构.........181
9.3.2 DAC 的主要技术指标.........182
9.4 DAC 驱动构件及使用方法要素分析...................183
9.4.1 DAC 驱动构件要素分析....183
9.4.2 DAC 驱动构件使用方法....184
9.4.3 DAC 驱动构件使用举例....184
9.5 实验六:AD 转换模块实验....186
9.6 习题................................188
第 10章 直接存储器存取DMA..............................189
10.1 DMA 的基本概念.........................190
10.1.1 DMA 的含义..........................190
10.1.2 DMA 控制器..........................190
10.2 DMA 的一般操作流程............190
10.3 DMA 构件头文件及使用方法...................191
10.4 DMA 驱动构件要素分析......193
10.5 DMA 驱动构件的使用方法...........................193
10.6 实验七:通过 DMA 实现内存间数据的搬运...............194
10.7 习题...............................194
第 11章 外接组件综合实践...................195
11.1 开关量输出类实践..........................196
11.1.1 彩灯..............................................196
11.1.2 蜂鸣器.........................................198
11.1.3 马达..............................................202
11.1.4 LED..............................................205
11.2 开关量输入类实践.........................208
11.2.1 红外寻迹传感器....................208
11.2.2 人体红外传感器....................211
11.2.3 按钮..............................................214
11.3 声音与加速度传感器实践.......220
11.3.1 声音传感器..............................220
11.3.2 加速度传感器.........................223
11.4 习题............................226
第 12章 通用计算机的基本结构及启动过程......................227
12.1 PC 系统的基本结构....................228
12.1.1 PC 的基本硬件组成 ...........228
12.1.2 USB 设备..................................231
12.2 PC 系统的启动流程...................233
12.2.1 启动固件....................................233
12.2.2 PC 系统中的硬盘.................236
12.2.3 从固件到硬盘的启动流程 .....................241
12.3 PC 的操作系统...............................242
12.4 习题..............................................245
第 13章 微型计算机的发展方向............................247
13.1 CPU 的结构与速度....................248
13.1.1 通用计算机..............................248
13.1.2 嵌入式计算机.........................249
13.2 存储器的容量与速度..................249
13.2.1 磁存储器....................................250
13.2.2 阻变存储器..............................250
13.2.3 相变存储器..............................251
13.3 指令系统的发展方向..................252
13.4 编译技术的发展..............................253
13.4.1 并行编译技术.........................253
13.4.2 交叉编译技术.........................253
13.4.3 动态编译技术.........................253
13.5 微型计算机其他新技术............254
13.5.1 纳米计算机..............................254
13.5.2 激光计算机..............................254
13.5.3 量子计算机..............................254
13.6 习题................................255
附录 A: AHL-MCP 微机原理实践平台硬件资源...........257
A.1 概述........................................258
A.2 电子资源内容列表..........................258
A.3 硬件清单..................................................258
A.4 实验列表..................................................259
A.5 硬件快速测试方法..........................260
附录 B: AHL-GEC-IDE 安装及基本使用指南..................261
B.1 安装 AHL-GEC-IDE 集成开发环境.......................262
B.2 编译下载运行第 一个程序.........264
B.3 外接软件功能的使用方法........265
B.4 常见错误及解决方法....................267
B.5 卸载 AHL-GEC-IDE 集成开发环境.....................272
B.6 技术咨询......................................273
附录 C: 串行通信构件设计方法......................275
C.1 UART 模块编程结构..................276
C.2 UART 驱动构件汇编语言源码...........................278
C.3 UART 驱动构件 C 语言源码..........................282
参考文献...........................288
猜您喜欢