绪论 单片机概述 1
0.1 单片机的发展及意义 1
目录 1
0.2 单片机的软硬件系统 2
0.2.1 单片机硬件系统 2
0.2.2 单片机软件系统 3
0.3 MCS-51单片机系列 4
0.3.1 51子系列和52子系列 4
0.3.2 单片机芯片的半导体工艺 5
0.3.3 片内ROM存储器配置形式 5
1.1 MCS-51单片机的内部组成及信号引脚 6
1.1.1 8051单片机的基本组成 6
1 MCS-51单片机结构和原理 6
1.1.2 MCS-51的信号引脚 7
1.2 8051的内部存储器 9
1.2.1 内部数据存储器低128单元 9
1.2.2 内部数据存储器高128单元 11
1.2.3 堆栈及堆栈指示器 15
1.2.4 内部程序存储器 16
1.3 并行输入/输出口电路结构 17
1.3.1 P0口 17
1.3.2 P1口 18
1.3.3 P2口 19
1.3.4 P3口 19
1.4 时钟电路与时序 20
1.4.1 时钟电路 20
1.4.3 MCS-51指令时序 21
1.4.2 时序定时单位 21
1.5 MCS-51单片机工作方式 24
1.5.1 复位方式 24
1.5.2 程序执行方式 26
1.5.3 单步执行方式 26
1.5.4 掉电保护方式 26
1.5.5 低功耗方式(80C51) 27
思考题与练习题 28
2 MCS-51指令系统 29
2.1 MCS-51指令系统概述 29
2.1.1 指令格式 29
2.1.2 寻址方式 31
2.1.3 单片机执行指令的过程 34
2.2.1 内部RAM数据传送指令组 36
2.2 数据传送类指令 36
2.1.4 指令中符号意义说明 36
2.2.2 外部RAM数据传送指令组 38
2.2.3 程序存储器数据传送指令组 38
2.2.4 数据交换指令组 39
2.2.5 堆栈操作指令组 40
2.2.6 数据传送类指令汇总及说明 40
2.3 算术运算类指令 42
2.3.1 加法指令组 42
2.3.2 带进位加法指令组 43
2.3.3 带借位减法指令组 43
2.3.4 加1指令组 44
2.3.5 减1指令组 44
2.3.6 乘除指令组 45
2.3.7 十进制调正指令 45
2.3.8 算术运算类指令汇总 47
2.4.1 逻辑与运算指令组 48
2.4.2 逻辑或运算指令组 48
2.4 逻辑运算及移位类指令 48
2.4.3 逻辑异或运算指令组 49
2.4.4 累加器清0取反指令组 49
2.4.5 移位指令组 49
2.4.6 逻辑运算及移位类指令汇总 50
2.5 控制转移类指令 51
2.5.1 无条件转移指令组 51
2.5.2 条件转移指令组 53
2.5.3 子程序调用与返回指令组 56
2.5.4 空操作指令 57
2.5.5 控制转移类指令汇总 57
2.6.1 位传送指令组 58
2.6 布尔变量操作类指令 58
2.6.2 位置位复位指令组 59
2.6.3 位运算指令组 59
2.6.4 位控制转移指令组 60
2.6.5 布尔变量操作类指令汇总 60
思考题与练习题 61
3 存储器与存储器扩展 64
3.1 单片机扩展及系统结构 64
3.1.1 单片机的扩展结构 64
3.1.2 单片机扩展的实现 65
3.2 扩展存储器编址及映像 66
3.2.1 存储器编址技术 66
3.3.1 只读存储器概述 68
3.3 程序存储器扩展 68
3.2.2 存储映像 68
3.3.2 典型只读存储器芯片 69
3.3.3 程序存储器扩展举例 71
3.4 数据存储器扩展 72
3.4.1 随机存储器概述 72
3.4.2 典型随机存储器芯片 73
3.4.3 数据存储器扩展举例 73
3.4.4 扩展既可读又可写的程序存储器 76
3.5 单片机存储器的特点 77
3.5.1 多种存储器的交叠 77
3.5.2 交叠存储器的使用 77
思考题与练习题 79
4.1.1 什么是中断 81
4.1 微型计算机中断技术概述 81
4 中断与定时 81
4.1.2 中断功能 82
4.1.3 中断处理流程 82
4.2 MCS-51单片机中断系统 83
4.2.1 中断源 83
4.2.2 中断控制 84
4.2.3 中断响应 87
4.2.4 中断请求的撤除 89
4.3 MCS-51定时器/计数器 90
4.3.1 定时方法概述 90
4.3.2 定时器/计数器的定时和计数功能 90
4.3.3 定时器/计数器的控制寄存器 91
4.3.4 定时工作方式0 92
4.3.5 定时工作方式1 94
4.3.6 定时工作方式2 95
4.3.7 定时工作方式3 97
4.3.8 用定时器/计数器进行外部中断扩展 98
4.4 定时器/计数器与中断联合应用举例 100
思考题与练习题 102
5 单片机I/O扩展及应用 104
5.1 微型计算机I/O接口技术概述 104
5.1.1 计算机为什么需要I/O接口电路 104
5.1.2 接口与端口 105
5.1.3 数据总线隔离技术 106
5.1.4 I/O编址技术 107
5.1.5 I/O数据传送的控制方式 108
5.2 MCS-51单片机I/O口直接应用 110
5.2.1 有关I/O口的操作指令 111
5.2.2 I/O口的直接应用 112
5.3 单片机简单I/O扩展 114
5.3.1 简单输入接口扩展 114
5.3.2 简单输出接口扩展 116
5.4 8255A作单片机的可编程I/O扩展 117
5.4.1 单片机的可编程I/O扩展 117
5.4.2 8255A的逻辑结构和信号引脚 118
5.4.3 8255A的工作方式及数据I/O操作 120
5.4.4 8255A控制字及初始化编程 122
5.5 单片机打印机接口技术 123
5.5.1 微型打印机简介 123
5.5.2 查询方式的打印驱动 123
5.6 8155作单片机的可编程I/O扩展 125
5.6.1 8155基本结构及工作方式 125
5.6.2 8155与MCS-51单片机的连接 127
5.6.3 8155的命令/状态字 128
5.6.4 8155的定时器/计数器 129
5.6.5 8155应用举例 131
5.7 单片机键盘接口技术 131
5.7.1 按键识别流程 132
5.7.2 键盘接口及程序设计 134
5.8 单片机LED显示器接口技术 137
5.8.1 LED显示器 137
5.8.2 8155作LED显示器接口及显示程序 139
思考题与练习题 141
6 MCS-51汇编语言程序设计 142
6.1 汇编语言及汇编语言程序设计 142
6.1.1 汇编语言及其语句格式 142
6.1.2 汇编语言程序设计 143
6.2 MCS-51汇编语言程序设计举例 144
6.2.1 汇编语言程序的基本结构 144
6.2.2 定时程序 150
6.2.3 查表程序 152
6.2.4 数据极值查找程序 153
6.2.5 数据排序程序 154
6.2.6 数据检索程序 156
6.3 单片机汇编语言源程序的编辑和汇编 159
6.3.1 单片机源程序编辑 159
6.3.2 源程序的汇编 161
6.3.3 伪指令 163
6.3.4 MASM51交叉汇编程序 165
6.3.5 目标程序的串行传送 168
思考题与练习题 169
6.3.6 PC监控程序 169
7 单片机串行数据通信 171
7.1 串行数据通信基础知识 171
7.1.1 串行数据通信基本原理 171
7.1.2 RS-232C总线标准 174
7.1.3 串行接口芯片 175
7.2 MCS-51的串行口及控制寄存器 176
7.2.1 串行口寄存器结构 177
7.2.2 串行通信控制寄存器 177
7.3 MCS-51串行通信工作方式及其应用 179
7.3.1 串行工作方式0 179
7.3.2 串行工作方式1 181
7.3.3 串行工作方式2 184
7.4.1 多机通信原理 185
7.3.4 串行工作方式3 185
7.4 单片机多机通信 185
7.4.2 多机通信举例 186
思考题与练习题 191
8 单片机与数/模及模/数转换器接口 192
8.1 D/A转换器的接口和应用 192
8.1.1 D/A转换器接口技术性能 192
8.1.2 典型D/A转换器芯片DAC0832 193
8.1.3 单缓冲方式的接口与应用 194
8.1.4 双缓冲方式的接口与应用 198
8.1.5 正弦波发生器 200
8.2 A/D转换器的接口与应用 204
8.2.1 A/D转换器概述 204
8.2.2 典型A/D转换器芯片ADC0809 204
8.2.3 MCS-51单片机与ADC0809接口 206
8.2.4 应用举例 208
8.2.5 逐次逼近式A/D转换的软件实现 208
思考题与练习题 210
9 单片机应用及可靠性技术 212
9.1 单片机应用的特点 212
9.2 单片机应用举例 213
9.2.1 单片机作息时间控制钟 213
9.2.2 单片机顺序控制 215
9.2.3 水塔水位控制 217
9.2.4 数字式热敏电阻温度计 220
9.2.5 用单片机玩“乒乓球”游戏 224
9.2.6 交通信号灯模拟控制 229
9.2.7 步进电机控制 235
9.3.1 接地技术 240
9.3 单片机系统的可靠性技术 240
9.3.2 屏蔽技术 243
9.3.3 隔离技术 243
9.3.4 滤波技术 244
9.3.5 抑制反电势干扰技术 245
10 DP-851单片机实验系统 246
10.1 DP-851系统结构 246
10.1.1 主板 246
10.1.2 实验板及扩展板等 248
10.1.3 主要技术性能及资源 249
10.2 键盘监控命令及操作 250
10.2.1 键盘监控命令 250
10.2.2 键盘监控操作方式 253
10.2.3 DP-851 PC监控操作方式 264
附录 MCS-51系列单片机指令表(按字母顺序排列) 266