项目一做好学习单片机的准备工作1
任务一单片机的初步了解 1
一、什么是单片机? 1
二、单片机有哪些主要特点? 3
三、单片机有什么用? 4
四、如何学好单片机? 7
任务二初步熟悉单片机应用系统的开发过程 9
一、单片机应用系统通常由哪些部分组成? 9
二、单片机应用系统是如何设计开发出来的? 12
三、单片机应用系统的硬件电路板是如何制作出来的? 13
四、单片机应用系统的控制程序是如何编写出来的? 16
五、学会单片机能干什么? 18
自测练习 19
项目二初步了解MCS-51系列单片机22
任务一MCS-51系列单片机的总体了解 22
任务二初步熟悉MCS-51系列单片机的硬件基础知识 23
一、MCS-51系列单片机的内部资源 23
二、MCS-51系列单片机的外部引脚 24
三、MCS-51系列单片机的小系统 30
任务三初步熟悉MCS-51系列单片机的控制程序编写 31
一、MCS-51系列单片机的存储空间 31
二、MCS-51系列单片机的常用寄存器 34
三、MCS-51系列单片机的汇编语言程序书写规范 38
四、C51语言的基础知识 39
五、单片机中的程序是如何执行的? 40
任务四构建MCS-51系列单片机开发环境 41
一、了解开发环境的组成 41
二、构建可用的MCS-51单片机开发学习环境 42
自测练习 43
项目三点亮一盏指示灯45
任务一系统总体方案设计 46
一、项目需求分析 46
二、总体方案设计 46
任务二系统硬件电路设计 46
一、单片机I O引脚的使用 46
二、单片机应用系统硬件设计说明书的编写 47
任务三系统控制程序编写 48
一、MCS-51单片机汇编语言控制程序的基本结构 48
二、MCS-51单片机相关指令及其使用 48
三、C51语言控制程序的基本结构 50
四、单片机单个引脚输出状态的控制 50
五、MCS-51单片机的位操作指令及其使用 51
六、单片机引脚状态控制的C51语言编程实现 52
七、系统控制程序的编程实现 52
任务四系统的软、硬件联合调试 53
一、控制程序的输入 53
二、控制程序的编译 56
三、程序的仿真调试 58
四、软、硬件的联合调试 60
任务五使指示灯闪烁起来(教学拓展任务) 63
一、如何让单片机引脚输出状态保持一段时间? 63
二、利用单片机指令执行时间实现延时的方法 63
三、如何熄灭指示灯? 64
四、控制指示灯闪烁的参考程序 65
自测练习 65
项目四顺序点亮多盏交通灯67
任务一系统总体方案设计 68
一、项目需求分析 68
二、总体方案设计 68
任务二系统硬件电路设计 68
一、单片机I O引脚的确定 69
二、单片机应用系统硬件设计说明书的编写 70
任务三系统控制程序编写 70
一、程序流程图的绘制 70
二、交通灯控制器控制程序的编写分析 71
三、项目控制程序实现的关键知识学习 72
【拓展知识1】MCS-51单片机的MOV指令及其使用 73
【拓展知识2】逻辑运算的初步了解 76
【拓展知识3】MCS-51单片机转移指令及其使用 79
四、项目汇编语言控制程序编写 82
五、项目C51语言控制程序的编写 86
任务四项目控制程序的调试和完善 87
任务五人行横道交通灯的控制(教学拓展任务) 89
自测练习 90
项目五具有夜间通行模式交通灯控制器的实现91
任务一系统总体方案设计 92
一、项目需求分析 92
二、总体方案设计 92
任务二系统硬件电路设计 92
一、单片机I O引脚的确定 92
二、系统硬件电路设计 92
任务三系统控制程序编写 93
一、分支程序流程图的绘制 93
二、系统控制程序编写分析 94
三、项目控制程序实现的关键知识学习 94
四、项目控制程序的编程实现 97
任务四系统控制程序的调试 97
一、分支程序的调试内容和调试方法 97
二、分支程序的调试 99
任务五添加人行横道灯的控制程序(教学拓展任务) 102
自测练习 102
项目六交通灯控制器紧急通行模式的实现104
任务一系统总体方案设计 105
一、项目需求分析 105
二、计算机对内、外部事件的响应机制学习 105
三、MCS-51单片机的中断及其管理 108
四、总体方案设计 114
任务二系统硬件电路设计 114
一、MCS-51单片机外部中断的使用 114
二、项目硬件电路设计 114
任务三系统控制程序编写 115
一、系统控制程序的编写分析 115
二、系统控制程序实现的关键知识学习 115
三、MCS-51单片机汇编语言中断控制程序的实现 116
【拓展知识1】普通子程序和中断服务子程序有什么相同和不同之处? 116
【拓展知识2】子程序的嵌套调用 117
任务四单片机中断控制程序的调试 121
一、Keil平台下中断程序的仿真调试 121
二、中断程序调试时的排障思路 122
任务五项目C51控制程序的编写和调试(教学拓展任务) 123
一、中断服务函数及其定义 124
二、C51语言中断应用程序示例 124
三、系统C51语言控制程序的实现 125
自测练习 125
项目七交通灯控制器通行时间倒计时显示的实现128
任务一系统总体方案设计 129
一、项目需求分析 129
二、单片机应用系统中精确定时的实现 129
三、单片机应用系统中数字显示的实现 129
四、项目系统总体方案设计 131
任务二系统硬件实现方案设计 131
一、深入了解数码管 131
【拓展知识1】数字的BCD编码表示 134
二、多位数码管与单片机信号连线设计 136
三、系统硬件电路的设计 138
任务三系统控制程序编写 138
一、系统控制程序的编写分析 138
二、系统控制程序实现的关键知识学习 138
【拓展知识2】所要定时的时间超过定时器一次定时的时间怎么办? 143
三、数码管软件译码程序的实现 148
【拓展知识3】MCS-51单片机汇编语言程序中查表程序的实现 149
四、数码管动态刷新程序的编写 154
五、项目控制程序的编写 155
任务四系统控制程序的调试 156
任务五使用液晶显示器显示简单信息(教学拓展任务) 157
一、单片机应用系统中常用液晶显示器件了解 157
二、MCS-51单片机应用系统中液晶显示的实现 157
自测练习 161
项目八交通灯控制器通行时间的现场手动设置163
任务一系统总体方案设计 164
一、项目需求分析 164
二、单片机应用系统中信息输入接口的实现 164
【拓展知识1】电子系统中开关和按键的比较 166
三、系统总体方案设计 166
任务二系统硬件电路设计 167
一、单片机应用系统中的按键使用 167
【拓展知识2】单片机应用系统中数字输入按键的实现方式 171
二、系统硬件电路设计 172
任务三系统控制程序编写 172
一、系统控制程序的编写分析 172
二、系统控制程序实现的关键知识学习 172
三、系统控制程序的编写 177
任务四系统控制程序的调试 177
任务五通行时间设置的矩阵式键盘实现(教学拓展任务) 177
自测练习 178
项目九交通灯控制器通行时间的远程设置180
任务一系统总体方案设计 181
一、项目需求分析 181
二、单片机应用系统中远程通信接口的实现 181
【拓展知识1】几个通信的基础概念 183
三、系统总体方案设计 186
任务二系统硬件电路设计 186
一、MCS-51单片机串行通信口的深入了解 187
【拓展知识2】USB接口的相关基础知识 188
二、项目硬件电路设计 191
任务三系统控制程序的编写 191
一、系统控制程序的编写分析 191
二、系统控制程序实现的关键知识学习 192
【拓展知识3】单片机之间的多机通信 196
三、系统控制程序的编写 200
任务四项目控制程序的调试 203
自测练习 210
项目十交通灯控制器通行时间的自动设置212
任务一系统总体方案设计 213
一、项目需求分析 213
二、单片机应用系统中输入信号的A D转换 213
三、单片机应用系统中的I O口扩展 214
四、总体方案设计 214
任务二系统硬件电路设计 215
一、常用的A D转换芯片及其和单片机的硬件连接 215
二、常用的并行口扩展芯片及其和单片机的硬件连接 219
三、单片机I O引脚数量的确定 222
四、系统硬件电路设计 224
任务三系统控制程序的编写 224
一、项目控制程序流程图的绘制 224
二、交通灯控制器控制程序的编写分析 225
三、项目控制程序实现的关键知识学习 225
【拓展知识】MCS-51单片机外部扩展芯片地址的确定 227
四、项目汇编语言控制程序编写 235
任务四系统控制程序的调试 235
自测练习 236
附录238
附录1MCS-51系列单片机汇编指令一览表 238
附录2MCS-51单片机引脚定义一览表 242
附录3MCS-51系列单片机中断资源一览表 243
附录4MCS-51系列单片机常用特殊功能寄存器功能定义一览表 244
附录5Keil平台下程序编译常见错误信息一览表 244
参考文献 245