第1章 微型计算机的基础知识 1
1.1 计算机中的数和编码 1
1.1.1 计算机中的数制 1
1.1.2 符号数的表示法 2
1.1.3 二进制数的算术运算 3
1.1.4 二进制数的逻辑运算与逻辑电路 5
1.1.5 二进制编码 7
1.1.6 BCD数的加减运算 8
1.2.1 触发器 9
1.2 逻辑单元与逻辑部件 9
1.2.2 寄存器 11
1.2.3 移位寄存器 11
1.2.4 计数器 11
1.2.5 三态输出门与缓冲放大器 12
1.2.6 译码器 13
1.3 微型计算机的结构和工作原理 13
1.3.1 微型计算机常用的术语 13
1.3.2 微型计算机的基本结构 14
1.4.1 8051单片机的基本组成 16
1.4 MCS-51单片机的基本组成和存储器配置 16
1.3.3 计算机的工作原理 16
1.4.2 MCS-51单片机的存储器 17
1.4.3 特殊功能寄存器 19
1.5 MCS-51系列单片机 22
1.5.1 51子系列和52子系列 23
1.5.2 单片机芯片的半导体工艺 23
1.5.3 AM系列单片机 23
习题与思考题 23
2.1.1 寄存器寻址 26
2.1 符号指令的寻址方式 26
第2章 汇编语言与汇编程序 26
2.1.2 立即寻址 27
2.1.3 直接寻址 27
2.1.4 间接寻址 27
2.1.5 变址寻址 28
2.1.6 位寻址 28
2.1.7 符号指令的操作数中使用的符号 29
2.2 常用指令 29
2.2.1 数据传送类指令 29
2.2.2 加减运算指令 31
2.2.3 逻辑运算及移位类指令 33
2.2.4 位操作指令 36
2.2.5 指令应用举例 37
2.3 伪指令 40
2.3.1 常量和标号 40
2.3.2 程序的定位和结束伪指令 41
2.4.1 指令周期、机器周期和状态 42
2.4.2 MCS-51指令的时序 42
2.4 指令的时序 42
2.4.3 MCS-51指令的执行过程 43
习题与思考题 45
第3章 程序设计的基本技术 48
3.1 顺序程序设计 48
3.1.1 乘除法指令 48
3.1.2 BCD数加法调整指令 48
3.1.3 顺序程序设计举例 51
3.2 分支程序设计 53
3.2.1 条件转移指令 53
3.2.3 无条件转移指令 54
3.2.2 比较不等转移指令 54
3.2.4 应用举例 55
3.3 循环程序设计 57
3.3.1 减1非零转移指令DJNZ 58
3.3.2 单重循环程序设计举例 58
3.3.3 多重循环程序 63
3.4 子程序设计 64
3.4.1 子程序的概念 64
3.4.2 子程序的调用指令与返回指令 66
3.4.3 子程序及其调用程序设计举例 67
习题与思考题 72
第4章 MCS-51单片机内部接口电路 74
4.1 接口的基本概念 74
4.1.1 接口电路的功能 74
4.1.2 接口控制原理 75
4.1.3 接口控制信号 76
4.2 中断及MCS-51单片机的中断系统 77
4.2.1 中断和中断处理过程 77
4.2.2 MCS-51单片机的中断系统 78
4.2.3 多个外部中断源的系统设计 82
4.3.1 定时器的结构 83
4.3 定时器 83
4.3.2 定时器的工作方式 85
4.3.3 定时器应用举例 87
4.4 并行输入输出接口 90
4.4.1 P1口 90
4.4.2 P3口 91
4.4.3 P2口 92
4.4.4 P0口 92
4.4.5 并行输入输出接口应用举例 93
4.5.1 串行口的构成 100
4.5 串行输入输出接口 100
4.5.2 串行口控制寄存器SCON 101
4.5.3 电源控制寄存器PCON 102
4.5.4 工作方式和波特率的设定 102
4.5.5 串行口应用举例 104
4.6 串行通信 106
4.6.1 双机通信 106
4.6.2 多机通信 108
4.6.3 MCS-51单片机与80x86微型计算机的通信 113
习题与思考题 118
第5章 单片机的最小应用系统与外部扩展 121
5.1 单片机的最小应用系统 121
5.1.1 单片机的时钟电路 121
5.1.2 复位电路和复位状态 122
5.1.3 MCS-51单片机引线及片外总线结构 123
5.1.4 89C51单片机的最小应用系统 125
5.1.5 8031单片机的最小应用系统 125
5.2 单片机的外部扩展 125
5.2.1 外部扩展芯片与地址总线的连接 126
5.2.2 外部扩展芯片与数据总线的连接 128
5.2.3 外部扩展芯片与控制总线的连接 128
5.3 TTL或CMOS芯片扩展的简单I/O接口 128
5.3.1 寄存器扩展的简单输出接口 129
5.3.2 三态缓冲器扩展的输入接口 129
5.3.3 三态缓冲寄存器扩展输入输出接口 130
5.3.4 应用举例 131
习题与思考题 135
6.1.1 存储器的类型 137
6.1.2 存储器的性能指标与分级结构 137
6.1 存储器概述 137
第6章 半导体存储器 137
6.2 常用的存储器芯片 138
6.2.1 半导体存储器芯片的结构 138
6.2.2 随机读写存储器 139
6.2.3 只读存储器 140
6.3 存储器与CPU的接口 140
6.3.1 CPU总线的负载能力 141
6.3.2 存储器容量的选择和CPU与存储器的连接 141
6.3.3 存储器与CPU连接时的速度匹配问题 144
习题与思考题 145
第7章 常用可编程接口芯片 146
7.1 可编程并行接口8255 146
7.1.1 8255的组成与接口信号 146
7.1.2 8255的工作方式与控制字 147
7.1.3 三种工作方式的功能 150
7.2 可编程计数器/定时器8253 153
7.2.1 8253的组成与接口信号 154
7.2.2 计数器的工作方式及其与输入输出的关系 155
7.2.3 8253的控制字和初始化编程 157
7.2.4 8253的应用 158
7.3.1 8155的组成与接口信号 160
7.3 可编程多功能接口8155 160
7.3.2 8155的命令状态字 162
7.3.3 8155与MCS-51单片机的连接 163
7.4 键盘/显示控制器8279 165
7.4.1 8279的组成与接口信号 165
7.4.2 8279的操作命令 167
7.4.3 8279在键盘和显示器接口中的应用 167
习题与思考题 171
8.1.1 8位数模转换芯片DAC0832 173
第8章 模拟通道接口 173
8.1 数模转换器DAC及其与微型计算机的接口 173
8.1.2 12位数模转换芯片DAC1210 181
8.1.3 10位D/A转换器AD7520 182
8.2 模数转换器ADC及其与微型计算机的接口 183
8.2.1 8位逐次逼近式A/D转换芯片ADC0808 183
8.2.2 12位逐次比较式数模转换芯片AD574 185
习题与思考题 188
附录A 指令系统表 190
附录B 指令对状态标志位CY、OV、AC的影响 193