第1章 单片机的概念及其预备知识 1
1.1 数制、码制系统 1
1.1.1 进位计数制及各计数制间的转换 1
1.1.2 码制及其转换 4
1.2 数字电路基础 8
1.2.1 数字信号 8
1.2.2 门电路 8
1.2.3 触发器 9
1.2.4 常用集成芯片 10
1.3 微型计算机工作原理 13
1.3.1 CPU结构 13
1.3.2 总线结构 14
1.3.3 指令的执行过程 15
1.4 存储器基础 16
1.4.1 信息的基本单位 16
1.4.2 存储器系统结构 16
1.4.3 存储器的主要性能指标 17
1.4.4 存储器的分类 17
1.5 I/O基本概念 19
1.5.1 I/O接口电路的作用 19
1.5.2 I/O与CPU的连接信号 20
1.5.3 I/O的编址方案 20
1.5.4 I/O的控制方式 20
1.6 单片机概念 21
1.6.1 单片机概述 21
1.6.2 8051单片机基本结构 23
本章小结 24
习题 24
第2章 8051编程结构 26
2.1 累加器和工作寄存器组 26
2.1.1 寄存器 26
2.1.2 工作寄存器和工作寄存器组 28
2.2 程序状态字寄存器 28
2.2.1 程序状态字 28
2.2.2 条件标志位含义 29
2.2.3 标志位操作 30
2.3 数据地址指针 30
2.3.1 数据地址指针 30
2.3.2 数据地址指针的操作 31
2.4 单片机存储器组织 31
2.4.1 程序存储器 32
2.4.2 数据存储器 35
2.5 堆栈和堆栈指针 39
2.5.1 堆栈和堆栈指针的概念 39
2.5.2 8051堆栈和堆栈指针 40
2.6 位处理器和位寻址单元 42
2.6.1 可位寻址的单元 42
2.6.2 位存储器操作 42
2.6.3 位累加器操作 43
本章小结 44
习题 45
第3章 汇编语言程序设计 48
3.1 汇编语言源程序的设计和汇编 48
3.1.1 指令和助记符 48
3.1.2 伪指令 49
3.1.3 汇编语言语句格式 50
3.1.4 汇编语言程序设计步骤 51
3.1.5 程序流程图技术 51
3.2 程序计数器和程序运行 52
3.2.1 程序计数器 52
3.2.2 简单程序运行 52
3.2.3 循环程序运行 54
3.2.4 子程序运行 55
3.3 顺序程序设计 55
3.4 分支程序设计 57
3.4.1 无条件转移指令 57
3.4.2 条件转移指令 59
3.5 循环程序设计 62
3.5.1 循环结构 62
3.5.2 循环分类 62
3.6 子程序设计 66
3.6.1 调用与返回指令 66
3.6.2 主程序与子程序间的参数传递 67
3.6.3 现场保护和现场恢复 68
3.7 常用子程序设计 68
本章小结 74
习题 74
第4章 存储器及I/O扩展 77
4.1 单片机引脚 77
4.2 单片机I/O口 80
4.2.1 P1口 80
4.2.2 P0口 81
4.2.3 P2口 82
4.2.4 P3口 83
4.3 存储器扩展 84
4.3.1 存储器芯片 84
4.3.2 8051单片机的存储器扩展系统 85
4.4 I/O扩展 88
4.4.1 简单并行扩展 88
4.4.2 可编程并行扩展芯片8255A 88
4.4.3 8255A的内部结构与引脚 88
4.4.4 8255A的工作方式 91
4.4.5 8255A的控制字 91
4.4.6 8255A与系统的连接 92
4.5 非总线型扩展 93
4.5.1 总线型单片机的非总线扩展 93
4.5.2 非总线型单片机 94
4.5.3 串行扩展总线与串行扩展接口 94
本章小结 96
习题 96
第5章 中断、定时器/计数器、串行接口 98
5.1 中断 98
5.1.1 中断概述 98
5.1.2 8051中断处理步骤 99
5.1.3 8051中断控制 99
5.1.4 8051中断程序的设计及应用 103
5.2 定时器/计数器 104
5.2.1 定时器/计数器概述 104
5.2.2 定时器/计数器的工作方式 106
5.2.3 定时器/计数器的控制寄存器 107
5.2.4 定时器/计数器初始化 109
5.2.5 定时器/计数器应用举例 109
5.3 串行接口 117
5.3.1 串行通信基础知识 117
5.3.2 8051串行接口结构 119
5.3.3 串行口控制寄存器 120
5.3.4 波特率的设定 122
5.3.5 串行工作方式 123
5.3.6 单片机与PC的通信 125
本章小结 126
习题 127
第6章 人机交互通道接口技术 129
6.1 显示器接口 129
6.1.1 LED数码显示器接口 129
6.1.2 专用LED驱动器MAX7219 134
6.1.3 LED大屏幕显示 134
6.1.4 LCD 135
6.2 键盘接口 138
6.2.1 键盘 138
6.2.2 键盘的工作原理 139
6.3 BCD码拨盘接口 142
本章小结 143
习题 144
第7章 前向和后向通道接口技术 145
7.1 测控系统中前向和后向通道的构成 145
7.2 D/A转换器 146
7.2.1 基本概念 146
7.2.2 典型的D/A转换器芯片举例 147
7.3 A/D转换器 151
7.3.1 A/D转换器工作原理 151
7.3.2 典型的A/D转换器芯片举例 153
7.3.3 ADC芯片与CPU接口 154
7.4 传感器及信号调理电路 156
7.4.1 电阻式传感器 156
7.4.2 电磁式传感器 157
7.4.3 压电式传感器 158
7.4.4 磁电感应式传感器 158
7.4.5 霍尔传感器 159
7.4.6 光电式传感器 159
7.4.7 信号调理电路 159
7.5 驱动电路 161
本章小结 163
习题 163
第8章 单片机控制系统设计 164
8.1 单片机应用系统开发过程 164
8.2 开发工具和语言的选择 165
8.3 应用程序设计原则与方法 167
8.4 应用举例 169
8.4.1 过零触发双向晶闸管调功器 169
8.4.2 简易数控系统 175
第9章 其他常用单片机简介 181
9.1 Atmel公司8051系列兼容机 182
9.2 Atmel公司AVR单片机 183
9.3 TI公司MSP430单片机 184
9.4 Microchip公司PIC单片机 186
9.5 Silicon Labs公司C8051F单片机 188
附录 189
附录A 8051指令详表 189
附录B 8051指令速查表 214
附录C 8051指令分类列表 216
附录D 常用8051资源表 220
附录E ASCII码字符表 230
附录F 常用IC查询网站 231
参考文献 232