第1章 MCS-51单片机系统结构 1
1.1 单片机概述 1
1.1.1 单片机的特点 1
1.1.2 单片机的发展概况 1
1.1.3 典型单片机系列的介绍 3
1.2 MCS-51单片机结构简介 4
1.2.1 MCS-51单片机的内部结构 5
1.2.2 80C51/80C52单片机的引脚定义及功能 6
1.2.3 内部数据存储器及专用寄存器 8
1.2.4 外部数据存储器 13
1.2.5 程序存储器 13
1.3 并行I/O接口 14
13.1 P0口 14
1.3.2 P1口 15
1.3.3 P2口 16
1.3.4 P3口 16
1.4 单片机的复位电路与时钟电路 17
1.4.1 单片机的复位电路 17
1.4.2 单片机的时钟电路 19
1.4.3 单片机的CPU时序 20
1.5 单片机的工作方式 22
1.6 构建MCS-51型单片机的最小系统 24
本章小结 26
习题 26
第2章 MCS-51指令系统与程序设计 27
2.1 概述 27
2.1.1 指令格式 27
2.1.2 指令分类 28
2.2 寻址方式 28
2.2.1 立即数寻址 28
2.2.2 直接寻址 29
2.2.3 寄存器寻址 29
2.2.4 寄存器间接寻址 29
2.2.5 变址寻址 30
2.2.6 相对寻址 30
2.2.7 位寻址 30
2.3 指令系统 30
2.3.1 指令系统中的符号说明 31
2.3.2 数据传送类指令 31
2.3.3 算术运算类指令 33
2.3.4 逻辑运算及移位类指令 37
2.3.5 控制转移类指令 41
2.3.6 位操作类指令 43
2.3.7 常用伪指令 44
2.4 汇编程序设计 46
2.4.1 延时程序 46
2.4.2 分支程序 46
2.4.3 循环程序 48
2.4.4 地址表法散转程序 49
2.4.5 查表法程序设计 50
2.4.6 代码转换程序设计 51
2.4.7 定点数运算程序设计 52
2.4.8 子程序设计与堆栈技术 53
本章小结 55
习题 55
第3章 单片机的定时与中断系统 58
3.1 定时器/计数器 58
3.1.1 单片机定时器/计数器的结构 58
3.1.2 定时器/计数器的工作方式 60
3.1.3 定时器/计数器的编程和应用 62
3.2 中断系统 66
3.2.1 中断概述 66
3.2.2 MCS-51的中断系统 67
3.2.3 中断的控制与管理 68
3.2.4 中断处理过程 71
3.2.5 外部中断源的扩展 73
3.2.6 中断的应用 74
3.3 单片机中断与定时器/计数器的应用训练 76
3.3.1 外部中断的应用训练 76
3.3.2 定时器/计数器的应用训练 78
3.3.3 外部脉宽的测量训练 81
3.3.4 “看门狗”的应用训练 85
本章小结 87
习题 87
第4章 串行通信技术 89
4.1 串行通信概念&.. 89
4.1.1 串行通信的基本方式 89
4.1.2 串行通信的传送方向 90
4.1.3 串行通信的波特率 90
4.2 MCS-51串行通信接口 91
4.2.1 串行通信口的结构 91
4.2.2 串行口专用寄存器 91
4.2.3 串行通信的工作方式 93
4.2.4 串行口的应用 96
4.3 串行口的扩展应用 99
4.3.1 串行口扩展显示器训练 99
4.3.2 串行口扩展的键盘训练 101
4.4 串行通信的应用 102
4.4.1 中断方式下的双机通信训练 102
4.4.2 用电流环实现远距离通信训练 105
4.4.3 计算机与单片机的通信训练 106
4.4.4 中断方式下的多机通信训练 110
本章小结 114
习题 114
第5章 单片机的系统扩展技术 116
5.1 程序存储器的扩展 116
5.1.1 单片机程序存储器概述 117
5.1.2 EPROM程序存储器扩展实例 119
5.1.3 EEPROM扩展电路实例 120
5.1.4 常用程序存储器芯片 122
5.2 数据存储器的扩展 124
5.2.1 单片机RAM概述 124
5.2.2 SRAM扩展实例 126
5.2.3 新型存储器简介 127
5.3 TTL芯片扩展I/O并行接口的应用训练 128
5.3.1 用74LS377扩展8位并行输出接口的使用训练 129
5.3.2 用74LS373扩展8位并行输入接口的使用训练 130
5.3.3 用三态门扩展8位并行I/O接口的使用训练 131
5.4 Intel系列可编程接口芯片 132
5.4.1 8255A可编程外围并行接口的结构及性能介绍 132
5.4.2 训练内容 139
5.4.3 8255的应用实例 139
5.4.4 参考程序 140
5.5 8155/8156可编程I/O接口的应用训练 141
5.5.1 8155可编程I/O接口的结构及性能介绍 141
5.5.2 训练内容 143
5.5.3 MCS-51单片机与8155接口的操作电路图 145
5.5.4 8155的编程应用 145
5.6 8253/8254可编程定时器/计数器的应用训练 146
5.6.1 8253/8254可编程定时器/计数器的结构及性能介绍 146
5.6.2 8253和MCS-51的接口电路图 154
5.6.3 8253的应用举例 155
本章小结 157
习题 157
第6章 单片机接口实用技术及应用 159
6.1 单片机与键盘接口 159
6.1.1 键盘的工作原理 159
6.1.2 独立式按键 161
6.1.3 矩阵式按键 162
6.2 单片机与显示器接口 166
6.2.1 LED显示和接口 166
6.2.2 Intel 8279 176
6.2.3 LED大屏幕显示 185
6.2.4 LCD液晶显示器和接口 188
6.3 D/A转换器接口 197
6.3.1 D/A转换器概述 197
6.3.2 典型D/A转换器芯片DAC0832 198
6.3.3 单缓冲方式的接口与应用 200
6.3.4 双缓冲方式的接口与应用 202
6.4 A/D转换器接口 204
6.4.1 A/D转换器概述 204
6.4.2 典型A/D转换器芯片ADC0809 204
6.4.3 MCS-51单片机与ADC0809接口 206
6.4.4 应用举例 208
本章小结 209
习题 210
第7章 单片机开发系统 211
7.1 单片机开发系统概述 211
7.2 单片机开发系统的功能 211
7.2.1 在线仿真功能 211
7.2.2 调试功能 212
7.2.3 辅助设计功能 213
7.2.4 程序固化功能 214
7.3 单片机应用系统的调试 214
7.3.1 硬件的调试方法 214
7.3.2 软件调试方法 215
7.4 单片机开发系统举例 216
本章小结 218
习题 219
第8章 单片机应用系统的设计方法 220
8.1 单片机应用系统开发的一般方法 220
8.1.1 总体设计 220
8.1.2 硬件设计 221
8.1.3 软件设计 222
8.1.4 系统调试 223
8.2 单片机应用系统的实用技术 224
8.2.1 低功耗设计 224
8.2.2 加密技术 226
8.3 抗干扰设计 229
8.3.1 电源、地线、传输干扰及其对策 229
8.3.2 硬件抗干扰措施 230
8.3.3 软件抗干扰措施 234
本章小结 237
习题 237
第9章 单片机高级语言C51的应用 238
9.1 C51程序的开发过程 238
9.2 用C语言编写51单片机软件的一般方法 239
9.2.1 8051单片机I/O口控制的C语言应用 239
9.2.2 MCS-51单片机内部定时器的C语言应用 243
9.2.3 MCS-51单片机中断系统的C语言应用 245
9.3 常用C51软件设计的应用训练 247
9.3.1 模拟开关灯的设计实训 248
9.3.2 4×4矩阵式键盘识别技术的设计实训 250
9.3.3 8×8LED点阵显示原理与编程技术实训 258
9.3.4 简易数字电压表的设计实训 263
9.3.5 PC与MCS-51单片机串行通信的C51软件实训 266
习题 268
参考文献 269