项目1 单片机最小系统构建 1
1.1 工作任务 1
1.2 相关知识链接 1
1.2.1 数制、编码等相关知识回顾 1
1.2.2 单片机及基本结构 3
1.2.3 80C51的存储器组织 6
1.2.4 80C51的并行口结构与功能 9
1.3 相关软件介绍 12
1.3.1 单片机编译软件Keil的使用 12
1.3.2 单片机仿真软件Proteus ISIS的使用 18
1.4 项目实施 21
1.4.1 单片机最小系统的构建 21
1.4.2 单片机下载单元电路 27
1.4.3 单片机最小系统的硬件制作 28
1.5 项目小结 34
习题与思考 34
项目2 LED循环灯的设计 36
2.1 工作任务 36
2.2 相关知识链接 36
2.2.1 LED基本原理 36
2.2.3 单片机C语言基础 37
2.3 项目实施 47
2.3.1 任务一:静态点亮单个LED 47
2.3.2 任务二:单个LED闪烁控制 49
2.3.3 任务三:8个LED循环点亮 50
2.3.4 任务四:LED花式循环的实现 52
2.4 项目小结 55
习题与思考 55
项目3 数码管的显示设计 57
3.1 工作任务 57
3.2 相关知识链接 57
3.2.1 数码管基本知识概述 57
3.2.2 中断的基本概念 59
3.2.3 定时/计数器相关基础知识 66
3.3 项目实施 70
3.3.1 任务一:数码管的静态显示 70
3.3.2 任务二:数码管的动态显示 73
3.4 项目小结 76
3.5 拓展训练 76
习题与思考 77
项目4 开关电路设计 78
4.1 工作任务 78
4.2 相关知识链接 78
4.2.1 常用开关介绍 78
4.2.2 开关抖动现象及消除 79
4.2.3 单片机读取开关信号方法 80
4.2.4 矩阵键盘(4×4)的结构 81
4.3 项目实施 81
4.3.1 任务一:独立按键控制LED 81
4.3.2 任务二:按键控制数码管显示 85
4.4 项目小结 90
4.5 拓展训练 91
习题与思考 91
项目5 LED点阵显示单元设计 92
5.1 工作任务 92
5.2 相关知识链接 92
5.2.1 8×8单色点阵的基本原理 92
5.2.2 8×8共阳极单色点阵的引脚判断 93
5.2.3 字模提取软件介绍 94
5.3 项目实施 101
5.3.1 任务一:8×8单色LED点阵显示系统设计 101
5.3.2 任务二:16×16单色点阵显示系统 110
5.4 项目小结 114
习题与思考 115
项目6 LCD显示屏设计 116
6.1 工作任务 116
6.2 相关知识链接 116
6.2.1 LCD1602基本原理 117
6.2.2 LCD12864基本原理 123
6.3 项目实施 129
6.3.1 任务一:LCD1602显示字符串 129
6.3.2 任务二:LCD12864显示文字或图形 137
6.4 项目小结 149
6.5 拓展训练 149
习题与思考 149
项目7 单片机通信单元设计 150
7.1 工作任务 150
7.2 相关知识链接 151
7.2.1 数据通信的传输方式 151
7.2.2 与串行口相关的控制寄存器 153
7.2.3 串行口工作方式 155
7.2.4 51单片机串行口的波特率 159
7.3 项目实施 160
7.3.1 任务一:单片机串行口实现数据移位 160
7.3.2 任务二:单片机串行口扩展8位并行输入口 163
7.3.3 任务三:单片机双机通信 165
7.4 项目小结 168
7.5 拓展训练 168
习题与思考 168
项目8 综合项目训练 169
8.1 工作任务1 169
8.1.1 硬件电路设计部分 169
8.1.2 程序设计 170
8.1.3 仿真与调试 175
8.1.4 任务小结 175
8.1.5 拓展训练 176
8.2 工作任务2 176
8.2.1 相关知识 176
8.2.2 硬件电路设计 178
8.2.3 程序设计 179
8.2.4 仿真与调试 186
8.2.5 任务小结 186
8.3 工作任务3 186
8.3.1 相关知识 187
8.3.2 任务实施 190
8.3.3 任务小结 194
8.4 工作任务4 194
8.4.1 相关知识 194
8.4.2 任务实施 199
8.4.3 拓展训练 213
8.4.4 任务小结 213
习题与思考 213
参考文献 217