第1章 单片机入门与基础知识 1
1.1 初识单片机 1
1.1.1 单片机概述 2
1.1.2 单片机应用系统的设计开发步骤 4
1.1.3 简单单片机应用系统项目举例——灯光闪烁 4
1.1.4 单片机的特点和应用领域 6
1.1.5 单片机系列产品介绍 6
1.2 数制表示与编码 7
1.2.1 二进制、十进制与十六进制 7
1.2.2 数制的转换 8
1.2.3 原码、反码与补码——有符号数的表示 9
1.2.4 计算机中常用的编码 10
本章小结 11
自我检测与习题 11
第2章 MCS-51单片机的硬件组成与工作原理 12
2.1 MCS-51单片机的概况与引脚功能 12
2.1.1 MCS-51单片机的概况 12
2.1.2 MCS-51单片机的引脚定义及功能 13
2.2 单片机的内部结构组成 14
2.3 存储器的结构 16
2.3.1 存储器的结构及地址分配 16
2.3.2 内部数据存储器及特殊功能寄存器 16
2.4 并行I/O口的结构与操作 20
2.4.1 P0口的结构 20
2.4.2 P1口的结构 21
2.4.3 P2口的结构 22
2.4.4 P3口的结构 22
2.5 单片机的外围电路 24
2.5.1 时钟电路和时序 24
2.5.2 复位电路 26
2.6 单片机的工作方式 27
本章小结 28
自我检测与习题 29
第3章 MCS-51单片机的指令系统 30
3.1 单片机指令系统的概述与Keil软件的基本应用 30
3.1.1 指令概述 30
3.1.2 单片机汇编指令格式及常用符号 31
3.1.3 指令分类 32
3.1.4 指令执行时间与机器码的查表计算 33
3.2 寻址方式 33
3.2.1 立即寻址 33
3.2.2 直接寻址 33
3.2.3 寄存器寻址 34
3.2.4 寄存器间接寻址 34
3.2.5 变址寻址 34
3.2.6 相对寻址 35
3.2.7 位寻址 35
3.3 指令系统 36
3.3.1 数据传送类指令 36
3.3.2 算术运算类指令 37
3.3.3 逻辑运算类指令 38
3.3.4 控制转移类指令 39
3.3.5 位操作指令 42
3.4 伪指令 44
3.5 Keil编程调试软件的基本应用 46
3.5.1 Keil工程文件的创建、设置与生成目标文件 46
3.5.2 Keil的调试命令、在线汇编与断点设置 51
3.6 PROTEUS软件简介与基本应用 54
3.6.1 PROTEUS软件简介 54
3.6.2 PROTEUS软件应用举例 54
3.6.3 PROTEUS与Keil软件联合调试 58
本章小结 59
自我检测与习题 59
第4章 并行I/O口的基本应用 62
4.1 单片机程序设计的基础知识 62
4.1.1 单片机程序设计的基本步骤和方法 62
4.1.2 单片机程序的结构分类 63
4.2 并行I/O口基本应用项目实例——流水灯花样控制 64
4.2.1 硬件需求分析与硬件电路的确定 64
4.2.2 软件需求分析及解决方案 65
4.2.3 程序调试与下载运行 69
本章小结 70
自我检测与习题 70
第5章 单片机的中断系统 72
5.1 中断系统 73
5.1.1 中断系统的功能和组成结构 73
5.1.2 中断响应过程 75
5.1.3 中断的控制 76
5.2 外部中断应用项目实例1——单个外部中断 78
5.2.1 硬件需求分析与硬件电路的确定 79
5.2.2 软件需求分析及解决方案 79
5.2.3 程序调试与下载运行 82
5.3 外部中断应用项目实例2——多级外部中断的扩展应用 82
5.3.1 硬件需求分析与硬件电路的确定 83
5.3.2 软件需求分析及解决方案 84
5.3.3 程序调试与下载运行 86
本章小结 86
自我检测与习题 87
第6章 单片机的定时/计数器 88
6.1 单片机的定时/计数器工作原理 88
6.1.1 定时/计数器的基本结构 88
6.1.2 定时/计数器的寄存器控制 89
6.1.3 定时/计数器的工作方式与控制功能 91
6.2 定时/计数器初始值的计算 93
6.3 定时/计数器控制项目实例1——方波脉冲的产生 94
6.3.1 方案一:T/C0工作在方式0下产生方波 94
6.3.2 方案二:T/C1工作在方式1下产生方波 95
6.4 定时/计数器控制项目实例2——计数器控制引脚状态 97
本章小结 99
自我检测与习题 99
第7章 单片机的串行通信 100
7.1 基本概念 100
7.1.1 并行通信和串行通信 100
7.1.2 串行通信的基本方式 101
7.1.3 波特率 102
7.2 单片机串行接口的工作原理及工作方式 102
7.2.1 串行接口的结构及工作原理 102
7.2.2 串行接口的控制寄存器 103
7.2.3 串行接口的工作方式 105
7.2.4 串行接口的波特率设定 106
7.3 串行接口通信项目实例1——双机通信 107
7.3.1 通信双方的约定 107
7.3.2 双机通信的波特率设定 108
7.4 串行接口通信项目实例2——多机通信 112
7.4.1 多机通信原理 113
7.4.2 多机通信的软件协议 113
7.4.3 主机程序清单 114
7.4.4 从机程序清单 115
本章小结 123
自我检测与习题 124
第8章 存储器的扩展应用 125
8.1 存储器的扩展 125
8.1.1 I/O接口电路的功能与通信 125
8.1.2 I/O接口的编址 126
8.1.3 扩展外部存储器芯片的编址方式 126
8.1.4 存储器扩展的概况 127
8.2 存储器扩展项目实例1——并口扩展程序存储器 127
8.2.1 硬件需求分析与硬件电路的确定 128
8.2.2 软件需求分析及解决方案 130
8.2.3 程序调试与下载运行 131
8.3 存储器扩展项目实例2——并口扩展数据存储器 131
8.3.1 硬件需求分析与硬件电路的确定 132
8.3.2 软件需求分析及解决方案 134
8.3.3 程序调试与下载运行 136
8.4 I2C总线 136
8.5 存储器扩展项目实例3——串行扩展总线(I2C)扩展E2PROM 143
8.5.1 硬件需求分析与硬件电路的确定 143
8.5.2 软件需求分析及解决方案 144
8.5.3 程序调试与下载运行 146
本章小结 146
自我检测与习题 147
第9章 并行I/O口的扩展及应用 148
9.1 概述 148
9.1.1 I/O口扩展方法 149
9.1.2 I/O口扩展的几个注意事项 149
9.1.3 I/O口扩展的常用芯片 149
9.2 并行I/O口扩展项目实例1——简单并行I/O口的扩展 149
9.2.1 硬件需求分析与硬件电路的确定 149
9.2.2 软件分析及编程 151
9.3 并行I/O口扩展项目实例2——并行I/O口的一般扩展 152
9.3.1 可编程接口芯片8255A 152
9.3.2 可编程I/O接口芯片8155 156
9.4 显示与键盘的扩展概述 160
9.4.1 显示器的基本显示原理 160
9.4.2 键盘的分类及其原理 163
9.5 显示与键盘的扩展项目实例1——用8255A扩展键盘和LED显示 165
9.5.1 硬件需求分析与硬件电路的确定 165
9.5.2 软件需求分析及解决方案 166
9.5.3 程序调试与下载运行 167
9.6 显示与键盘扩展项目实例2——用8155扩展I/O接口接微型打印机 167
9.6.1 硬件需求分析及硬件电路的确定 167
9.6.2 软件需求分析及解决方案 168
9.6.3 程序调试与下载运行 171
9.7 扩展并行口项目实例——用串行口扩展并行I/O口 171
9.7.1 硬件需求分析及硬件电路的确定 171
9.7.2 软件需求分析及解决方案 172
9.7.3 程序调试与下载运行 174
本章小结 175
自我检测与习题 175
第10章 A-D、D-A转换器的扩展应用 176
10.1 A-D转换器的工作原理与应用 176
10.1.1 概述 176
10.1.2 实时控制系统的组成 177
10.1.3 A-D转换器简介 177
10.2 A-D转换器扩展应用项目实例1——8位ADC0809应用于温度巡检系统 178
10.2.1 硬件需求分析与硬件电路的确定 178
10.2.2 软件需求分析及解决方案 181
10.3 A-D转换器扩展应用项目实例2——串行ADC MAX187的基本应用 187
10.3.1 硬件需求分析与硬件电路的确定 188
10.3.2 软件需求分析及解决方案 190
10.4 D-A转换器的工作原理与应用 191
10.5 D-A转换器扩展项目实例——DAC0832应用于低频信号发生器 194
10.5.1 硬件需求分析与硬件电路的确定 194
10.5.2 软件需求分析及解决方案 196
10.5.3 程序调试与下载运行 198
本章小结 199
自我检测与习题 199
第11章 单片机的应用系统 200
11.1 单片机系统的可靠性设计 200
11.1.1 单片机系统的可靠性及可靠性设计的重要性 200
11.1.2 可靠性设计 201
11.2 抗干扰设计 202
11.2.1 干扰及干扰的传播 202
11.2.2 单片机系统的抗干扰设计 203
11.3 单片机应用项目实例1——水塔水位控制系统 204
11.3.1 水塔水位控制系统的控制要求 204
11.3.2 水位控制系统的硬件设计 205
11.3.3 系统的软件设计 206
11.4 单片机应用项目实例2——数据采集系统 208
11.4.1 系统的硬件设计 208
11.4.2 软件需求分析及解决方案 210
11.4.3 程序的调试与运行 213
本章小结 213
自我检测与习题 214
附录 215
附录A MCS-51系列单片机指令表 215
附录B ASCII码表 218
附录C 常用集成芯片引脚图 219
附录D 常用专业英语词汇 220
参考文献 223