1 微处理机概论 1
1.1 微处理机的产生与发展 1
1.1.1 微处理机的应用范围 1
目录 1
1.1.2 微处理器及微型计算机的产生与发展 2
1.1.3 微处理器的分类及特点 3
1.1.4 微处理器的发展趋势 4
1.2 微处理机的基本概念 5
1.2.1 冯·诺依曼型计算机的基本组成 5
1.2.2 冯·诺依曼型计算机的特点 6
1.2.3 冯·诺依曼型计算机的工作过程 7
1.2.4 相关概念 8
1.3 微处理机的硬件基础 9
1.3.1 布尔代数 9
1.2.5 微处理器知识的学习 9
1.3.2 基本逻辑部件的外部特性 10
1.3.3 触发器 13
1.4 微处理机的软件基础 14
1.4.1 数制 14
1.4.2 计算机中数的表示 16
1.4.3 数码 17
习题与思考题1 19
2 MCS-51微处理器 20
2.1 微处理器概述 20
2.1.1 微处理器和微控制器 20
2.1.2 CISC和RISC体系结构 20
2.1.3 4位、8位、16位和32位单片机 21
2.2 微处理器的结构 21
2.2.1 微处理器的基本组成 21
2.2.3 控制器和指令执行 23
2.2.2 运算器和运算结果 23
2.2.4 寄存器组 26
2.2.5 总线和存储组织 27
2.2.6 堆栈存储器 29
2.3 MCS-51硬件结构 31
2.3.1 硬件资源 31
2.3.2 结构框图 32
2.3.3 封装与引线端功能 33
2.3.4 存储空间配置 35
2.4 时钟、复位和时序 43
2.4.1 时钟与时钟电路 43
2.4.2 复位和复位电路 43
2.4.3 总线组成和时序 45
习题与思考题2 50
3.1.1 计算机指令格式 51
3.1.2 指令系统支持的数据形式 51
3 MCS-51微处理器指令系统 51
3.1 数据与寻址 51
3.1.3 指令系统支持的寻址方式 52
3.1.4 指令系统支持的辅助结果 55
3.2 数据传送类指令 56
3.2.1 内部数据传送指令 56
3.2.2 外部数据传送指令 59
3.2.3 堆栈操作指令 61
3.2.4 数据交换指令 62
3.3 数据运算类指令 63
3.3.1 加法指令 63
3.3.2 减法指令 67
3.4.1 逻辑与指令 68
3.4 逻辑操作类指令 68
3.3.3 乘法指令 68
3.3.4 除法指令 68
3.4.2 逻辑或指令 69
3.4.3 逻辑异或指令 69
3.4.4 累加器清零和取反指令 70
3.4.5 移位指令 70
3.5 程序控制类指令 71
3.5.1 无条件转移指令 71
3.5.2 条件转移指令 74
3.5.3 子程序调用和返回指令 76
3.5.4 空操作指令 78
3.6 布尔操作类指令 79
3.6.1 布尔数据传送指令 79
3.6.2 布尔状态设置指令 79
3.6.4 位控制转移指令 80
3.6.3 位运算指令 80
习题与思考题3 81
4 汇编语言程序设计 83
4.1 汇编语言源程序 83
4.1.1 程序设计语言 83
4.1.2 汇编语言源程序的格式 84
4.1.3 汇编语言伪指令 84
4.2 汇编语言程序设计 86
4.2.1 汇编语言程序设计步骤 86
4.2.2 程序流程图 87
4.2.3 结构程序设计模块 88
4.2.4 子程序 89
4.3 汇编语言程序设计实例 92
4.3.1 数据传送程序 92
4.3.2 数值运算程序 93
4.3.3 数码转换程序 98
4.3.4 数据处理程序 100
4.3.5 其他类型程序 105
习题与思考题4 107
5 MCS-51的存储器 109
5.1 存储器概述 109
5.1.1 存储器的分类 109
5.1.2 PC机中的主存储器 111
5.1.3 微处理机系统中存储器的组织 111
5.2 MCS-51单片机的存储器 112
5.2.1 MCS-51单片机中存储器的总体结构 112
5.2.2 半导体存储器芯片的基本结构 112
5.2.3 MCS-51单片机常用程序存储器 113
5.2.4 MCS-51单片机常用数据存储器 114
5.3.1 系统扩展三总线 115
5.3 MCS-51系统存储器扩展 115
5.3.2 并行扩展时的地址译码 116
5.3.3 常用译码芯片 117
5.3.4 特殊译码方法 119
5.3.5 程序存储器的扩展 119
5.3.6 数据存储器的扩展 121
习题与思考题5 123
6 输入输出与中断 124
6.1 输入输出与接口 124
6.1.1 输入输出接口概念 124
6.1.2 I/O接口的作用与分类 126
6.1.3 CPU与外设的数据传送方式 127
6.2 中断的基本概念 128
6.2.1 中断的作用和功能 128
6.2.2 中断的相关概念 129
6.2.3 中断的实现方法 130
6.3.1 MCS-51中断结构 131
6.3 MCS-51的中断系统 131
6.3.2 MCS-51的中断应用编程 135
6.3.3 MCS-51的中断扩展 137
习题与思考题6 138
7 定时器/计数器 139
7.1 定时器/计数器概述 139
7.1.1 定时器/计数器的作用 139
7.1.2 定时器/计数器的结构方法 139
7.1.3 定时器/计数器的扩展应用 139
7.2 MCS-51的定时器/计数器 140
7.2.1 MCS-51的定时器/计数器结构特点 140
7.2.2 MCS-51定时器/计数器的特殊寄存器 143
7.2.3 MCS-51定时器/计数器的应用编程 145
习题与思考题7 155
8.1.1 MCS-51片内并行口 156
8.1.2 P0口 156
8 并行I/O接口 156
8.1 MCS-51的片内并行I/O接口 156
8.1.3 P1口 157
8.1.4 P2口 157
8.1.5 P3口 158
8.1.6 片内并口操作指令 159
8.1.7 片内并口应用实例 160
8.2 简单并行I/O接口扩展 162
8.2.1 简单并行输入口扩展 163
8.2.2 简单并行输出口扩展 163
8.3 可编程并行接口8255 165
8.3.1 8255的结构 165
8.3.2 8255的控制字 167
8.3.3 8255的工作方式 168
8.3.4 8255的应用实例 171
8.3.5 可编程并行接口芯片8155简介 174
习题与思考题8 175
9 串行I/O接口 176
9.1 串行通信的基本概念 176
9.1.1 串行通信的基本方式 176
9.1.2 串行通信的基本类型 177
9.1.3 串行通信的波特率和传输速率 177
9.1.4 串行通信的出错校验 177
9.2 MCS-51的串行I/O接口 178
9.2.1 MCS-51串行口概述 178
9.2.2 MCS-51串行口结构 178
9.2.3 串行口的特殊寄存器 179
9.2.4 串行口的工作方式 181
9.2.6 串行口应用示例 183
9.2.5 波特率的设定 183
9.3 串行方式的系统扩展技术 190
9.3.1 系统扩展的串行接口方式 190
9.3.2 串行方式的存储器扩展技术 191
9.3.3 串行方式的I/O接口扩展技术 197
习题与思考题9 200
10 人机I/O接口 201
10.1 人机接口概述 201
10.1.1 PC机中的人机输入接口 201
10.1.2 PC机中的人机输出接口 203
10.2 单片机常用输入设备接口 206
10.2.1 单片机常用输入设备与特点 206
10.2.2 扳动开关与MCS-51接口 207
10.2.3 拨盘开关与MCS-51接口 208
10.2.4 按钮开关与MCS-51接口 208
10.2.5 非编码键盘与MCS-51接口 209
10.2.6 触摸屏与MCS-51接口 210
10.3.1 单片机常用输出设备与特点 213
10.3.2 LED与MCS-51接口 213
10.3 单片机常用输出设备接口 213
10.3.3 七段数码管与MCS-51接口 214
10.3.4 LED列阵与MCS-51接口 216
10.3.5 LCD显示器与MCS-51接口 216
10.4 可编程键盘、显示接口芯片8279 219
10.4.1 8279的结构框图 219
10.4.2 8279的端口寄存器 221
10.4.3 8279与MCS-51系统的硬件接口 223
10.4.4 8279的应用编程 224
习题与思考题10 227
11.1.1 模拟通道的构成 228
11.1.2 模拟量输入通道 228
11.1 模拟通道概述 228
11 模拟通道接口 228
11.1.3 模拟量输出通道 229
11.2 数模转换技术 230
11.2.1 数模转换原理 230
11.2.2 数模转换器的技术指标 231
11.2.3 DAC0832的原理与应用 232
11.2.4 12位DAC与MCS-51单片机的接口 237
11.2.5 PWM技术 238
11.3 模数转换技术 239
11.3.1 模数转换原理 239
11.3.2 模数转换器的技术指标 240
11.3.3 ADC0809的原理与应用 240
11.3.4 12位ADC与MCS-51单片机的接口 244
习题与思考题11 246
12.1.2 应用系统开发 248
12.1.1 微处理机应用系统 248
12.1 微处理机应用系统概念 248
12 微处理机应用系统开发 248
12.2 源程序及目标程序的获得 256
12.2.1 源程序的获得 256
12.2.2 源程序汇编 257
12.3 仿真调试与程序固化 259
12.3.1 仿真调试设备 259
12.3.2 程序的仿真调试 260
12.3.3 程序的固化 260
习题与思考题12 261
13 嵌入式微控制器 263
13.1 嵌入式微控制器概述 263
13.1.1 嵌入式系统 263
13.1.2 嵌入式微控制器 264
13.1.3 常见的嵌入式功能模块 265
13.2.1 Philips公司的嵌入式MCS-51兼容单片机 269
13.2 MCS-51兼容的嵌入式微控制器 269
13.2.2 Atmel公司的嵌入式MCS-51兼容单片机 272
13.2.3 ADI公司的嵌入式MCS-51兼容单片机 272
13.3 MC68HC08嵌入式微处理器 276
13.3.1 MC68HC08的特点 276
13.3.2 MC68HC08的CPU结构 278
13.3.3 MC68HC08的时钟与复位 278
13.3.4 MC68HC08的存储空间 280
13.3.5 MC68HC08的指令系统 281
13.3.6 MC68HC08的编程举例 284
习题与思考题13 285
附录一 ASCII(美国标准信息交换码)表 286
附录二 MCS-51指令系统表 287
参考文献 291