第1章 MCS-51单片机结构及原理 1
1.1 单片机 1
1.1.1 单片机的概念 1
1.1.2 单片机的应用领域 2
1.1.3 单片机的产品介绍 3
1.1.4 单片机的学习方法 5
1.2 MCS-51系列单片机的结构和引脚 5
1.2.1 MCS-51引脚及功能说明 6
1.2.2 MCS-51引脚及应用电路 9
1.3 单片机最小系统电路制作 11
1.4 MCS-51单片机的结构方框图 12
1.4.1 MCS-51的核心电路 12
1.4.2 中央处理单元CPU 14
1.5 MCS-51单片机存储器结构 15
1.5.1 存储器的特点 15
1.5.2 MCS-51具有的存储器编址空间 16
1.5.3 数据存储器 16
1.5.4 特殊功能寄存器SFR(专用寄存器) 18
1.5.5 时钟和CPU时序 20
1.5.6 复位、掉电处理 22
1.6 单片机应用系统应用操作 23
本章小结 23
习题1 24
第2章 MCS-51系列单片机指令系统 26
2.1 单片机指令系统基础 26
2.1.1 指令的概念 26
2.1.2 51单片机指令系统说明 28
2.1.3 51单片机寻址方式 29
2.2 数据传送类指令 31
2.2.1 片内数据传送指令 31
2.2.2 片外数据传送指令 35
2.3 算术运算类指令 37
2.3.1 加法指令 37
2.3.2 十进制调整指令 40
2.3.3 减法指令 41
2.3.4 乘法和除法指令 42
2.4 逻辑运算及移位指令 43
2.4.1 累加器的逻辑操作指令 43
2.4.2 逻辑运算指令 46
2.5 控制转移指令 47
2.5.1 无条件转移指令 48
2.5.2 调用指令 50
2.5.3 条件转移指令 52
2.6 布尔变量操作指令 54
2.6.1 位传送指令 55
2.6.2 位状态控制指令 55
2.6.3 位逻辑操作指令 56
2.6.4 位条件转移指令 57
2.7 指令部分学习方法小结 59
2.8 任务式教学 61
2.8.1 实验设备编程:数据传送练习 61
2.8.2 单片机发光二极管显示电路应用 65
2.8.3 单片机数码管显示电路应用 67
2.8.4 单片机按键输入和二极管输出电路应用 71
本章小结 72
习题2 72
第3章 C51基础和汇编程序设计 76
3.1 单片机汇编程序设计基础 76
3.1.1 汇编语言程序设计步骤 76
3.1.2 编制程序的流程图 77
3.1.3 单片机51系列的伪指令 78
3.1.4 汇编语言源程序手工汇编 79
3.2 单片机汇编语言程序设计初步 79
3.2.1 顺序程序设计 79
3.2.2 分支程序设计 81
3.3 循环结构与循环程序设计 83
3.3.1 循环结构程序 83
3.3.2 循环结构程序设计 84
3.4 子程序和查表子程序设计 88
3.4.1 子程序设计 88
3.4.2 查表及查表程序设计 92
3.4.3 散转程序及其设计 93
3.5 单片机C51语言程序设计基础 96
3.5.1 C语言与C51语言简介 96
3.5.2 函数概述 98
3.5.3 函数定义的一般形式 99
3.5.4 函数的参数和函数的值 99
3.5.5 函数的调用 100
3.5.6 数组作为函数参数 102
3.5.7 指针 103
3.6 单片机C51数据类型 105
3.7 C51的运算量 108
3.7.1 常量 108
3.7.2 变量 111
3.7.3 局部变量和全局变量 113
3.8 运算符和表达式 114
3.8.1 C51语言中按运算符在表达式中的作用分类 114
3.8.2 运算符和表达式(关系运算符) 116
3.8.3 逻辑运算符和表达式(逻辑运算符) 118
3.9 语句表达式 122
3.9.1 基本语句的语法 122
3.9.2 while语句 123
3.9.3 do-while语句 123
3.9.4 if(条件表达式,如果)语句 124
3.9.5 switch开关语句 125
3.9.6 break语句 126
3.9.7 for语句 126
3.9.8 goto语句标号;和continue语句 128
3.10 任务式教学 129
3.10.1 多位数码管显示电路应用 129
3.10.2 多位数码管动态显示电路应用 132
本章小结 135
习题3 135
第4章 单片机定时器/计数器、中断和串行口 137
4.1 MCS-51的定时器/计数器 137
4.1.1 定时器/计数器的结构 137
4.1.2 定时器/计数器的4种工作方式 139
4.1.3 定时器应用 141
4.2 单片机中断系统 144
4.2.1 中断概述 144
4.2.2 51单片机中断系统结构和功能 146
4.2.3 中断系统应用 149
4.3 单片机串行口 152
4.3.1 串行口的基本概念 152
4.3.2 51单片机的串行口功能与结构 153
4.3.3 串行口应用 157
4.4 任务式教学:时钟及显示程序应用 159
本章小结 166
习题4 166
第5章 MCS-51系列单片机的扩展 168
5.1 MCS-51系列单片机系统扩展方法 168
5.1.1 最小系统和系统扩展方法 168
5.1.2 MCS-51单片机的总线组成 168
5.2 存储器扩展 169
5.2.1 程序存储器扩展 169
5.2.2 数据存储器扩展 171
5.3 串行存储器E2PROM的应用 172
5.3.1 I2C总线 172
5.3.2 串行E2 PROM-X24C02 173
5.3.3 51单片机扩展X24C02 173
5.4 串行温度传感器DS18B20 180
5.4.1 DALLAS公司DS 18B20基本参数 180
5.4.2 温度传感器DS 18B20使用中注意事项 182
5.5 任务式教学 188
5.5.1 音乐程序 188
5.5.2 键盘显示输出电路综合应用 190
本章小结 197
习题5 197
第6章 单片机接口 198
6.1 输入/输出接口概述 198
6.2 可编程接口芯片8255A的扩展 200
6.3 键盘、显示接口 205
6.3.1 按钮开关与单片机的接口 205
6.3.2 矩阵键盘与单片机的接口 206
6.3.3 LED显示器与单片机的接口 207
6.3.4 zlg7289A LED数码管及键盘控制器 209
6.3.5 点阵图形液晶显示模块接口 213
6.4 单片机功率接口 217
6.4.1 功率晶体管接口 218
6.4.2 光电耦合器隔离 219
6.4.3 双向晶闸管接口 219
6.5 A/D、D/A转换器接口 220
6.5.1 D/A转换器接口 220
6.5.2 A/D转换器接口 223
6.5.3 串行接口A/D转换器 228
6.5.4 Watchdog 230
6.6 任务式教学 231
6.6.1 输入/输出编程-功率输出 231
6.6.2 D/A转换——驱动小直流电机 234
6.6.3 A/D转换 238
6.6.4 点阵汉字显示 240
本章小结 245
习题6 245
第7章 MCS-51单片机相关产品简介 246
7.1 AT系列单片机简介 246
7.1.1 AT89系列单片机简述 246
7.1.2 89系列单片机的分档 248
7.2 其他系列单片机简介 250
7.3 单片机常用工具 252
7.3.1 仿真器 252
7.3.2 编程器 257
7.4 集成开发系统Keil uVision2的基本操作 260
7.5 液晶LCD显示器12864应用 266
本章小结 278
习题7 278