第1章 微型计算机基础 1
1.1 计算机中的数和编码 1
1.1.1 计算机中的数制 1
1.1.2 符号数的表示法 2
1.1.3 二进制数的加减运算 5
1.1.4 二进制数的逻辑运算与逻辑电路 7
1.1.5 二进制编码 9
1.1.6 BCD数的加减运算 11
1.2 微型计算机和单片机 12
1.2.1 微型计算机常用的术语 12
1.2.2 微型计算机 12
1.2.3 单片机 15
1.3 MCS-51单片机及其兼容单片机的基本组成和存储器配置 15
1.3.1 8051单片机的基本组成 15
1.3.2 MCS-51单片机的存储器 17
1.3.3 特殊功能寄存器 19
1.4 MCS-51系列单片机及兼容机 22
1.4.1 51子系列和52子系列 22
1.4.2 AT89系列单片机 23
1.4.3 MCS-51单片机的引线 25
习题与思考题 26
第2章 汇编语言与汇编程序 28
2.1 符号指令的寻址方式 28
2.2 常用指令 31
2.2.1 数据传送类指令 31
2.2.2 加减运算指令 34
2.2.3 逻辑运算及移位类指令 37
2.2.4 位操作指令 40
2.2.5 指令应用举例 41
2.3 伪指令 43
2.3.1 常量和标号 44
2.3.2 程序的定位和结束伪指令 45
2.4 指令的时序 46
习题与思考题 49
第3章 汇编语言程序设计的基本技术 52
3.1 顺序程序设计 52
3.1.1 乘除法指令 52
3.1.2 BCD数加法调整指令DAA 54
3.1.3 顺序程序设计举例 55
3.2 分支程序设计 57
3.2.1 条件转移指令 57
3.2.2 比较不等转移指令 58
3.2.3 无条件转移指令 59
3.2.4 应用举例 61
3.3 循环程序设计 62
3.3.1 减1非零转移指令DJNZ 63
3.3.2 单重循环程序设计举例 64
3.3.3 多重循环程序 67
3.4 子程序设计 69
3.4.1 子程序的概念 69
3.4.2 子程序的调用指令与返回指令 71
3.4.3 子程序及其调用程序设计举例 72
习题与思考题 76
第4章 MCS-51单片机内部接口电路 78
4.1 接口的基本概念 78
4.1.1 接口电路的功能 78
4.1.2 接口控制原理 79
4.1.3 串行接口UART、SPI和I2C/SMBus 80
4.1.4 并行接口 82
4.2 中断及MCS-51单片机的中断系统 82
4.2.1 中断和中断处理 82
4.2.2 MCS-51单片机的中断系统 84
4.2.3 多个外部中断源的系统设计 87
4.3 定时器 88
4.3.1 定时器的结构 89
4.3.2 定时器的工作方式 90
4.3.3 定时器应用举例 93
4.4 并行输入输出接口 96
4.5 UART串行输入输出接口 105
4.6 串行通信 111
4.6.1 双机通信 111
4.6.2 多机通信 112
4.6.3 MCS-51单片机与80x86微型计算机的通信 118
4.7 52子系列单片机 122
4.7.1 内部RAM 122
4.7.2 定时器T2 123
习题与思考题 128
第5章 单片机的最小应用系统与外部扩展 130
5.1 单片机的最小应用系统 130
5.1.1 单片机的时钟电路 130
5.1.2 复位电路及复位状态 131
5.1.3 MCS-51单片机的片外总线结构 132
5.1.4 89S51单片机的最小应用系统 134
5.1.5 8031单片机的最小应用系统 134
5.2 单片机的外部扩展 134
5.2.1 外部扩展芯片与地址总线的连接 135
5.2.2 外部扩展芯片与数据总线的连接 137
5.2.3 外部扩展芯片与控制总线的连接 137
5.3 用TTL或CMOS芯片扩展简单的I/O接口 138
5.3.1 用寄存器扩展简单的输出接口 138
5.3.2 用三态缓冲器扩展输入接口 139
5.3.3 三态缓冲寄存器扩展输入输出接口 140
5.3.4 应用举例 141
5.3.5 开关量的驱动与隔离 146
习题与思考题 148
第6章 存储器及其扩展 149
6.1 存储器概述 149
6.2 常用的存储器芯片 150
6.2.1 存储器芯片的结构 150
6.2.2 随机读写存储器 151
6.2.3 只读存储器 152
6.3 存储器的扩展 154
6.4 串行EEPROM存储器及其应用 158
6.4.1 24LC×× 159
6.4.2 X25043/45 169
6.4.3 X84041 177
习题与思考题 181
第7章 常用可编程接口 182
7.1 可编程并行接口8255 182
7.1.1 8255的组成与接口信号 182
7.1.2 8255的工作方式与控制字 183
7.1.3 3种工作方式的功能 186
7.1.4 8255在液晶显示器接口中的应用 190
7.2 可编程计数器/定时器8253 197
7.2.1 8253的组成与接口信号 198
7.2.2 计数器的工作方式及其与输入输出的关系 199
7.2.3 8253的控制字和初始化编程 201
7.2.4 8253的应用 202
7.3 可编程多功能接口8155 204
7.3.1 8155的组成与接口信号 204
7.3.2 8155的命令状态字 206
7.3.3 8155与MCS-51单片机的连接 207
7.3.4 8155在键盘和七段显示器接口中的应用 209
7.4 键盘/显示控制器8279 212
7.4.1 8279的组成与接口信号 212
7.4.2 8279的操作命令 214
7.4.3 8279在键盘和显示器接口中的应用 215
7.5 HD7279键盘、显示器接口 219
7.5.1 HD7279的引线排列和接口信号 219
7.5.2 HD7279的操作命令 219
7.5.3 HD7279的操作时序 221
7.5.4 HD7279的应用举例 222
习题与思考题 224
第8章 模拟通道接口 225
8.1 数模转换器及其与微型计算机的接口 225
8.1.1 8位数模转换芯片DAC0832 226
8.1.2 12位数模转换芯片DAC1210 233
8.1.3 10位D/A转换器AD7520 235
8.2 模数转换器及其与微型计算机的接口 235
8.2.1 8位逐次逼近式A/D转换芯片ADC0808 236
8.2.2 12位逐次比较式数模转换芯片AD574 237
8.3 串行模数转换器和数模转换器及其与单片微机的接口 240
8.3.1 串行模数转换器TLC2543 240
8.3.2 串行输入12位电压输出数/模转换器TLV5616 244
习题与思考题 247
附录A MCS-51单片机C语言——C51 248
附录B 8xC552单片机 267
附录C C8051Fxxx单片机 281
附录D MCS-51指令系统表 316
附录E MCS-51指令速查表 320