第1章 概述 1
1.1 微型计算机基础 1
1.1.1 计算机的发展 1
1.1.2 微型计算机的基本结构 4
1.1.3 存储器的分类 7
1.1.4 数制及其相互转换 9
1.1.5 微机中数的表示及运算 11
1.2 单片机概述 14
1.2.1 单片机的发展历史 14
1.2.2 单片机的组成及特点 15
1.2.3 单片机的应用领域 16
1.2.4 单片机的发展趋势 17
1.3 单片机常用系列介绍 18
1.3.1 MCS-51系列简介 18
1.3.2 80C51系列简介 19
本章小结 21
习题1 21
第2章 80C51系列单片机的结构 23
2.1 80C51结构和引脚 23
2.1.1 标准型单片机的组成与结构 23
2.1.2 引脚定义及功能 25
2.2 存储器结构与位处理器 28
2.2.1 存储器结构和地址空间 28
2.2.2 程序存储器 28
2.2.3 数据存储器 29
2.2.4 特殊功能寄存器 31
2.2.5 位处理器 34
2.3 并行输入/输出端口 34
2.3.1 并行I/O口的结构 34
2.3.2 并行I/O口的操作 35
2.4 时钟电路与复位电路 37
2.4.1 时钟电路和时序 37
2.4.2 复位和复位电路 39
2.5 单片机的工作方式 40
2.5.1 程序执行方式 40
2.5.2 省电方式 40
2.5.3 EPROM编程和校验方式 42
本章小结 44
习题2 45
第3章 80C51的指令系统 47
3.1 概述 47
3.1.1 机器语言、汇编语言和高级语言 47
3.1.2 指令的格式 48
3.1.3 常用符号 49
3.2 寻址方式 49
3.2.1 立即寻址 50
3.2.2 直接寻址 50
3.2.3 寄存器寻址 51
3.2.4 寄存器间接寻址 51
3.2.5 变址寻址 52
3.2.6 相对寻址 52
3.2.7 位寻址 53
3.3 寻址空间 54
3.4 80C51的指令系统 54
3.4.1 数据传送指令 55
3.4.2 算术运算指令 61
3.4.3 逻辑运算指令 65
3.4.4 控制转移指令 68
3.4.5 位操作指令 73
3.5 伪指令 75
本章小结 77
习题3 79
第4章 80C51汇编语言程序设计 84
4.1 概述 84
4.1.1 汇编语言程序设计的步骤 84
4.1.2 汇编语言编程的注意事项 85
4.2 基本结构程序设计 85
4.2.1 顺序结构程序 86
4.2.2 分支结构程序 87
4.2.3 循环结构程序 90
4.3 子程序设计 94
4.3.1 子程序调用与返回 95
4.3.2 子程序设计时应注意的基本事项 95
4.3.3 子程序设计实例 95
本章小结 102
习题4 103
第5章 中断系统、定时/计数器及串行通信 106
5.1 单片机的中断系统 106
5.1.1 中断的概念 106
5.1.2 中断源 107
5.1.3 中断的控制 108
5.1.4 中断的处理过程 111
5.1.5 中断系统的应用 112
5.1.6 80C51外部中断源的扩展 115
5.2 定时器/计数器 117
5.2.1 定时器/计数器的结构和工作原理 118
5.2.2 定时器/计数器的控制 119
5.2.3 定时器/计数器的工作方式 120
5.2.4 定时器/计数器的初始化 123
5.2.5 定时器/计数器应用举例 124
5.3 串行通信技术 131
5.3.1 串行通信的基本概念 132
5.3.2 串行通信总线标准及其接口 135
5.3.3 串行口的结构与控制 138
5.3.4 串行口的工作方式及波特率计算 140
5.3.5 串行口应用举例 142
本章小结 154
习题5 154
第6章 80C51单片机的系统扩展 159
6.1 概述 159
6.1.1 存储器的有关概念 159
6.1.2 存储器的主要性能指标 160
6.1.3 扩展外部存储器的一般方法 160
6.1.4 输入/输出操作需要接口电路 163
6.1.5 接口电路的基本功能 164
6.1.6 数据总线隔离技术 164
6.2 程序存储器扩展技术 165
6.2.1 典型存储器芯片介绍 165
6.2.2 EPROM程序存储器扩展实例 169
6.3 数据存储器扩展技术 172
6.3.1 典型芯片介绍 172
6.3.2 SRAM扩展实例 173
6.4 并行I/O口扩展 179
6.4.1 并行I/O的简单扩展 179
6.4.2 采用8255扩展I/O口 179
6.4.3 可编程RAM I/O接口芯片8155及其扩展I/O口技术 189
6.5 串行IO端口的扩展 195
6.5.1 I2C总线器件的地址分配 195
6.5.2 I2C总线的数据传输 195
6.5.3 80C51单片机与AT24C系列串行EEPROM扩展的接口设计 196
本章小结 200
习题6 201
第7章 80C51单片机接口技术 203
7.1 键盘接口技术 203
7.1.1 独立式键盘 205
7.1.2 行列式键盘 208
7.2 LED显示器接口技术 210
7.2.1 LED显示器的结构和原理 210
7.2.2 LED静态显示方式 211
7.2.3 LED动态显示方式 213
7.2.4 LED点阵显示器的接口 214
7.3 液晶显示器的接口 216
7.3.1 液晶显示器的基本知识 216
7.3.2 使用单片机驱动笔段型液晶显示器件 219
7.3.3 点阵式液晶显示控制器HD61830 221
7.4 模数(A/D)转换接口 229
7.4.1 A/D转换器的主要技术指标 231
7.4.2 多通道A/D转换器ADC0809及其与单片机接口电路 231
7.4.3 A/D转换应用举例 233
7.5 数模(D/A)转换接口 234
7.5.1 D/A转换原理 234
7.5.2 D/A转换器的主要技术指标 236
7.5.3 集成D/A转换器及接口电路 236
本章小结 238
习题7 239
第8章 单片机应用系统的设计开发 242
8.1 系统开发的原则和步骤 242
8.1.1 单片机系统开发的基本原则 242
8.1.2 单片机系统开发的基本步骤 243
8.2 单片机系统的可靠性设计 247
8.3 实时时钟系统的设计 248
8.3.1 系统的功能与要求 248
8.3.2 设计方案 248
8.3.3 硬件设计 249
8.3.4 软件设计 250
8.4 单片机乐曲演奏控制器的设计 257
8.4.1 系统的功能与要求 257
8.4.2 设计方案 258
8.4.3 硬件设计 258
8.4.4 软件设计 260
本章小结 265
习题8 265
实验1 数据传送实验 268
实验2 分支程序练习 271
实验3 循环程序练习 274
实验4 常用子程序练习 278
实验5 系统认识实验 281
实验6 定时器和中断实验 284
实验7 可编程I/O接口8155实验 287
实验8 LED动态扫描显示实验 290
实验9 查询式键盘实验 292
实验10 ADC0809模数转换实验 296
实验11 DAC0832数模转换实验 299
实验12 综合应用实验 301
附录A 使用THDPJ-1/-2实现Keil C的在线调试 305
附录B 80C51分类指令表 311
附录C 指令编码表 315
附录D 常用集成电路引脚图 318
附录E ASCII(美国信息交换标准码)表 320
参考文献 321