第1章 微型计算机基础知识 1
1.1 微型计算机的组成及工作原理 1
1.1.1 微型计算机中的基本概念 1
1.1.2 微型计算机基本结构 2
1.1.3 微型计算机的基本工作过程 2
1.2 单片机的应用模式 3
1.2.1 单片机应用系统的结构 3
1.2.2 单片机系统的开发过程 4
1.3 单片机的应用 4
1.4 数制与编码 5
1.4.1 数制的表示 5
1.4.2 常用的信息编码 8
习题1 10
第2章 MCS-51系列单片机芯片结构 12
2.1 MCS-51系列单片机的结构原理 12
2.1.1 MCS-51系列单片机逻辑结构 12
2.1.2 MCS-51系列单片机内部结构 13
2.1.3 引脚信号 15
2.2 MCS-51系列单片机的存储器 17
2.2.1 内部数据存储器 17
2.2.2 外部数据存储器 21
2.2.3 程序存储器 21
2.3 MCS-51系列单片机输入/输出(I/O)口 22
2.3.1 P0口 22
2.3.2 P1口 23
2.3.3 P2口 23
2.3.4 P3口 24
2.4 MCS-51系列单片机的工作方式 25
2.4.1 复位及复位电路 25
2.4.2 时钟电路和时序 26
2.4.3 单片机的低功耗方式 28
习题2 28
第3章 MCS-51系列单片机指令系统 31
3.1 MCS-51系列单片机指令格式 31
3.2 寻址方式 32
3.2.1 立即寻址 32
3.2.2 直接寻址 33
3.2.3 寄存器寻址 33
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 算术运算类指令 41
3.3.4 逻辑运算及移位类指令 44
3.3.5 控制转移类指令 46
3.3.6 位操作类指令 49
习题3 53
第4章 汇编语言程序设计 56
4.1 汇编语言程序设计概述 56
4.1.1 汇编语言程序设计步骤 57
4.1.2 伪指令语句 57
4.2 顺序程序设计 59
4.3 分支程序设计 61
4.4 循环程序设计 64
4.5 子程序设计 70
习题4 73
第5章 MCS-51系列单片机存储器扩展技术 74
5.1 存储器系统基本知识 74
5.1.1 存储器的分类 74
5.1.2 存储器的主要性能指标 76
5.2 系统扩展概述 77
5.3 访问外部程序、数据存储器的时序 78
5.3.1 访问外部程序存储器的时序 78
5.3.2 访问外部数据存储器的时序 79
5.4 存储器扩展的编址技术 80
5.4.1 线选法 80
5.4.2 译码法 81
5.5 程序存储器的扩展 83
5.6 数据存储器的扩展 85
5.6.1 数据存储器的扩展概述 85
5.6.2 数据存储器扩展使用的典型芯片 86
5.6.3 闪速存储器及其扩展 88
习题5 89
第6章 MCS-51系列单片机的中断与定时系统 91
6.1 中断的基本概念 91
6.2 MCS-51系列单片机的中断系统 92
6.2.1 MCS-51系列单片机的中断源 92
6.2.2 中断控制的专用寄存器 92
6.2.3 中断初始化与中断控制寄存器状态设置 95
6.2.4 中断处理过程 95
6.2.5 中断请求的撤销 97
6.2.6 MCS-51系列单片机单步执行工作方式 98
6.3 MCS-51系列单片机的定时器/计数器 98
6.3.1 基本结构 98
6.3.2 控制寄存器 99
6.3.3 工作方式 99
6.4 中断系统的应用举例 104
6.4.1 外部中断应用举例 104
6.4.2 定时器应用举例 105
6.4.3 用定时器制作“航标灯” 106
6.5 综合实例 发光灯闪烁设计 108
习题6 111
第7章 MCS-51系列单片机I/O口扩展及应用 113
7.1 I/O口扩展概述 113
7.1.1 I/O口扩展的原因 113
7.1.2 I/O口的编址技术 114
7.1.3 单片机I/O传送的方式 114
7.2 简单I/O口的扩展 115
7.2.1 简单输入口扩展 115
7.2.2 简单输出口扩展 116
7.3 8255可编程通用并行接口芯片 117
7.3.1 8255的外部引脚和内部结构 118
7.3.2 8255的扩展逻辑电路 119
7.3.3 8255的工作方式 120
7.3.4 8255的控制字及初始化程序 122
7.3.5 8255的应用举例 123
7.4 8155可编程通用并行接口芯片 126
7.4.1 8155的外部引脚和内部结构 126
7.4.2 8155的命令/状态字 127
7.4.3 8155的扩展逻辑电路 129
7.4.4 8155的定时器/计数器 130
7.4.5 8155的初始化 131
7.4.6 8155的应用举例 132
7.5 综合实例 交通灯控制设计 137
习题7 140
第8章 MCS-51系列单片机串行数据通信 142
8.1 串行通信的基础知识 142
8.1.1 数据传送 142
8.1.2 数据转换 143
8.2 MCS-51系列单片机串行通信的控制寄存器 144
8.3 MCS-51系列单片机串行通信工作方式 145
8.3.1 串行工作方式0 146
8.3.2 串行工作方式1 147
8.3.3 串行工作方式2 148
8.3.4 串行工作方式3 149
8.4 综合实例 用方式1实现双机串行通信 149
习题8 152
第9章 MCS-51系列单片机的A/D和D/A转换器接口 154
9.1 MCS-51系列单片机与D/A转换器的接口和应用 154
9.1.1 典型D/A转换器芯片DAC0832 154
9.1.2 DAC0832的工作方式 156
9.1.3 单缓冲方式的接口与应用 156
9.1.4 双缓冲方式的接口与应用 159
9.2 MCS-51系列单片机与A/D转换器的接口和应用 160
9.2.1 典型A/D转换器芯片ADC0809 160
9.2.2 MCS-51系列单片机与ADC0809的接口 162
9.2.3 A/D转换应用举例 164
9.3 综合实例 小直流电动机控制设计 165
习题9 168
第10章 AT89C2051单片机简介 170
10.1 AT89C2051内部结构与功能 170
10.1.1 AT89C2051主要性能 170
10.1.2 AT89C2051的结构框图 171
10.1.3 AT89C2051的引脚说明 172
10.2 振荡器和特殊功能寄存器 173
10.2.1 振荡器 173
10.2.2 特殊功能寄存器(SFR) 173
10.3 指令约束条件和CPU工作方式 174
10.3.1 指令约束条件 174
10.3.2 程序存储器加密位 175
10.3.3 CPU工作方式 175
10.4 对Flash存储器的编程 176
10.4.1 编程闪速存储器 176
10.4.2 编程接口 178
习题10 179
第11章 MCS-51系列单片机应用系统设计 180
11.1 单片机应用系统设计的基本原则 180
11.1.1 可靠性高 181
11.1.2 操作维护方便 181
11.1.3 性价比高 181
11.1.4 设计周期短 182
11.2 单片机应用系统的设计方法 182
11.2.1 系统总体设计 182
11.2.2 硬件设计 184
11.2.3 软件设计 185
11.2.4 系统总体调试 187
11.3 单片机控制的温度采集控制系统 192
11.3.1 系统总体设计 192
11.3.2 系统硬件设计 192
11.3.3 系统软件设计 194
11.3.4 系统总体调试 197
11.4 数码管时钟电路的设计 197
11.4.1 系统总体设计 197
11.4.2 系统设计原理 198
11.4.3 系统硬件设计 198
11.4.4 系统软件设计 199
11.5 综合实例 多功能密码锁 202
习题11 206
附录A MCS-51系列单片机指令速查表 208
参考文献 216