1 微型计算机基础知识 1
1.1 微型计算机概述 2
1.1.1 微型计算机的基本概念 2
1.1.2 微型计算机的发展概况 2
1.1.3 微型计算机的分类 4
1.2 常用的数制及编码 5
1.2.1 常用的数制 5
1.2.2 数制之间的转换 6
1.2.3 微型计算机常用的编码 7
1.3 无符号二进制数的算术运算和逻辑运算 8
1.3.1 二进制数的算术运算 8
1.3.2 无符号数的表示范围 10
1.3.3 二进制数的逻辑运算 10
1.4 有符号二进制数的表示及运算 11
1.4.1 有符号数的表示方法 11
1.4.2 补码的运算 13
1.4.3 有符号数的表示范围 14
1.5 常用数据单位 15
1.6 微型计算机系统组成 16
1.6.1 硬件系统 16
1.6.2 软件系统 18
习题1 18
2 80C51单片机的基本结构和工作原理 19
2.1 80C51单片机的组成 19
2.2 80C51单片机内部结构和引脚功能 20
2.2.1 80C51的内部结构 20
2.2.2 中央处理器(CPU) 20
2.2.3 时钟电路及CPU工作时序 23
2.2.4 80C51单片机的存储器结构 25
2.2.5 80C51单片机的引脚功能 30
2.2.6 布尔(位)处理器 32
2.3 80C51单片机的工作方式 32
2.3.1 复位方式 32
2.3.2 程序执行方式 34
2.3.3 低功耗方式 34
习题2 35
3 80C51单片机指令系统 37
3.1 概述 37
3.1.1 指令的分类 37
3.1.2 指令的格式 37
3.1.3 指令中常用的符号 38
3.2 寻址方式 38
3.3 指令系统 42
3.3.1 数据传送类指令 42
3.3.2 算术运算类指令 46
3.3.3 逻辑运算类指令 48
3.3.4 控制转移类指令 50
3.3.5 布尔(位)操作指令 53
习题3 55
4 汇编语言程序设计 58
4.1 汇编语言程序设计基础 58
4.1.1 机器语言、汇编语言与高级语言 58
4.1.2 汇编语言的格式 59
4.1.3 伪指令 59
4.1.4 汇编语言程序设计的步骤 61
4.2 程序设计实例 62
4.2.1 顺序结构程序设计 62
4.2.2 分支程序设计 63
4.2.3 散转程序设计 65
4.2.4 循环程序设计 67
4.2.5 查表程序 69
4.2.6 子程序 72
习题4 77
5 半导体存储器 79
5.1 随机存取存储器RAM 79
5.1.1 RAM的结构和工作原理 79
5.1.2 典型RAM芯片介绍 80
5.2 只读存储器ROM 82
5.3 80C51单片机的存储器扩展 85
5.3.1 80C51三总线结构 85
5.3.2 片选方式和地址分配 86
5.3.3 程序存储器扩展 87
5.3.4 数据存储器扩展 89
习题5 90
6 输入输出和中断 92
6.1 输入输出的基本概念 92
6.1.1 I/O接口的功能 92
6.1.2 I/O接口的编址方式 92
6.1.3 接口电路的基本构成 93
6.2 输入输出的工作方式 94
6.2.1 无条件传送方式 94
6.2.2 查询传送方式 95
6.2.3 中断传送方式 96
6.2.4 直接存储器存取方式 97
6.3 中断技术基础 98
6.3.1 中断概念 98
6.3.2 中断源 98
6.3.3 中断系统的功能 99
6.4 80C51中断系统 100
6.4.1 80C51中断系统结构 100
6.4.2 中断响应过程 103
6.5 外部中断源的扩展 104
6.5.1 借用定时器溢出中断扩展外部中断源 104
6.5.2 采用查询法扩展外部中断源 104
习题6 105
7 并行I/O接口 107
7.1 80C51内部并行I/O口 107
7.1.1 P0口 107
7.1.2 P1口 109
7.1.3 P2口 109
7.1.4 P3口 110
7.2 80C51内部并行I/O口应用 110
7.2.1 I/O口负载能力 110
7.2.2 端口输入输出操作 110
7.2.3 “读-修改-写”操作 111
7.2.4 位操作 111
7.2.5 应用举例 111
7.3 简单I/O接口扩展 113
7.3.1 扩展输入口 113
7.3.2 扩展输出口 114
7.4 用8255A扩展I/O接口 115
7.4.1 8255A的引脚功能和内部结构 115
7.4.2 8255A的工作方式 117
7.4.3 方式控制字和状态字 120
7.4.4 8255A应用举例 122
7.5 用8155扩展I/O接口 125
7.5.1 8155结构组成和引脚功能 125
7.5.2 8155应用举例 129
习题7 131
8 80C51内部定时器及应用 134
8.1 定时器结构 134
8.2 定时器工作方式 134
8.2.1 定时器/计数器T0,T1的特殊功能寄存器 134
8.2.2 定时器/计数器工作方式 136
8.3 定时器/计数器应用举例 138
8.3.1 时间常数的计算 138
8.3.2 应用举例 138
习题8 141
9 80C51串行接口 142
9.1 串行通信的基础 142
9.1.1 数据通信的基本概念 142
9.1.2 串行通信方式 142
9.1.3 数据同步技术 142
9.2 80C51串行接口 144
9.2.1 串行接口的结构 144
9.2.2 串行接口的工作方式 146
9.3 80C51串行口应用举例 148
9.3.1 串行口在方式0下的应用 148
9.3.2 串行口在其他方式下的应用 149
9.4 单片机多机通信 156
习题9 160
10 单片机典型外围接口技术 161
10.1 键盘接口 161
10.1.1 按键去抖动 161
10.1.2 独立式键盘及其接口 162
10.1.3 矩阵式键盘 162
10.1.4 键盘扫描方式 165
10.2 显示接口 166
10.2.1 LED显示器的工作原理 166
10.2.2 LED显示方式 167
10.3 DAC接口 171
10.3.1 D/A转换器的性能指标 172
10.3.2 DAC0832接口 172
10.3.3 DAC1210接口 175
10.4 ADC接口 177
10.4.1 A/D转换器的主要技术指标 177
10.4.2 ADC0809接口 178
10.4.3 AD574A接口 180
习题10 184
11 单片机应用系统设计实例 185
11.1 单片机应用系统的设计过程 185
11.1.1 拟定总体设计方案 185
11.1.2 硬件设计 185
11.1.3 软件设计 186
11.1.4 系统调试、运行和维护 186
11.2 单片机多点温度测量系统 187
11.2.1 硬件设计 187
11.2.2 软件设计 188
11.3 步进电机控制系统 191
11.3.1 步进电机的驱动 191
11.3.2 二维步进电机控制系统 192
习题11 196
附录1 ASCII字符表 197
附录2 80C51系列单片机指令一览表 198
参考文献 202