第1章 计算机基础知识 1
1.1 常用数字转换 1
1.1.1 数制及数字之间的转换 1
1.1.2 常用二进制编码 5
1.2 数据在计算机中的表示 7
1.3 单片微型计算机 9
1.3.1 单片机的发展概况 9
1.3.2 单片机的发展趋势 9
1.3.3 单片机的应用 11
本章小结 11
习题1 11
第2章 MCS-51单片机结构 13
2.1 MCS-51单片机内部结构 13
2.1.1 MCS-51组成 13
2.1.2 CPU 14
2.1.3 存储器 17
2.1.4 I/O端口 17
2.1.5 总线 19
2.1.6 复位和复位电路 20
2.1.7 MCS-51引脚说明 21
2.2 MCS-51存储器 22
2.2.1 程序存储器 22
2.2.2 内部数据存储器 23
2.2.3 外部数据存储器 25
2.3 特殊功能寄存器 25
2.3.1 累加器ACC 25
2.3.2 B寄存器 26
2.3.3 程序状态字PSW 27
2.3.4 栈指针SP 28
2.3.5 数据指针DPTR 28
2.3.6 端口寄存器P0~P3 28
2.3.7 串行数据缓冲器SBUF 28
2.3.8 定时器/计数器 28
2.3.9 其他寄存器 28
本章小结 28
习题2 29
第3章 指令系统 30
3.1 指令系统概述 30
3.1.1 指令格式 30
3.1.2 指令系统的分类及特点 31
3.1.3 指令中常用的符号说明 31
3.1.4 指令的寻址方式 32
3.2 数据传递类指令 34
3.2.1 以累加器为目的操作数的指令 34
3.2.2 以寄存器Rn为目的操作数的指令 35
3.2.3 以直接地址为目的操作数的指令 35
3.2.4 以间接地址为目的操作数的指令 36
3.2.5 十六位数的传递指令 36
3.2.6 累加器A与片外RAM之间的数据传递类指令 37
3.2.7 程序存储器向累加器A传送指令 38
3.2.8 堆栈操作类指令 38
3.2.9 数据交换指令 39
3.3 算术运算类指令 40
3.3.1 不带进位加法指令 40
3.3.2 带进位的加法指令 41
3.3.3 加1指令 41
3.3.4 十进制调整指令 42
3.3.5 带进位的减法指令 43
3.3.6 减1指令 44
3.3.7 乘法指令 45
3.3.8 除法指令 45
3.4 逻辑操作类指令 46
3.4.1 循环移位指令 46
3.4.2 累加器半字节交换指令 47
3.4.3 求反指令 47
3.4.4 清零指令 47
3.4.5 逻辑与指令 48
3.4.6 逻辑或指令 48
3.4.7 逻辑异或指令 49
3.5 控制转移类指令 50
3.5.1 无条件转移指令 50
3.5.2 条件转移指令 52
3.5.3 调用子程序及返回指令 53
3.5.4 空操作指令 54
3.6 位操作类指令 54
3.6.1 位数据传送指令 55
3.6.2 位状态控制指令 55
3.6.3 位逻辑运算指令 56
3.6.4 位条件转移指令 56
本章小结 57
习题3 58
第4章 汇编语言程序设计 61
4.1 汇编语言的格式 61
4.2 汇编语言程序设计 63
4.2.1 顺序结构程序 64
4.2.2 分支程序 64
4.2.3 循环结构程序 65
4.2.4 子程序设计 67
4.3 MCS-51汇编语言实用程序举例 67
4.3.1 代码转换类程序 68
4.3.2 运算类程序 70
本章小结 83
习题4 84
第5章 MCS-51系统内部资源 86
5.1 输入/输出的控制方式 86
5.1.1 程序查询法 86
5.1.2 中断控制方式 88
5.2 中断控制系统 88
5.2.1 中断请求源和中断请求标志 89
5.2.2 中断系统控制 90
5.2.3 中断响应过程 92
5.2.4 外部中断触发方式 93
5.2.5 中断响应时间 93
5.2.6 MCS-51的单步操作 94
5.2.7 多个外部中断源系统设计 94
5.3 定时器/计数器 96
5.3.1 定时器/计数器内部结构及功能 96
5.3.2 定时器/计数器的工作方式 98
5.3.3 应用举例 100
5.4 串行接口 102
5.4.1 串行口控制寄存器及波特率选择位 102
5.4.2 串行接口工作方式 103
5.4.3 波特率 108
本章小结 109
习题5 110
第6章 MCS-51系统扩展技术 111
6.1 MCS-51系统扩展原理 111
6.2 程序存储器的扩展 112
6.2.1 常用的程序存储器 112
6.2.2 MCS-51程序存储器的扩展 115
6.3 数据存储器的扩展 119
6.3.1 常用的数据存储器 119
6.3.2 MCS-51扩展外部数据存储器的原理 121
6.3.3 典型的MCS-51存储器扩展电路 122
6.4 并行接口的扩展 123
6.4.1 可编程并行接口芯片8255A 123
6.4.2 用74系列器件扩展并行I/O口 130
6.5 A/D、D/A转换技术 131
6.5.1 D/A转换常用器件——DAC0832 132
6.5.2 A/D转换常用芯片——ADC0809 135
6.6 七段发光显示器接口 137
6.6.1 显示器的结构 137
6.6.2 显示器的工作方式和显示程序设计 138
6.7 键盘及其接口 141
6.7.1 非编码键盘接口 142
6.7.2 键盘的工作方式 143
本章小结 146
习题6 147
第7章 Flash单片机简介 148
7.1 ATMEL公司及其89系列单片机发展情况 148
7.1.1 ATMEL公司简介 148
7.1.2 ATMEL的89系列单片机概况 148
7.2 AT89C2051 Flash单片机 150
7.2.1 AT89C2051的概括功能 150
7.2.2 AT89C2051的结构框图 150
7.2.3 AT89C2051的引脚说明 150
7.2.4 AT89C2051的CPU工作方式 152
7.2.5 Flash存储器编程 153
7.3 AT89C51 Flash单片机 153
7.3.1 AT89C51的结构框图 154
7.3.2 AT89C51的引脚功能 155
7.3.3 AT89C51的CPU工作方式 157
本章小结 158
习题7 159
第8章 单片机应用系统 160
8.1 单片机应用系统开发概述 160
8.1.1 应用系统的开发过程 160
8.1.2 单片机应用系统的组成 161
8.1.3 应用系统的硬件开发 161
8.1.4 应用系统的软件设计 163
8.1.5 单片机开发系统 167
8.2 传感器接口技术 174
8.2.1 概述 174
8.2.2 传感器接口电路 175
8.2.3 温度传感器及其应用 176
8.2.4 霍尔传感器及其应用 177
8.3 抗干扰技术 178
8.3.1 计算机电源系统的抗干扰措施 178
8.3.2 过程通道干扰及抗干扰措施 180
本章小结 182
习题8 182
第9章 实验 183
实验1 数据块传送实验 183
实验2 数码转换程序实验 184
实验3 算术运算类指令编程实验 185
实验4 数字序列排序实验 186
实验5 查表程序实验 187
实验6 定时器/计数器实验 187
实验7 低频信号发生器实验 188
实验8 I/O接口和中断实验 190
实验9 串行口调试实验 191
实验10 LED静态显示接口实验 193
附录A MCS-51指令系统分类表 195
附录B MCS-51单片机常用特殊功能寄存器 199
参考文献 202