第1章 单片微型计算机概论 1
1.1 微型计算机与单片微型计算机 1
1.1.1 微型计算机的基本硬件结构 1
1.1.2 微型计算机的软件 2
1.1.3 微型计算机的基本工作过程 4
1.1.4 微型计算机与单片机 4
1.2 单片微型计算机概述 5
1.2.1 单片机的应用领域 5
1.2.2 单片机的分类 6
1.2.3 单片机的发展趋势 7
1.3 计算机中的数和编码 9
1.3.1 常用的数制 9
1.3.2 常用数制的转换 10
1.3.3 有符号数的表示 12
1.3.4 二-十进制数(BCD码) 14
1.3.5 ASCII码 15
本章小结 16
思考与练习题 17
第2章 51单片机的基本结构和工作原理 18
2.1 51单片机的外形、内部结构及功能 18
2.1.1 51单片机的外形和引脚功能 18
2.1.2 51单片机内部的逻辑结构 19
2.2 51单片机的存储器 22
2.2.1 计算机存储器 22
2.2.2 存储器的逻辑结构和操作 24
2.2.3 51单片机的程序存储器ROM 25
2.2.4 51单片机的数据存储器 26
2.3 并行输入输出接口的结构和功能 31
2.3.1 P1口,准双向通用I/O口 31
2.3.2 P3口,具备第二功能的准双向通用I/O口 33
2.3.3 P0口,地址数据分时复用总线和通用I/O口 33
2.3.4 P2口,通用I/O口或高8位地址口 34
2.3.5 并行端口的负载能力 35
2.4 51单片机的最小系统 35
2.4.1 51单片机的时钟电路 35
2.4.2 51单片机的复位 38
本章小结 39
思考与练习题 41
第3章 51单片机的指令系统 43
3.1 概述 43
3.1.1 汇编语言指令 43
3.1.2 51单片机汇编语言指令系统的特点 44
3.1.3 指令及其注释中的符号的用法说明 44
3.2 51单片机的寻址方式 45
3.2.1 立即寻址 45
3.2.2 直接寻址 45
3.2.3 寄存器寻址 45
3.2.4 寄存器间接寻址 46
3.2.5 变址寻址 46
3.2.6 相对寻址 47
3.2.7 位寻址 48
3.2.8 寻址方式与寻址空间 48
3.3 数据传送指令 49
3.3.1 普通传送指令 49
3.3.2 特殊传送指令 50
3.4 算术运算指令 53
3.4.1 普通四则运算指令 54
3.4.2 特殊运算指令 56
3.4.3 传送指令和算术运算指令的综合应用 57
3.5 逻辑运算和循环类指令 58
3.5.1 基本逻辑运算指令(18条) 58
3.5.2 累加器的操作指令(6条) 59
3.6 程序转移类指令 60
3.6.1 程序流程图 60
3.6.2 无条件转移指令(4条) 63
3.6.3 条件转移指令(8条) 65
3.7 子程序及其调用和返回指令 67
3.7.1 子程序的概念 67
3.7.2 调子指令和返回指令(5条) 68
3.7.3 空操作指令 70
3.8 位操作指令 70
3.8.1 简单的位操作指令(12条) 70
3.8.2 位条件转移指令(5条) 71
本章小结 73
思考与练习题 74
第4章 51单片机的汇编语言程序设计基础 78
4.1 程序设计语言与汇编 78
4.1.1 程序设计语言 78
4.1.2 汇编 80
4.1.3 51单片机的伪指令 80
4.2 源程序的组成形式与目标程序 83
4.2.1 51单片机的汇编语言格式 83
4.2.2 一个完整的汇编语言源程序及其目标程序示例 83
4.2.3 汇编环境中的程序结构 84
4.3 常用的程序 85
4.3.1 数制转换程序 86
4.3.2 算术运算程序 88
4.3.3 软件模拟硬件功能的程序 91
本章小结 95
思考与练习题 96
第5章 51单片机中断系统、定时/计数器和串行接口 99
5.1 中断系统 99
5.1.1 中断系统的结构 99
5.1.2 中断系统的结构及其工作原理 100
5.1.3 中断的允许和优先级控制 102
5.2 中断处理过程 103
5.2.1 中断处理 103
5.2.2 中断响应时间 105
5.2.3 中断系统的应用 105
5.3 定时/计数器 107
5.3.1 定时/计数器的结构及其工作原理 107
5.3.2 定时/计数器的控制 108
5.3.3 定时/计数器的工作方式及其应用 109
5.3.4 综合应用举例 115
5.3.5 借用定时器溢出中断扩展外部中断源 118
5.4 51单片机的串行接口 119
5.4.1 串行口通信概念 119
5.4.2 51单片机串行接口的结构与控制 121
5.4.3 串行接口的工作方式 122
5.4.4 串行接口的初始化 124
5.4.5 串行接口异步通信的应用 125
本章小结 137
思考与练习题 138
第6章 51单片机的基本接口应用技术 140
6.1 51单片机的并行接口 141
6.1.1 51单片机的三总线结构 141
6.1.2 I/O接口电路 141
6.1.3 存储器的扩展及接口 143
6.2 开关量接口 146
6.2.1 开关量输入接口 147
6.2.2 键盘接口 149
6.2.3 开关量输出接口 154
6.3 显示接口 159
6.3.1 LED显示接口 159
6.3.2 LCD液晶显示接口 164
6.4 模拟量接口 171
6.4.1 A/D转换器及接口 171
6.4.2 D/A转换器及接口 177
6.4.3 A/D和D/A的应用问题 182
本章小结 184
思考与练习题 185
第7章 51单片机的功能扩展 187
7.1 AT89系列单片机 187
7.1.1 AT89系列单片机的品种和类型 187
7.1.2 AT89S52单片机的定时/计数器2 189
7.1.3 AT89S52单片机的WDT 194
7.1.4 AT89S52的节电运行方式 195
7.2 串行总线接口技术 196
7.2.1 I2C串行总线 196
7.2.2 SPI串行总线 208
7.3 SOC型单片机 222
7.3.1 C8051F系列单片机 222
7.3.2 ADuC841单片机 228
本章小结 232
思考与练习题 234
第8章 单片机应用系统的设计 235
8.1 单片机应用系统的设计原则与过程 235
8.1.1 单片机应用系统的设计原则 235
8.1.2 单片机应用系统的设计过程 236
8.2 单片机应用系统的抗干扰设计 240
8.2.1 硬件抗干扰设计 240
8.2.2 软件抗干扰设计 242
8.3 DS18B20数字温度计的设计 244
8.3.1 功能要求 244
8.3.2 设计方案选择 244
8.3.3 DS18B20的性能特点和内部结构 245
8.3.4 DS18B20的测温原理 247
8.3.5 DS18B20的各条ROM命令和接口程序设计 248
8.3.6 系统硬件电路的设计 249
8.3.7 系统软件的设计 250
8.3.8 调试及性能分析 252
8.3.9 源程序清单 253
8.4 超声波测距仪的设计 263
8.4.1 超声波测距的工作原理 263
8.4.2 功能要求 264
8.4.3 设计方案选择 264
8.4.4 系统硬件的设计 264
8.4.5 系统程序的设计 266
8.4.6 调试与分析 267
8.4.7 源程序清单 268
本章小结 274
思考与练习题 274
第9章 51单片机的C语言程序设计 275
9.1 单片机C语言与汇编语言 275
9.2 单片机C语言程序的编译与开发调试 276
9.2.1 单片机C语言编译器 276
9.2.2 单片机C语言程序开发流程 276
9.3 C51数据与运算 277
9.3.1 数据类型、常量与变量 277
9.3.2 数据的存储类型及存储区 279
9.3.3 存储器模式 280
9.3.4 8051结构的C51定义 281
9.3.5 运算符、表达式及其规则 282
9.4 单片机C语言程序的基本结构 285
9.4.1 主函数 285
9.4.2 函数 285
9.4.3 头文件 285
9.5 C51流程控制语句 286
9.5.1 顺序结构 286
9.5.2 分支结构 286
9.5.3 循环结构 288
9.6 C51函数 289
9.6.1 函数定义的一般形式 289
9.6.2 库函数 289
9.6.3 中断函数 290
9.7 单片机C语言编程实例 290
9.7.1 单片机内部资源的C语言编程 290
9.7.2 8051控制步进电机的C编程 294
9.7.3 D/A转换接口及驱动程序 295
9.8 C51的使用技巧和规范 296
9.8.1 使用C51的技巧 296
9.8.2 C51使用规范 299
本章小结 300
思考与练习题 301
第10章 单片机仿真设计技术 302
10.1 ISIS编辑界面 303
10.1.1 编辑窗口的基本设置 303
10.1.2 编辑窗口的基本操作 304
10.1.3 Proteus ISIS的系统设置 304
10.2 设计电路原理图 305
10.2.1 建立设计文件 305
10.2.2 电路原理图设计 307
10.2.3 电路测试和材料清单 311
10.3 ISIS的单片机系统仿真 311
10.3.1 ISIS的单片机仿真功能 312
10.3.2 单片机仿真的基本方法 312
10.4 Keil与Proteus的综合应用 321
10.4.1 μVision2的基本使用方法 321
10.4.2 μVision2的调试工具和功能 326
10.4.3 Keil与Proteus的联合仿真调试 327
本章小结 329
思考与练习题 330
附录 332
附录A MCS-51单片机分类指令表 332
附录B ASCII码表 335
参考文献 337