任务1 开关控制指示灯 1
1.1 工作任务 1
1.1.1 硬件电路及工作原理 1
1.1.2 控制程序 2
1.1.3 单片机的工作过程 2
1.1.4 单片机开发系统 3
1.1.5 任务分析与总结 9
1.2 相关知识链接 10
1.2.1 计算机概述 10
1.2.2 单片机的发展过程与应用领域 12
1.2.3 MCS—51系列单片机结构和引脚功能 17
1.2.4 MCS—51内部存储器 21
1.2.5 MCS—51系列单片机的I/O口结构与操作 26
1.2.6 MCS—51系列单片机的时序和复位电路 28
1.2.7 数制与编码 31
任务小结 38
思考题与习题 38
任务2 彩灯循环控制器设计1 40
2.1 工作任务 40
2.1.1 硬件电路及工作原理 40
2.1.2 任务内容 41
2.1.3 任务分析 42
2.1.4 任务结论 45
2.2 相关知识链接 45
2.2.1 MCS—51单片机的寻址方式 45
2.2.2 指令系统及说明 49
2.2.3 数据传送类指令 50
2.2.4 算术运算类指令 53
2.2.5 逻辑运算与移位类指令 56
2.2.6 控制转移类指令 59
2.2.7 位操作指令 63
任务小结 65
思考题与习题 65
任务3 彩灯循环控制器设计2 67
3.1 工作任务 67
3.1.1 硬件电路及工作原理 67
3.1.2 任务内容 67
3.1.3 任务分析 69
3.1.4 任务结论 69
3.2 相关知识链接 69
3.2.1 汇编语言程序设计基础 69
3.2.2 顺序程序设计 74
3.2.3 分支程序设计 75
3.2.4 循环程序设计 79
3.2.5 子程序设计 85
3.2.6 算术运算和数码转制程序设计 90
任务小结 97
思考题与习题 98
任务4 交通信号灯控制 99
4.1 工作任务 99
4.1.1 硬件电路及任务要求 99
4.1.2 任务分析 100
4.1.3 控制程序 100
4.1.4 任务结论 102
4.2 相关知识链接 103
4.2.1 MCS—51单片机的中断系统 103
4.2.2 中断系统的编程与应用举例 109
4.2.3 MCS—51单片机的定时/计数器 112
4.2.4 定时/计数器应用举例 117
任务小结 122
思考题与习题 122
任务5 两台单片机之间互传数据 123
5.1 工作任务 123
5.1.1 硬件电路及任务要求 123
5.1.2 任务步骤 124
5.1.3 任务分析 127
5.1.4 任务结论 129
5.2 相关知识链接 130
5.2.1 串行通信基础 130
5.2.2 MCS—51单片机的串行接口 132
5.2.3 串行口应用举例 135
任务小结 142
思考题与习题 142
任务6 8155扩展键盘与显示 144
6.1 工作任务 144
6.1.1 硬件电路及工作原理 144
6.1.2 控制程序 145
6.1.3 任务分析 147
6.1.4 任务结论 148
6.2 相关知识链接 148
6.2.1 概述 148
6.2.2 存储器扩展 150
6.2.3 简单I/O总线扩展 155
6.2.4 可编程I/O接口芯片8155 156
6.2.5 MCS—51单片机的键盘接口 162
6.2.6 MCS—51单片机的显示接口 165
任务小结 173
思考题与习题 173
任务7 波形发生器及数据采集 175
7.1 工作任务 175
7.1.1 硬件电路及任务要求 175
7.1.2 任务步骤 177
7.1.3 任务分析 178
7.1.4 任务结论 179
7.2 相关知识链接 179
7.2.1 概述 179
7.2.2 D/A转换器及其与单片机的接口 181
7.2.3 A/D转换器及其与单片机的接口 185
任务小结 191
思考题与习题 191
任务8 单片机控制系统的工程设计 192
8.1 MCS—51单片机控制系统设计概述 192
8.1.1 单片机控制系统的构成 192
8.1.2 单片机控制系统的设计要求 193
8.1.3 单片机控制系统的设计方法 194
8.2 案例1——单片机控制的温度采集系统 196
8.2.1 系统硬件电路的设计 197
8.2.2 系统软件设计 198
8.3 案例2——单片机控制的纸机转速系统 203
8.3.1 系统硬件电路的设计 203
8.3.2 系统控制功能及软件设计 204
8.4 案例3——步进电动机控制应用实例 207
8.4.1 步进电动机基础知识 207
8.4.2 步进电动机的单片机控制系统 208
任务小结 210
思考题与习题 210
任务9 基于C语言的单片机程序设计 212
9.1 子任务1——I/O端口的C语言编程 212
9.1.1 工作任务 212
9.1.2 任务步骤 213
9.1.3 任务分析 214
9.1.4 建立C51编译环境 214
9.1.5 任务结论 216
9.2 子任务2——定时/计数器C语言编程 217
9.2.1 工作任务 217
9.2.2 任务步骤 217
9.2.3 任务分析 218
9.2.4 任务结论 218
9.3 子任务3——键盘与显示编程操作 218
9.3.1 工作任务 218
9.3.2 任务步骤 219
9.3.3 任务分析 221
9.3.4 任务结论 221
9.4 子任务4——串行通信口的应用 221
9.4.1 工作任务 221
9.4.2 任务步骤 221
9.4.3 任务分析 223
9.4.4 任务结论 223
9.5 相关知识链接 223
9.5.1 概述 223
9.5.2 C51语言运算符与表达式 226
9.5.3 C51数据类型 230
9.5.4 程序结构 237
9.5.5 C51存储器类型与存储器模式 242
9.5.6 函数 246
任务小结 251
思考题与习题 252
附录 253
参考文献 259