第1章 单片机开发系统简介 1
1.1 实训概要 1
1.2 单片机开发系统操作指南 5
1.2.1 实训目的 5
1.2.2 实训案例 5
1.2.3 实训内容 6
习题 9
第2章 MCS-51单片机指令系统 10
2.1 实训概要 10
2.2 实训1 通用数据传送指令训练 13
2.2.1 实训目的 13
2.2.2 实训要求 13
2.2.3 实训预习 13
2.2.4 实训器材 16
2.2.5 实训案例 16
2.2.6 实训程序 17
2.2.7 实训步骤 18
2.3 实训2 堆栈及交换指令训练 18
2.3.1 实训目的 18
2.3.2 实训要求 18
2.3.3 实训预习 18
2.3.4 实训器材 20
2.3.5 实训程序 20
2.3.6 实训步骤 21
2.3.7 思考与讨论 21
2.4 实训3 加法及十进制调整指令训练 22
2.4.1 实训目的 22
2.4.2 实训要求 22
2.4.3 实训预习 22
2.4.4 实训器材 23
2.4.5 实训程序 23
2.4.6 实训步骤 24
2.4.7 思考与讨论 25
2.5 实训4 减法指令训练 25
2.5.1 实训目的 25
2.5.2 实训要求 25
2.5.3 实训预习 25
2.5.4 实训器材 26
2.5.5 实训程序 26
2.5.6 实训步骤 27
2.6 实训5 乘法和除法指令训练 27
2.6.1 实训目的 27
2.6.2 实训要求 27
2.6.3 实训预习 28
2.6.4 实训器材 28
2.6.5 实训程序 28
2.6.6 实训步骤 28
2.7 实训6 逻辑操作指令训练 29
2.7.1 实训目的 29
2.7.2 实训要求 29
2.7.3 实训预习 30
2.7.4 实训器材 31
2.7.5 实训程序 31
2.7.6 实训步骤 31
2.7.7 思考与讨论 32
2.8 实训7 控制转移指令训练 32
2.8.1 实训目的 32
2.8.2 实训要求 32
2.8.3 实训预习 33
2.8.4 实训器材 34
2.8.5 程序流程及实训程序 34
2.8.6 实训步骤 36
2.9 实训8 位操作指令训练 36
2.9.1 实训目的 36
2.9.2 实训要求 36
2.9.3 实训预习 36
2.9.4 实训器材 37
2.9.5 实训步骤 37
2.9.6 实训程序 38
2.9.7 思考与练习 38
习题 39
第3章 汇编语言程序设计 41
3.1 实训概要 41
3.2 实训9 顺序程序设计训练 42
3.2.1 实训目的 42
3.2.2 实训要求 42
3.2.3 实训预习 42
3.2.4 实训器材 43
3.2.5 实训程序 43
3.2.6 实训步骤 45
3.2.7 思考与讨论 45
3.3 实训10 分支程序设计训练 46
3.3.1 实训目的 46
3.3.2 实训要求 46
3.3.3 实训预习 46
3.3.4 实训器材 47
3.3.5 程序流程及实训程序 47
3.3.6 实训步骤 48
3.3.7 思考与讨论 49
3.4 实训11 循环程序设计训练 49
3.4.1 实训目的 49
3.4.2 实训要求 49
3.4.3 实训预习 49
3.4.4 实训器材 50
3.4.5 实训程序 50
3.4.6 实训步骤 51
3.4.7 思考与讨论 51
3.5 实训12 子程序设计训练 52
3.5.1 实训目的 52
3.5.2 实训要求 52
3.5.3 实训预习 52
3.5.4 实训器材 53
3.5.5 实训程序 53
3.5.6 实训步骤 54
习题 54
第4章 MCS-51输入/输出接口 57
4.1 实训概要 57
4.2 实训13 闪烁灯控制 58
4.2.1 实训目的 58
4.2.2 实训要求 58
4.2.3 硬件电路原理图 58
4.2.4 程序设计思路 58
4.2.5 实训程序流程图 59
4.2.6 实训程序 60
4.2.7 实训步骤 60
4.3 实训14 开关状态的显示 61
4.3.1 实训目的 61
4.3.2 实训要求 61
4.3.3 硬件电路原理图 61
4.3.4 程序设计思路 61
4.3.5 实训程序 62
4.3.6 实训器材 63
4.3.7 实训步骤 63
4.3.8 思考与讨论 64
4.4 实训15 节日彩灯控制 65
4.4.1 实训目的 65
4.4.2 实训要求 65
4.4.3 硬件电路原理图 65
4.4.4 程序设计思路 65
4.4.5 实训器材 65
4.4.6 实训步骤 66
4.4.7 实训程序 66
4.4.8 思考与讨论 67
4.5 实训16 运算器电路 68
4.5.1 实训目的 68
4.5.2 实训要求 68
4.5.3 硬件电路原理图 68
4.5.4 程序设计思路 68
4.5.5 实训器材 69
4.5.6 实训程序 69
4.5.7 实训步骤 70
4.5.8 思考与讨论 70
习题 71
第5章 定时/计数器和中断 72
5.1 实训概要 72
5.2 实训17 方波发生器 76
5.2.1 实训目的 76
5.2.2 实训要求 76
5.2.3 实训器材 77
5.2.4 程序设计思路 77
5.2.5 硬件电路原理图 77
5.2.6 实训步骤 77
5.3 实训18 外部工件计数器 79
5.3.1 实训目的 79
5.3.2 实训要求 80
5.3.3 实训器材 80
5.3.4 程序设计思路 80
5.3.5 硬件电路原理图 80
5.3.6 实训步骤 81
5.3.7 实训程序 81
5.4 实训19 外部脉冲宽度测试器 86
5.4.1 实训目的 86
5.4.2 实训要求 86
5.4.3 实训器材 87
5.4.4 硬件电路原理图 87
5.4.5 实训程序 87
5.4.6 实训步骤 89
5.4.7 思考与讨论 90
5.5 实训20 中断控制研究 90
5.5.1 实训目的 90
5.5.2 实训要求 90
5.5.3 实训器材 90
5.5.4 硬件电路原理图 90
5.5.5 实训步骤 91
5.5.6 实训程序 92
5.5.7 分析与思考 93
5.6 实训21 4人抢答器的中断控制 94
5.6.1 实训目的 94
5.6.2 实训要求 94
5.6.3 设计思想 94
5.6.4 硬件电路原理图 94
5.6.5 实训步骤 94
5.6.6 主程序及中断服务程序 95
5.6.7 思考与讨论 96
习题 96
第6章 串行接口控制 98
6.1 实训概要 98
6.2 实训22 串行数据传送 103
6.2.1 实训目的 103
6.2.2 实训要求 103
6.2.3 实训器材 103
6.2.4 硬件电路原理图 103
6.2.5 实训步骤 104
6.2.6 实训程序 104
6.2.7 分析与思考 105
6.3 实训23 串行接口扩展输出I/O口 105
6.3.1 实训目的 105
6.3.2 实训要求 105
6.3.3 实训器材 105
6.3.4 硬件电路原理图 105
6.3.5 实训步骤 105
6.3.6 实训程序 106
6.3.7 分析与思考 108
6.4 实训24 串行接口扩展输入I/O口 108
6.4.1 实训目的 108
6.4.2 实训要求 108
6.4.3 实训器材 108
6.4.4 硬件电路原理图 108
6.4.5 实训步骤 108
6.4.6 实训程序 109
6.5 实训25 双机通信 110
6.5.1 实训目的 110
6.5.2 实训要求 110
6.5.3 实训器材 111
6.5.4 通信协议 111
6.5.5 程序设计思想 111
6.5.6 硬件电路原理图 112
6.5.7 实训步骤 112
6.5.8 程序流程图 113
6.5.9 实训程序 117
6.5.10 分析与思考 119
6.6 实训26 多机通信 121
6.6.1 实训目的 121
6.6.2 实训要求 121
6.6.3 实训器材 121
6.6.4 硬件电路原理图 121
6.6.5 程序流程图 121
6.6.6 实训步骤 125
6.6.7 实训程序 125
习题 126
第7章 单片机常用接口电路 128
7.1 实训概要 128
7.2 实训27 简单I/O接口扩展 130
7.2.1 实训目的 130
7.2.2 实训要求 130
7.2.3 实训器材 130
7.2.4 预备知识 131
7.2.5 硬件电路原理图 131
7.2.6 实训步骤 131
7.2.7 程序流程及实训程序 132
7.2.8 分析与思考 133
7.3 实训28 工业注塑机自动控制 134
7.3.1 实训目的 134
7.3.2 实训要求 134
7.3.3 预备知识 134
7.3.4 实训器材 134
7.3.5 实训步骤 134
7.3.6 硬件电路原理图 134
7.3.7 实训程序 135
7.3.8 分析与思考 137
7.4 实训29 可编程8255的基本控制 137
7.4.1 实训目的 137
7.4.2 实训要求 137
7.4.3 实训器材 137
7.4.4 硬件电路原理图 137
7.4.5 实训步骤 138
7.4.6 程序流程及实训程序 139
7.4.7 分析与思考 141
7.5 实训30 LED显示器接口 141
7.5.1 实训目的 141
7.5.2 实训要求 141
7.5.3 实训器材 141
7.5.4 预备知识 142
7.5.5 硬件电路原理图 142
7.5.6 实训步骤 143
7.5.7 实训程序 143
7.5.8 分析与思考 144
7.6 实训31 LED的动态显示研究 144
7.6.1 实训目的 144
7.6.2 实训要求 144
7.6.3 实训器材 144
7.6.4 预备知识 144
7.6.5 硬件电路原理图 145
7.6.6 实训步骤 145
7.6.7 实训程序 147
7.6.8 分析与思考 148
7.7 实训32 单键识别技术 149
7.7.1 实训目的 149
7.7.2 实训要求 149
7.7.3 实训器材 149
7.7.4 预备知识 149
7.7.5 硬件电路原理图 149
7.7.6 实训步骤 150
7.7.7 实训程序 150
7.8 实训33 4×4矩阵式键盘识别技术 152
7.8.1 实训目的 152
7.8.2 实训要求 152
7.8.3 预备知识 152
7.8.4 实训器材 153
7.8.5 硬件电路原理图 153
7.8.6 实训步骤 154
7.8.7 程序流程及实训程序 154
7.9 实训34 A/D转换 160
7.9.1 实训目的 160
7.9.2 实训要求 160
7.9.3 实训器材 160
7.9.4 硬件电路原理图 161
7.9.5 实训步骤 161
7.9.6 实训程序 161
7.9.7 分析与思考 163
7.10 实训35 D/A转换 164
7.10.1 实训目的 164
7.10.2 实训要求 164
7.10.3 实训器材 164
7.10.4 硬件电路原理图 164
7.10.5 实训步骤 165
7.10.6 实训程序 165
7.10.7 分析与思考 167
习题 167
第8章 单片机多功能接口技术 169
8.1 实训概要 169
8.2 实训36 电子音乐 171
8.2.1 实训目的 171
8.2.2 实训要求 171
8.2.3 实训器材 171
8.2.4 硬件电路原理图 171
8.2.5 实训步骤 171
8.2.6 程序流程及实训程序 172
8.3 实训37 交通信号灯控制 178
8.3.1 实训目的 178
8.3.2 实训要求 178
8.3.3 实训器材 178
8.3.4 设计思想 178
8.3.5 硬件电路原理图 180
8.3.6 实训步骤 181
8.3.7 实训程序 181
8.4 实训38 产品数量显示 183
8.4.1 实训目的 183
8.4.2 实训要求 183
8.4.3 设计思想 183
8.4.4 实训器材 183
8.4.5 硬件电路原理图 183
8.4.6 实训步骤 184
8.4.7 实训程序 184
8.5 实训39 电脑时钟 186
8.5.1 实训目的 186
8.5.2 实训要求 186
8.5.3 实训器材 186
8.5.4 程序流程图 187
8.5.5 实训步骤 187
8.5.6 实训程序 188
8.5.7 分析与思考 196
8.6 实训40 I2C存储卡读写 197
8.6.1 实训目的 197
8.6.2 实训要求 197
8.6.3 硬件电路原理图 197
8.6.4 实训步骤 198
8.6.5 实训程序 198
习题 204
第9章 单片机的综合应用 206
9.1 实训概要 206
9.2 单片机应用系统的开发与可靠性设计 206
9.2.1 单片机应用系统设计前的准备工作 206
9.2.2 硬件设计 206
9.2.3 软件设计 207
9.2.4 应用系统的软硬件调试 208
9.2.5 应用系统的抗干扰设计 209
9.3 三相步进电机的控制 210
9.3.1 实训目的 210
9.3.2 实训要求 210
9.3.3 预备知识 210
9.3.4 硬件电路原理图 212
9.3.5 实训程序 212
9.4 汉字液晶显示器的设计 214
9.4.1 实训目的 214
9.4.2 实训要求 215
9.4.3 预备知识 215
9.4.4 硬件电路原理图 217
9.4.5 实训程序 218
9.5 多路温度巡检系统的设计 222
9.5.1 实训目的 222
9.5.2 实训要求 222
9.5.3 预备知识 222
9.5.4 硬件电路原理图 223
9.5.5 程序流程及实训程序 224
9.6 消防火灾自动报警控制系统 228
9.6.1 实训目的 228
9.6.2 实训要求 228
9.6.3 系统总体设计 229
9.6.4 系统硬件电路设计 229
9.6.5 硬件电路原理图 231
9.6.6 程序流程及实训程序 234
习题 254
第10章 MCS-51单片机的C51编程训练 255
10.1 实训概要 255
10.2 C51简介及编程 255
10.2.1 C51简介 255
10.2.2 C51语言编程方法 256
10.2.3 Keil C51工具包的安装 256
10.2.4 Keil C51具包的各部分功能及使用简介 256
10.3 μVision2集成开发环境 257
10.3.1 项目管理器 257
10.3.2 集成功能 257
10.3.3 编辑器和调试器 258
10.3.4 C51编译器 258
10.4 实训41 算术运算程序设计 260
10.4.1 实训目的 260
10.4.2 预备知识 260
10.4.3 实训要求 260
10.4.4 实训器材 260
10.4.5 实训步骤 260
10.4.6 实训程序 260
10.5 实训42 简单I/O输出 261
10.5.1 实训目的 261
10.5.2 实训要求 261
10.5.3 硬件电路原理图 261
10.5.4 实训器材 261
10.5.5 实训步骤 261
10.5.6 实训程序 262
10.6 实训43 定时器中断训练 264
10.6.1 实训目的 264
10.6.2 实训要求 264
10.6.3 硬件电路原理图 264
10.6.4 实训器材 265
10.6.5 实训步骤 265
10.6.6 实训程序 265
习题 266
附录1 MCS-51单片机指令速查表 267
附录2 美国标准信息交换码ASCII字符表 272
附录3 常用集成电路引脚图 273
附录4 特殊功能寄存器功能汇总 279
参考文献 281