第1章 单片机基础知识 1
1.1 单片机概述 1
1.1.1 微处理器、微型计算机和 1
单片机的概念 1
1.1.2 单片机的发展状况 1
目录 1
1.1.3 ATMEL89系列单片机简介 2
及数制间的转换 3
1.2.1 微型计算机中的常用数制 3
1.2 微型计算机中数的表示方法 3
1.2.2 数制间的转换 4
1.3 二进制数的运算 6
1.3.1 算术运算 6
1.3.2 逻辑运算 8
1.4 微机的码制和编码 8
1.4.1 原码、反码和补码 8
1.4.2 微型机中常用的编码 10
习题与思考题 12
第2章 AT89C51单片机结构和原理 14
2.1 AT89C51单片机的结构 14
2.1.1 中央处理器(CPU) 15
2.1.2 存储器 17
2.1.3 I/O端口 17
2.1.4 定时器/计数器 17
2.1.5 中断系统 18
2.1.6 内部总线 18
2.2 AT89C51单片机引脚及其功能 18
2.2.1 I/O端口功能 19
2.3 AT89C51存储器 22
2.2.4 控制线 22
2.2.3 外接晶体引脚 22
2.2.2 电源线 22
2.3.1 程序存储器 23
2.3.2 数据存储器 23
2.4 AT89C51单片机工作方式 27
2.4.1 复位方式 27
2.4.2 程序执行方式 28
2.4.3 省电方式 28
2.4.4 EPROM编程和校验方式 28
2.5 AT89C51时钟电路与时序 30
2.5.1 振荡器与时钟电路 30
2.5.2 时序 31
习题与思考题 33
第3章 AT89C51指令系统 35
3.1 指令系统简介 35
3.2 寻址方式 35
3.2.1 符号注释 35
3.2.2 寻址方式 36
3.3 AT89C51指令系统 38
3.3.1 数据传送类指令 38
3.3.2 算术运算类指令 42
3.3.3 逻辑操作与移位指令 45
3.3.4 控制转移指令 47
3.3.5 位操作类指令 50
3.4 实验 51
习题与思考题 55
第4章 汇编语言程序设计 58
4.1 计算机语言概述 58
4.1.1 机器语言 58
4.1.2 汇编语言 58
4.2 汇编语言源程序的设计与汇编 59
4.2.1 汇编语言格式 59
4.1.3 高级语言 59
4.2.2 程序设计步骤 60
4.2.3 源程序的汇编 60
4.2.4 伪指令 61
4.3 汇编语言程序设计 63
4.3.1 顺序程序设计 63
4.3.2 分支程序设计 64
4.3.3 循环程序设计 65
4.3.4 子程序设计 67
4.4.1 延时 68
4.4 实用程序举例 68
4.4.2 代码转换 69
4.4.3 数据处理 70
4.4.4 算术运算 72
4.5 实验 74
习题与思考题 76
第5章 中断系统 78
5.1 中断概述 78
5.2 AT89C51中断系统 78
5.2.1 中断源及中断系统构成 78
5.2.2 中断标志与中断控制 79
5.2.3 中断请求的响应、撤除及返回 82
5.3 中断系统的应用 85
习题与思考题 87
第6章 定时器/计数器 89
6.1 定时器/计数器的结构及工作原理 89
6.1.1 定时器/计数器的结构 89
6.1.2 定时器/计数器的工作原理 89
6.2 定时器/计数器的控制 90
6.2.1 方式控制寄存器 90
6.2.2 工作方式 91
6.3.2 初值的计算 93
6.3.1 初始化 93
6.3 定时器/计数器的应用 93
6.3.3 应用举例 94
6.4 实验 98
习题与思考题 99
第7章 AT89C51单片机系统扩展 101
7.1 AT89C51最小应用系统 101
7.2 AT89C51单片机的外部扩展性能 102
7.3 程序存储器的扩展 102
7.3.1 28C16程序存储器概述 103
7.3.3 多片28C16的扩展方法 104
7.3.2 单片28C16的扩展电路 104
7.4 数据存储器的扩展 106
7.4.1 并行传送数据存储器的扩展方法 106
7.4.2 串行传送数据存储器的扩展方法 107
7.5 I/O口的扩展 111
7.5.1 简单I/O口的扩展 111
7.5.2 可编程I/O口的扩展 112
7.6 实验 117
习题与思考题 119
8.1.1 行列式非编码键盘的工作原理 120
8.1 键盘接口技术 120
第8章 AT89C51系统接口技术 120
8.1.2 单片机对非编码键盘的控制方式 121
8.2 LED显示器接口技术 126
8.2.1 LED显示器的结构原理 126
8.2.2 LED显示器的显示方式 127
8.3 A/D转换器及接口技术 129
8.3.1 A/D转换器概述 129
8.3.2 A/D转换器的主要技术指标 129
8.3.3 AT89C51单片机与 130
ADC0809接口应用 130
8.3.4 AT89C51与MC14433接口应用 133
8.4.1 D/A转换器的主要技术指标 136
8.4 D/A转换器及接口技术 136
8.4.2 D/A转换器与单片机的接口 137
8.5 步进电机与单片机的接口 141
8.5.1 步进电机的基本工作原理 141
8.5.2 步进电机的运行方式 141
8.5.3 步进电机与单片机的接口 142
8.6 实验 144
习题与思考题 146
9.1.1 并行通信和串行通信 147
9.1.2 异步通信和同步通信 147
第9章 串行接口及串行通信技术 147
9.1 串行通信基础知识 147
9.1.3 串行通信的制式 149
9.1.4 串行通信数据的校验 150
9.2 AT89C51的串行接口 150
9.2.1 串行接口的结构及功能 151
9.2.2 串行通信的工作方式 153
9.2.3 多机通信 155
9.3 AT89C51串行接口的应用与编程 156
9.3.1 工作方式0的应用 157
9.3.2 工作方式1的应用 159
9.3.3 工作方式2与工作方式3的应用 159
9.4 PC机与单片机间的串行通信 161
9.4.1 RS-232C总线标准 161
9.4.2 RS-232C接口电路 162
习题与思考题 164
第10章 单片机系统的开发与应用 165
10.1 单片机系统的开发设计 165
10.1.1 总体设计 165
10.1.2 硬件设计 166
10.1.3 软件设计 167
10.1.4 系统的仿真调试与运行 168
10.2 单片机应用系统的开发工具 169
10.2.1 单片机开发系统的功能 169
10.2.2 开发系统的类型 169
10.3 单片机开发系统应用实例 170
10.3.1 数据采集与显示电路的设计 170
10.3.2 数码管数字时钟电路的设计 177
习题与思考题 186
附录 187
参考文献 189