项目1 绪论 1
任务1.1 认识单片机 2
1.1 本课程的性质及任务要求 2
1.2 单片机课程学习方法 3
1.3 单片机的基础知识 3
1.4 单片机应用系统开发简介 6
1.5 本书的主旨结构和章节安排 9
项目2 MCS-51单片机的基本结构及工作原理 11
任务2.1 单片机控制LED灯 12
2.1 MCS-51单片机的基本结构 12
2.2 微处理器CPU 14
2.3 MCS-51单片机的复位和最小系统 17
2.4 MCS-51单片机的存储器结构 18
任务2.2 按键控制LED的闪烁 26
2.5 并行I/O端口 27
项目3 MCS-51单片机指令系统及编程举例 34
任务3.1 辨别指令的寻址方式 35
3.1 指令系统概述 35
任务3.2 数据在不同存储器间的转移 39
3.2 数据传送类指令 40
任务3.3 多字节BCD码加法运算 46
3.3 算术运算类指令 46
任务3.4 利用逻辑运算实现数据的重组 52
3.4 逻辑运算类指令 52
任务3.5 应用单片机实现温度控制 56
3.5 控制转移类指令 56
3.6 位(布尔变量)操作类指令 61
任务3.6 单片机控制循环闪烁灯 65
3.7 伪指令 65
3.8 汇编语言程序设计 67
项目4 单片机C语言程序设计 79
任务4 C51实现单片机控制流水灯 80
4.1 单片机C语言概述 80
4.2 C51的数据类型与运算符 81
4.3 C51对单片机资源的定义 85
4.4 C51编译器与集成开发环境使用简介 90
项目5 MCS-51单片机的中断系统 98
任务5.1 单键控制流水灯点亮 99
5.1 中断概述 99
5.2 中断控制 102
5.3 中断的处理过程 103
5.4 外中断系统的编程应用 105
任务5.2 多键改变流水灯状态 107
5.5 多个外部中断源 107
项目6 定时器/计数器 113
任务6.1 定时器控制LED闪烁 114
6.1 定时器/计数器的结构与工作原理 114
6.2 定时器/计数器的工作方式 117
6.3 定时器/计数器的初始化 118
项目7 串行口及应用 122
任务7.1 串口/并口转换 123
7.1 串行通信的基本知识 123
7.2 MCS-51串行口的结构 125
任务7.2 双机通信 131
7.3 单片机的双机通信 131
任务7.3 多机通信 135
7.4 多机通信 136
项目8 MCS-51单片机系统扩展技术 141
任务8.1 检测开关状态,并将其状态通过LED输出 142
8.1 单片机并行扩展系统结构及编址技术 142
8.2 片外程序存储器的并行扩展技术 145
8.3 数据存储器的扩展 148
8.4 I/O口扩展技术 153
任务8.2 具有分频闪烁功能的开关状态指示 161
8.5 串行总线接口存储器扩展 170
项目9 单片机的典型外围接口技术 179
任务9.1 矩阵式键盘键值的识别 180
9.1 键盘接口 180
任务9.2 LED显示器显示指定数字 188
9.2 LED显示接口 188
任务9.3 LCD显示器显示指定汉字 197
9.3 LCD显示器接口 197
项目10 AD与DA接口 219
任务10.1 充电电池电量指示装置设计 220
10.1 AD转换器接口技术 220
任务10.2 多种波形发生器 227
10.2 D/A转换器接口技术 228
项目11 单片机应用系统的设计 238
任务11.1 基于GSM的雾霾交通限速牌设计 239
11.1 单片机应用系统设计过程 239
项目12 Proteus电路设计与仿真 254
12.1 概述 255
12.2 工作界面 255
12.3 基本操作 256
12.4 Proteus实例 260
附录A 51系列单片机指令系统表 267