第1章 单片机概述 1
1.1 单片机的历史及发展概况 1
目录 1
1.1.1 CPU的改进 2
1.1.2 存储器的发展 2
1.1.5 低功耗化 3
1.2 单片机的特点及应用领域 3
1.1.4 外围电路集成化 3
1.1.3 片内I/O的改进 3
1.3 主流系列单片机的简介 4
1.3.1 几个主流系列单片机 4
1.3.2 Intel公司系列单片机简介 4
小结 9
综合练习一 9
一、选择题 9
二、填空题 9
三、思考题 9
2.1 MCS-51单片机的内部结构 10
第2章 MCS-51单片机的硬件结构 10
2.2 MCS-51单片机的中央处理器 11
2.2.1 运算器 11
2.2.2 控制器 12
2.3 CPU时序及引脚功能 13
2.3.1 MCS-51系列单片机引脚说明 13
2.3.2 振荡器和时钟电路 14
2.3.3 CPU时序 15
2.4 MCS-51单片机的存储器结构 15
2.4.1 程序存储器 16
2.4.2 数据存储器 16
2.5 I/O口 19
2.5.1 I/O口的内部结构 20
2.5.2 I/O口的读写操作 20
2.5.3 I/O口的负载能力 20
小结 20
三、思考题 21
二、填空题 21
综合练习二 21
一、选择题 21
第3章 MCS-51单片机的指令系统及 22
程序设计 22
3.1 MCS-51单片机指令系统概述 22
3.2 MCS-51单片机指令系统的寻址方式 23
3.2.1 立即寻址 23
3.2.2 直接寻址 23
3.2.3 寄存器寻址 24
3.2.4 寄存器间接寻址 25
3.2.5 相对寻址 25
3.2.6 变址寻址 26
3.2.7 位寻址 26
3.3 MCS-51单片机指令系统的使用要点 27
3.3.1 指令系统中影响标志位的指令 27
3.3.2 主要的伪指令 27
3.3.3 指令系统的分类 29
3.4 MCS-51单片机汇编语言程序设计及实用程序举例 42
3.4.1 顺序结构程序 42
3.4.2 分支结构程序 43
3.4.3 循环结构程序 43
3.4.4 子程序设计 47
3.4.5 MCS-51单片机实用程序举例 50
小结 56
综合练习三 57
一、选择题 57
二、填空题 57
三、思考题 57
第4章 MCS-51单片机的定时器/计数器 58
4.1 定时器/计数器的结构 58
4.1.1 工作方式控制寄存器TMOD 58
4.1.2 定时器/计数器控制 59
寄存器TCON 59
4.2.1 方式0 60
4.2 定时器/计数器的工作方式 60
4.2.2 方式1 61
4.2.3 方式2 61
4.2.4 方式3 62
4.3 定时器/计数器应用举例 62
4.3.1 方式0的应用 63
4.3.2 方式1的应用 65
4.3.3 方式2的应用 66
4.3.4 方式3的应用 67
4.3.5 定时器/计数器应用时要注意的问题 68
4.4 定时器/计数器的扩展 70
4.4.1 设计软计数器 70
4.4.2 利用8253扩展定时器/计数器 71
一、选择题 78
三、思考题 78
二、填空题 78
综合练习四 78
小结 78
第5章 MCS-51单片机的中断系统 79
5.1 中断系统概述 79
5.2 中断源和中断控制 80
5.2.1 中断源 80
5.2.2 中断控制 82
5.3.1 中断的响应过程 84
5.3 中断处理 84
5.3.2 中断响应时间 85
5.3.3 外部中断的方式 85
5.4 外部中断源的扩展 86
5.5 中断系统设计中应注意的几个问题 93
5.5.1 调试时注意开发机上使用的中断入口地址 93
5.5.2 保护现场 93
5.5.3 中断标志的清除 93
三、思考题 94
一、选择题 94
二、填空题 94
综合练习五 94
小结 94
第6章 MCS-51单片机的串行通信 95
6.1 串行通信的基本概念 95
6.2 MCS-51单片机串行口的 97
功能与结构 97
6.2.1 串行口能实现的功能 97
6.2.2 串行口的结构 97
6.3 串行口的工作方式及波特率设置 98
6.3.1 方式0 99
6.3.2 方式1 100
6.3.3 方式2和方式3 102
6.3.4 波特率的设置 102
6.4 MCS-51单片机之间的通信实例 103
6.4.1 利用方式1实现串行扩充 104
6.4.2 双机通信技术 104
6.4.3 单片机多机通信技术 110
6.5 串行通信总线标准 118
6.5.1 RS-232接口 119
6.5.2 RS-449、RS-422、RS-423及RS-485 121
6.5.3 20 mA电流环串行接口 125
6.6 IBM-PC与MCS-51单片机的通信 126
6.6.1 IBM-PC上微机编程与 126
串行口调试工具 126
6.6.2 IBM-PC与MCS-5 1单片机的双机通信 128
多机通信 131
6.6.3 IBM-PC与MCS-51单片机的 131
小结 137
综合练习六 138
一、选择题 138
二、填空题 138
三、思考题 138
第7章 MCS-51单片机的扩展存储器技术 139
7.1 存储器概述 139
7.1.1 只读存储器(Read Only 139
Memory-ROM) 139
7.1.2 随机存取存储器(Random AccessMemory-RAM) 140
7.1.3 特殊存储器 141
7.2 存储器扩展的基本知识 142
7.2.1 MCS-51单片机对存储器的 142
控制 142
7.2.2 外部地址锁存器和地址译码器 143
7.2.3 总线驱动器 146
7.2.4 扩展存储器时应注意的 148
几个问题 148
7.3 程序存储器EPROM的扩展 148
7.3.1 程序存储器的操作时序 148
7.3.2 常用的EPROM芯片 149
7.3.3 EPROM的扩展方法 153
7.4 数据存储器的扩展 157
7.4.1 数据存储器扩展的特点 157
7.4.2 常用的SRAM芯片 159
7.4.3 64KB以内SRAM的扩展方法 160
7.4.4 超过64KB SRAM的扩展方法 162
7.4.5 SRAM的掉电保护措施 165
7.5 EEPROM的扩展 166
7.5.1 并行EEPROM的扩展 166
7.5.2 串行EEPROM的扩展 171
7.6 FLASH存储器的扩展 184
7.6.1 FLASH存储器概述 184
7.6.2 FLASH存储器的基本工作原理 186
7.6.3 28FX系列FLASH存储器的 190
扩展 190
7.6.4 使用28FX系列FLASH存储器应注意的几个问题 192
小结 193
综合练习七 193
一、选择题 193
二、填空题 193
三、思考题 194
8.1.2 并行I/O口 195
8.1.1 串行I/O口 195
8.1 I/O口概述 195
第8章 MCS-51单片机的I/O口扩展设计 195
8.2 用可编程芯片8155/8156扩展 196
并行I/O口 196
8.2.1 8155/8156芯片概述 196
8.2.2 单片机对8155/8156的控制 198
8.2.3 8051单片机与8155/8156的接口 202
8.3 用TTL芯片扩展并行I/O口 203
8.3.1 用74LS377扩展一个8位并行输出口 204
8.3.2 用74LS244扩展一个8位并行输入口 204
8.4 用MCS-51单片机的串行口 205
扩展I/O口 205
8.4.1 扩展并行输入口 205
8.4.2 扩展并行输出口 207
8.4.3 扩展多个串行口 208
二、填空题 210
一、选择题 210
综合练习八 210
小结 210
三、思考题 211
第9章 MCS-51单片机与键盘、显示器、打印机的接口 212
9.1 MCS-51单片机与键盘的接口 212
9.1.1 键盘的工作原理及消抖方法 212
9.1.2 扳键开关、拨盘开关与 214
单片机的接口 214
9.1.3 独立式键盘接口设计 217
9.1.4 矩阵式键盘 218
9.1.5 按键的其他处理 224
9.2 MCS-51单片机与显示器的接口 225
9.2.1 LED显示器结构及其工作原理 225
9.2.2 LED显示器显示方式及使用 227
9.2.3 常用键盘/LED显示结合的接口方法 236
9.2.4 专用可编程键盘/显示器 244
接口芯片8279 244
9.2.5 液晶显示器LCD 252
9.3.1 TPμP系列微型打印机 267
接口 267
9.3 MCS-51单片机与微型打印机的 267
9.3.2 MCS-51单片机与TPμP-TF 268
系列打印机接口 268
小结 270
综合练习九 270
一、选择题 270
二、填空题 270
三、思考题 271
10.1 A/D转换器 272
10.1.1 A/D转换器的主要技术指标 272
第10章 MCS-51单片机与A/D、D/A 272
转换器的接口 272
10.1.2 A/D转换器的转换 273
方式与原理 273
10.1.3 A/D转换器使用时要 275
注意的问题 275
转换器ADC0809的接口 276
10.2.1 MCS-51单片机与8位A/D 276
接口 276
10.2 MCS-51单片机与A/D转换器的 276
10.2.2 MCS-51单片机与12位快速 279
A/D转换器AD574的接口 279
10.3 D/A转换器 283
10.3.1 D/A(数/模)转换的基本原理 283
10.3.2 D/A转换器的主要性能指标 284
10.3.3 D/A转换器的选型 285
10.4.1 MCS-51单片机与8位D/A 286
转换器DAC0832的接口 286
接口 286
10.4 MCS-51单片机与D/A转换器的 286
10.4.2 MCS-51单片机与10位D/A 290
转换器AD7520的接口 290
10.4.3 MCS-51单片机与12位串行 292
D/A转换器AD7543的接口 292
小结 296
三、思考题 297
二、填空题 297
综合练习十 297
一、选择题 297
第11章 MCS-51单片机应用系统设计 298
11.1 单片机应用系统概述 298
11.1.1 单片机应用系统的特点 298
11.1.2 单片机应用系统的分类 298
11.2 MCS-51单片机应用系统设计方法 301
11.2.1 系统的总体方案设计 302
11.2.2 硬件设计 304
11.2.3 软件设计 305
11.2.4 系统仿真调试 307
11.2.5 系统安装运行 308
11.3 MCS-51单片机应用系统设计举例 308
11.3.1 单片机在电冰箱控制系统中的应用 308
11.3.2 单片机在电子密码锁中的应用 312
三、思考题 318
二、填空题 318
一、选择题 318
综合练习十一 318
小结 318
附录A MCS-51单片机指令速查表 319
A.1 数据传送指令 319
A.2 算术操作类指令 319
A.3 逻辑操作类指令 320
A.4 控制转移类指令 321
A.5 布尔变量操作类指令 321
附录B ASCII码字符表 323
附录C 常用浮点数运算子程序 324
C.1 浮点数加法子程序FADD 324
C.2 浮点数减法子程序FSUB 324
C.3 浮点数乘法子程序FMUL 327
C.4 浮点数除法子程序FDIV 329
参考答案 332
参考文献 340