第一章 绪论 1
1.1 单片机的发展概况 1
1.2 单片机的发展趋势 2
1.3 各种单片机的主要性能特点 4
1.4 MCS-51系列单片机的性能特点 6
1.5 MCS-51单片机的应用和开发步骤 7
习题一 8
第二章 MCS-51系列单片机硬件内核 9
2.1 MCS-51系列单片机的引脚配置及其特性 9
2.2 MCS-51系列单片机的内部结构 12
2.3 MCS-51系列单片机的I/O端口 17
2.3.1 I/O端口的内部结构 17
2.3.2 I/O端口的读写控制 19
2.4 MCS-51系列单片机的存储器 20
2.4.1 MCS-51系列单片机的存储器的组成 21
2.4.2 MCS-51系列单片机的特殊功能寄存器 22
2.5 MCS-51系列单片机的复位及时钟信号 24
2.5.1 复位过程和寄存器的复位状态 24
2.5.2 复位和μP监控电路 25
2.5.3 时钟电路 28
2.6 MCS-51系列单片机的节电模式 30
习题二 32
第三章 MCS-51系列单片机的指令集及汇编语言程序设计基础 33
3.1 MCS-51系列单片机指令系统的寻址方式 34
3.2 MCS-51系列单片机指令集及其说明 37
3.2.1 数据传送类指令 38
3.2.2 算术运算类指令 43
3.2.3 逻辑运算类指令 47
3.2.4 控制转移类指令 50
3.2.5 位操作类指令 54
3.2.6 汇编语言伪指令 60
3.3 MCS-51系列单片机汇编语言程序设计 60
3.3.1 一个简单的汇编语言程序 60
3.3.2 循环及程序转移控制 63
3.3.3 散转和查表的子程序 65
3.3.4 码制转换的子程序 68
3.3.5 数学运算的子程序 74
习题三 77
4.1 MCS-51系列单片机的C编译器 81
第四章 MCS-51系列单片机C语言程序设计 81
4.2 IAR EW8051的集成开发环境 83
4.2.1 IAR Embedded Workbench开发平台的使用方法 83
4.2.2 C-SPY模拟器的使用方法 92
4.3 IAR EW8051的C语言流程控制语句 94
4.3.1 判断语句 94
4.3.2 循环控制语句 99
4.4 IAR EW8051的C语言数据类型 105
4.4.1 IAR EW8051的C语言数据类型和变量 105
4.4.2 数组变量 112
4.4.3 指针变量 115
4.4.4 结构体变量 121
4.4.5 枚举变量和共用体 125
4.4.6 MCS-51系列单片机的SFR在C语言中的使用方法 127
4.4.7 利用C语言访问MCS-51系列单片机的外部扩展资源 128
4.5 函数和模块化程序设计 131
4.5.1 函数的定义 131
4.5.2 函数的参数、返回值和函数的调用 132
4.5.3 中断服务程序 134
4.5.4 模块化程序设计及其连接 138
习题四 139
第五章 MCS-51系列单片机中断系统、定时/计数器和串行口的结构及编程控制 141
5.1 MCS-51系列单片机的中断请求源 141
5.2 MCS-51系列单片机的外部中断 144
5.2.1 外部中断的结构和控制 144
5.2.2 外部中断的响应过程和应用 148
5.3.1 定时/计数器的结构和控制 152
5.3 MCS-51系列单片机的定时/计数器 152
5.3.2 定时/计数器的四种工作方式 154
5.3.3 定时/计数器的编程控制和应用 158
5.4 MCS-51系列单片机的串行口 166
5.4.1 串行口的结构和控制 167
5.4.2 串行口的四种工作方式 168
5.4.3 串行口波特率的计算 174
5.4.4 串行口编程和应用 176
5.5 MCS-51系列单片机多源中断的应用 189
习题五 192
第六章 MCS-51系列单片机的外部资源扩展 193
6.1 MCS-51系列单片机的外部地址扩展 193
6.1.1 MCS-51系列单片机的外部资源扩展概述 193
6.1.2 常用的地址锁存器和地址译码器 198
6.2 MCS-51系列单片机的外部程序存储器的扩展 203
6.2.1 常用程序存储器的特点 204
6.2.2 外部程序存储器的扩展 208
6.3 MCS-51系列单片机的外部数据存储器的扩展 211
6.3.1 常用数据存储器 212
6.3.2 并行接口数据存储器的扩展 223
6.3.3 串行接口数据存储器的扩展 228
6.4 MCS-51系列单片机的外部I/O通道的扩展 240
6.4.1 I/O通道扩展概述 240
6.4.2 利用标准的TTL电路扩展可编程I/O通道 241
6.4.3 利用CPLD扩展可编程I/O通道 247
习题六 249
第七章 MCS-51系列单片机与键盘、显示器、ADC和DAC的接口设计 251
7.1 MCS-51单片机系统的键盘设计 251
7.1.1 非编码式键盘的接口设计和编程 252
7.1.2 其他方式的键盘接口 259
7.2 MCS-51单片机系统的显示器接口和编程控制 262
7.2.1 LED显示器的接口 263
7.2.2 字符型LCD显示器的接口 268
7.2.3 图形点阵LCD显示器的接口 276
7.3 MCS-51单片机与ADC和DAC的接口 285
7.3.1 ADC和DAC的性能指标 285
7.3.2 MCS-51单片机与DAC器件的接口 286
7.3.3 MCS-51单片机与ADC器件的接口 303
习题七 321
附录A MCS-51系列单片机指令集一览表 323
附录B PC机与MCS-51单片机串行通信实例 327
参考文献 334