章微型计算机基本结构及信息表示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.3AHL-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英文编码——ASCII21
1.5.2中文编码——GB2312及GBK22
1.6习题23
第2章微型计算机的硬件系统25
2.1微型计算机的硬件共性结构及基本性能指标26
2.1.1微型计算机的硬件共性结构26
2.1.2微型计算机基本性能指标27
2.2ArmCortex-M微处理器概述28
2.2.1ArmCortex系列微处理器系列概述28
2.2.2ArmCortex-M4微处理器29
2.3CPU内部寄存器与存储器映像31
2.3.1寄存器基础知识及相关基本概念31
2.3.2ArmCortex-M4内部寄存32
2.3.3ArmCortex-M4存储器映像36
2.4ArmCortex-M4内核的微型计算机芯片实例37
2.4.1STM32L4系列MCU简介37
2.4.2STM32L4存储映像与中断源37
2.4.3STM32L4的引脚功能41
2.4.4STM32L4硬件最小系统原理图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.4GUN汇编器的基本语法65
3.4.1汇编语言概述65
3.4.2GUN汇编书写格式65
3.4.3GUN汇编常用伪指令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.2GPIO构件知识要素分析86
4.3.3GPIO构件的使用方法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.1RAM119
6.2.2ROM121
6.3SD卡与高速缓存122
6.3.1SD卡122
6.3.2高速缓存124
6.4Flash存储器128
6.4.1Flash在线编程的通用基础知识128
6.4.2Flash驱动构件知识要素分析128
6.4.3Flash驱动构件的使用方法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.3RS232、RS485总线标准140
7.1.4TTL电平到RS232电平转换电路141
7.2UART驱动构件及使用方法142
7.2.1UART驱动构件要素分析142
7.2.2UART驱动构件使用方法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.3ArmCortex-M4F非内核模块中断158
8.2定时器.160
8.2.1定时器的基本含义160
8.2.2ArmCortex-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.2ADC驱动构件及使用方法176
9.2.1ADC驱动构件要素分析176
9.2.2ADC驱动构件使用方法178
9.2.3ADC驱动构件使用举例179
9.3数模转换181
9.3.1DAC的通用基本结构181
9.3.2DAC的主要技术指标182
9.4DAC驱动构件及使用方法要素分析183
9.4.1DAC驱动构件要素分析183
9.4.2DAC驱动构件使用方法184
9.4.3DAC驱动构件使用举例184
9.5实验六:AD转换模块实验186
9.6习题188
0章直接存储器存取DMA189
10.1DMA的基本概念190
10.1.1DMA的含义190
10.1.2DMA控制器190
10.2DMA的一般操作流程190
10.3DMA构件头文件及使用方法191
10.4DMA驱动构件要素分析193
10.5DMA驱动构件的使用方法193
10.6实验七:通过DMA实现内存间数据的搬运194
10.7习题194
1章外接组件综合实践195
11.1开关量输出类实践196
11.1.1彩灯196
11.1.2蜂鸣器198
11.1.3马达202
11.1.4LED205
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
2章通用计算机的基本结构及启动过程227
12.1PC系统的基本结构228
12.1.1PC的基本硬件组成228
12.1.2USB设备231
12.2PC系统的启动流程233
12.2.1启动固件233
12.2.2PC系统中的硬盘236
12.2.3从固件到硬盘的启动流程241
12.3PC的操作系统242
12.4习题245
3章微型计算机的发展方向247
13.1CPU的结构与速度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.1UART模块编程结构276
C.2UART驱动构件汇编语言源码278
C.3UART驱动构件C语言源码282
参考文献288