第1章 绪论 1
1.1 数制与编码的简单回顾 1
1.1.1 数制 1
1.1.2 编码 2
1.1.3 计算机中带符号数的表示 3
1.2 电子计算机的发展概述 5
1.2.1 电子计算机的问世及其经典结构 5
1.2.2 微型计算机的组成及其应用形态 5
1.3 单片机的发展过程及产品近况 7
1.3.1 单片机的发展过程 7
1.3.2 单片机产品近况 8
1.4 单片机的特点及应用领域 9
1.4.1 单片机的特点 9
1.4.2 单片机的应用领域 9
1.5 单片机应用系统开发简述 10
1.5.1 单片机应用系统的开发 10
1.5.2 单片机应用系统的传统开发方式 11
1.5.3 单片机开发方式的发展 12
本章小结 12
思考题及习题 12
实训一 单片机应用系统的开发过程演示 13
第2章 80C51的结构和原理 14
2.1 80C51系列概述 14
2.1.1 MCS-51系列 14
2.1.2 80C51系列 15
2.2 80C51的基本结构与应用模式 15
2.2.1 80C51的基本结构 15
2.2.2 80C51的应用模式 16
2.3 80C51典型产品资源配置与引脚封装 17
2.3.1 80C51典型产品资源配置 17
2.3.2 80C51单片机的封装和引脚 18
2.4 80C51的内部结构 19
2.4.1 80C51单片机的内部结构 19
2.4.2 80C51单片机的时钟与时序 22
2.4.3 80C51单片机的复位 24
2.5 80C51的存储器组织 25
2.5.1 80C51单片机的程序存储器配置 26
2.5.2 80C51单片机的数据存储器配置 27
2.5.3 80C51单片机的特殊功能寄存器 29
2.6 80C51的并行接口结构与操作 31
2.6.1 P0接口、P2接口的结构 31
2.6.2 P1接口、P3接口的结构 33
2.6.3 并行接口的负载能力 35
本章小结 35
思考题及习题 36
实训二 仿真器的功能熟悉及使用训练 36
第3章 80C51的指令系统 38
3.1 指令格式及常用符号 38
3.1.1 机器指令编码格式 38
3.1.2 符号指令格式 39
3.1.3 符号指令及其注释中常用的符号 40
3.2 80C51的寻址方式 40
3.2.1 寄存器寻址 41
3.2.2 直接寻址 41
3.2.3 寄存器间接寻址 42
3.2.4 立即寻址 43
3.2.5 变址寻址 43
3.2.6 相对寻址 44
3.2.7 位寻址 45
3.3 数据传送类指令(29条) 45
3.3.1 一般传送指令 45
3.3.2 特殊传送指令 48
3.4 算术运算类指令(24条) 51
3.4.1 加法 52
3.4.2 减法 54
3.4.3 乘法 54
3.4.4 除法 55
3.5 逻辑运算与循环类指令(24条) 55
3.5.1 逻辑与 56
3.5.2 逻辑或 56
3.5.3 逻辑异或 57
3.5.4 累加器清0和取反 57
3.5.5 累加器循环移位 57
3.6 控制转移类指令(17条) 58
3.6.1 无条件转移 59
3.6.2 条件转移 61
3.6.3 调用与返回 62
3.6.4 空操作 62
3.7 位操作类指令(17条) 62
3.7.1 位传送 64
3.7.2 位状态设置 64
3.7.3 位逻辑运算 64
3.7.4 位判跳(条件转移) 65
本章小结 65
思考题及习题 66
实训三 80C51单片机基本指令训练 67
第4章 80C51的程序设计 69
4.1 程序编制的方法和技巧 69
4.1.1 程序编制的步骤 69
4.1.2 编制程序的方法和技巧 70
4.1.3 汇编语言的语句格式 71
4.2 源程序的编制 72
4.2.1 源程序的编辑和汇编 72
4.2.2 伪指令 73
4.3 基本程序结构 75
4.3.1 顺序程序 75
4.3.2 分支程序 77
4.3.3 循环程序 79
4.3.4 子程序及其调用 81
4.4 常用程序举例 84
4.4.1 算术运算程序 84
4.4.2 码型转换程序 86
本章小结 89
思考题及习题 89
实训四 程序设计实训 90
第5章 80C51的中断系统及定时/计数器 91
5.1 80C51单片机的中断系统 91
5.1.1 80C51中断系统的结构 91
5.1.2 80C51的中断源 92
5.1.3 80C51中断的控制 94
5.2 80C51单片机中断处理过程 95
5.2.1 中断响应条件和时间 95
5.2.2 中断响应过程 96
5.2.3 中断返回 97
5.2.4 中断程序举例 98
5.3 80C51的定时/计数器 100
5.3.1 定时/计数器的结构和工作原理 101
5.3.2 定时/计数器的控制 102
5.3.3 定时/计数器的工作方式 103
5.3.4 定时/计数器用于外部中断扩展 106
5.3.5 定时/计数器应用举例 106
本章小结 109
思考题及习题 109
实训五 接口实训(一) 110
第6章 80C51的串行接口 112
6.1 计算机串行通信基础 112
6.1.1 串行通信的基本概念 113
6.1.2 串行通信接口标准 117
6.2 80C51单片机的串行接口 121
6.2.1 80C51串行接口的结构 122
6.2.2 80C51串行接口的控制寄存器 122
6.2.3 80C51串行接口的工作方式 123
6.3 单片机串行接口应用举例 128
6.3.1 单片机与单片机的通信 128
6.3.2 单片机与PC机的通信 138
本章小结 140
思考题及习题 141
实训六 接口实训(二) 141
第7章 80C51的系统扩展 142
7.1 存储器的扩展 142
7.1.1 程序存储器的扩展 142
7.1.2 数据存储器的扩展 146
7.2 输入/输出及其控制方式 149
7.2.1 输入/输出接口的功能 149
7.2.2 单片机与I/O设备的数据传送方式 150
7.3 并行接口的扩展 151
7.3.1 并行输入/输出接口的简单扩展 152
7.3.2 可编程接口8155的扩展 153
7.4 8279接口芯片 158
7.4.1 8279的结构 158
7.4.2 8279的引脚定义 159
7.4.3 8279的操作命令 160
7.4.4 8279的状态字 163
7.5 显示器及键盘接口 163
7.5.1 显示器及其接口 163
7.5.2 键盘及其接口 167
7.5.3 键盘和显示器接口示例 172
本章小结 177
思考题及习题 177
实训七 接口实训(三) 177
第8章 80C51的测控接口 179
8.1 D/A转换器及其与单片机接口 179
8.1.1 D/A转换器的原理及主要技术指标 180
8.1.2 DAC0832芯片及其与单片机的接口 181
8.2 A/D转换器及其与单片机的接口 186
8.2.1 A/D转换器的原理及主要技术指标 186
8.2.2 ADC0809芯片及其与单片机的接口 188
8.2.3 AD574A芯片及其与单片机的接口 191
8.2.4 MC14433芯片及其与单片机的接口 195
8.3 开关量接口 199
8.3.1 开关量输入接口 199
8.3.2 开关量输出接口 201
本章小结 204
思考题及习题 205
实训八 接口实训(四) 206
第9章 80C51应用系统设计方法 207
9.1 单片机应用系统设计过程 207
9.1.1 系统设计的基本要求 207
9.1.2 系统设计的步骤 208
9.2 提高系统可靠性的一般方法 209
9.2.1 电源干扰及其抑制 209
9.2.2 地线干扰及其抑制 211
9.2.3 其他提高系统可靠性的方法 211
9.3 数据采集系统的设计 213
9.3.1 模拟输入通道的组成 213
9.3.2 设计示例 214
9.4 智能二线制温度变送器设计实例 215
9.4.1 智能温度变送器简介 215
9.4.2 硬件设计 216
9.4.3 软件设计 221
本章小结 223
思考题及习题 223
实训九 综合实训(课程设计) 223
附录A AT89C系列单片机简介 225
附录A.1 AT89C52 225
附录A.2 AT89C2051 235
附录B 80C51单片机指令速查表 240
附录C ASCII码表 243
附录D 常用芯片引脚 244
参考文献 245