1.1 单片机 1
1.1.1 单片机的概念 1
第1章 MCS-51单片机结构及原理 1
1.1.2 单片机的应用领域 2
1.1.3 单片机的产品介绍 4
1.1.4 单片机的学习方法 5
1.2 MCS-51系列单片机的结构和引脚 6
1.2.1 MCS-51引脚及功能说明 6
1.2.2 MCS-51单片机的结构方框图 9
1.3.1 存储器的特点 12
1.3 MCS-51单片机存储器结构 12
1.3.2 MCS-51具有的存储器编址空间 13
1.3.3 数据存储器 13
1.3.4 特殊功能寄存器SFR(专用寄存器) 14
1.4 并行输入/输出口、时序、复位 17
1.4.1 并行输入/输出口(I/O) 17
1.4.2 时钟和CPU时序 20
1.4.3 复位、掉电处理 21
本章小结 22
习题1 23
第2章 MCS-51系列单片机指令系统 25
2.1 单片机指令系统基础 25
2.1.1 指令的概念 25
2.1.2 51单片机指令系统说明 27
2.1.3 51单片机寻址方式 28
2.2 数据传送类指令 30
2.2.1 片内数据传送指令 30
2.2.2 片外数据传送指令 34
2.3 算术运算类指令 36
2.3.1 加法指令 37
2.3.2 十进制调整指令 38
2.3.3 减法指令 40
2.3.4 乘法和除法指令 41
2.4 逻辑运算及移位指令 42
2.4.1 累加器的逻辑操作指令 43
2.4.2 逻辑运算指令 44
2.5 控制转移指令 46
2.5.1 无条件转移指令 46
2.5.2 调用指令 49
2.5.3 条件转移指令 51
2.6 布尔变量操作指令 53
2.6.1 位传送指令 54
2.6.2 位状态控制指令 54
2.6.3 位逻辑操作指令 55
2.6.4 位条件转移指令 56
2.7 指令部分学习方法小结 57
练习1 算术运算练习 60
练习2 数据传送练习 61
练习3 条件转移指令练习 63
本章小结 64
习题2 65
第3章 汇编语言程序设计 67
3.1 单片机汇编程序设计基础 67
3.1.1 汇编语言程序设计步骤 67
3.1.2 编制程序的流程图 68
3.1.3 单片机51系列的伪指令 68
3.1.4 汇编语言源程序手工汇编 70
3.2 单片机汇编语言程序设计初步 70
3.2.1 顺序程序设计 70
3.2.2 分支程序设计 72
3.3 循环结构与循环程序设计 74
3.3.1 循环结构程序 74
3.3.2 循环结构程序设计 75
3.4 子程序和查表子程序设计 79
3.4.1 子程序设计 79
3.4.2 查表及查表程序设计 83
3.4.3 散转程序及其设计 85
练习4 双字节无符号数乘法编程 86
习题3 88
本章小结 88
第4章 单片机定时器/计数器、中断和串行口 90
4.1 MCS-51的定时器/计数器 90
4.1.1 定时器/计数器的结构 90
4.1.2 定时器/计数器的4种工作方式 92
练习5 定时器应用 94
4.2 单片机中断系统 97
4.2.1 中断概述 97
4.2.2 51单片机中断系统结构和功能 99
练习6 中断系统应用 102
4.3.1 串行口的基本概念 105
4.3 单片机串行口 105
4.3.2 51单片机的串行口功能与结构 106
练习7 串行口应用 111
本章小结 113
习题4 114
第5章 MCS-51系列单片机的扩展 115
5.1 MCS-51系列单片机系统扩展方法 115
5.1.1 最小系统和系统扩展方法 115
5.1.2 MCS-51单片机的总线组成 115
5.2.1 程序存储器扩展 116
5.2 存储器扩展 116
5.2.2 数据存储器扩展 118
5.3 串行存储器E2pROM的应用 119
5.3.1 I2C总线 119
5.3.2 串行E2PROM-X24C02 120
5.3.3 51单片机扩展X24C02 120
5.4 串行温度传感器DS18B20 123
5.4.1 DALLAS公司DS18B20基本参数 123
5.4.2 温度传感器DS18B20使用中注意事项 125
练习8 音乐程序 129
本章小结 131
习题5 132
第6章 单片机接口 133
6.1 输入/输出接口概述 133
6.1.1 I/O接口的作用 133
6.1.2 I/O端口的编址与寻址 133
6.1.3 并行I/O接口扩展 134
6.2 可编程接口芯片8255A的扩展 135
6.3.1 按钮开关与单片机的接口 140
6.3 键盘、显示接口 140
6.3.2 矩阵键盘与单片机的接口 141
6.3.3 LED显示器与单片机的接口 143
6.3.4 zlg7289A LED数码管及键盘控制器 145
6.3.5 点阵图形液晶显示模块接口 149
6.4 单片机功率接口 154
6.4.1 功率晶体管接口 155
6.4.2 光电耦合器隔离 156
6.5 A/D、D/A转换器接口 157
6.5.1 D/A转换器接口 157
6.4.3 双向晶闸管接口 157
6.5.2 A/D转换器接口 161
6.5.3 串行接口A/D转换器 167
6.5.4 Watchdog 169
练习9 输入/输出编程 170
练习10 D/A转换—驱动小直流电机 174
练习11 A/D转换 178
练习12 点阵汉字显示 181
习题6 187
本章小结 187
第7章 MCS-51单片机相关产品简介 188
7.1 AT系列单片机简介 188
7.1.1 AT89系列单片机简述 188
7.1.2 89系列单片机的分档 190
7.2 其他系列单片机简介 192
7.3 单片机常用工具 195
7.3.1 仿真器 195
7.3.2 编程器 199
7.4 Keil C51和集成开发系统Keil uVision2的基本操作 202
习题7 208
本章小结 208
8.1 单片机应用系统开发流程 209
8.1.1 单片机应用系统开发流程介绍 209
第8章 单片机应用系统设计方法简介 209
8.1.2 单片机应用系统开发举例 210
8.2 应用系统硬件设计 213
8.2.1 单片机应用系统的硬件设计 213
8.2.2 单片机控制板的设计原则 213
8.3.1 应用系统软件设计注意事项 215
8.3.2 应用系统软件设计举例 215
8.3 应用系统软件设计 215
8.4 单片机应用实例一——水塔水位控制 217
8.5 单片机应用实例二——单片机自动打铃系统 220
练习13 综合练习——LCD编程 227
本章小结 239
习题8 239
附录A 芯片引脚符号图 240
附录B MCS-51单片机指令总表 242
附录C 习题参考答案 245
参考文献 257