第1章 单片机入门知识 1
1.1 单片微型计算机概述 1
1.1.1 计算机、微型计算机与单片机的区别 1
1.1.2 单片机的发展 2
1.1.3 单片机的特点与应用 4
1.2 单片机产品简介 5
1.2.1 MCS-51系列单片机 5
1.2.2 80C51系列单片机 6
1.2.3 其他常用单片机系列综述 7
1.3 单片机控制的灯闪烁系统的开发 8
1.3.1 灯闪烁系统的设计 9
1.3.2 汇编软件简介 10
1.3.3 烧录软件简介 12
1.3.4 单片机控制系统的开发流程 15
1.4 单片机中数据信息的表示 17
1.4.1 数值型数据的表示方法 17
1.4.2 非数值型数据的表示方法 20
习题 22
第2章 单片机的结构及原理 25
2.1 单片机的结构 25
2.1.1 89C51单片机的逻辑结构 25
2.1.2 89C51单片机的编程结构及工作原理 26
2.2 80C51系列单片机的存储器结构 29
2.2.1 程序存储器 29
2.2.2 数据存储器 30
2.2.3 特殊功能寄存器 31
2.3 89C51单片机的引脚及功能 34
2.3.1 电源引脚 35
2.3.2 控制引脚 35
2.3.3 输入/输出引脚 36
2.4 80C51系列单片机的工作方式 37
2.4.1 复位方式 37
2.4.2 程序执行方式 38
2.4.3 低功耗方式 38
2.5 80C51系列单片机的时序 40
2.5.1 时钟电路 40
2.5.2 时序的基本单位 41
2.5.3 80C51系列单片机的典型时序分析 42
习题 43
第3章 指令系统 48
3.1 指令系统概述 48
3.1.1 指令的组成 48
3.1.2 指令的书写方式 48
3.1.3 指令的字节数 49
3.2 寻址方式 49
3.2.1 立即寻址 50
3.2.2 直接寻址 50
3.2.3 寄存器间接寻址 51
3.2.4 寄存器寻址 51
3.2.5 变址寻址 52
3.2.6 相对寻址 52
3.2.7 位寻址 53
3.3 80C51系列单片机的指令系统 53
3.3.1 数据传送类指令 54
3.3.2 算术运算类指令 59
3.3.3 逻辑操作类指令 64
3.3.4 位操作指令 66
3.3.5 控制转移类指令 67
习题 72
第4章 汇编语言程序设计 78
4.1 汇编语言程序设计概述 78
4.1.1 程序设计语言 78
4.1.2 汇编语言规范 79
4.2 汇编语言程序设计举例 82
4.2.1 顺序程序 83
4.2.2 分支程序 86
4.2.3 循环程序 89
4.2.4 子程序 92
4.2.5 查表程序 94
习题 96
第5章 并行口及应用 101
5.1 80C51系列单片机内部并行口的结构 101
5.1.1 P0口结构 101
5.1.2 P1口结构 102
5.1.3 P2口结构 103
5.1.4 P3口结构 103
5.2 80C51系列单片机内部并行口的应用 104
5.2.1 流水灯 104
5.2.2 可控霓红灯 108
习题 115
第6章 中断系统及应用 117
6.1 中断概述 117
6.1.1 中断的几个概念 117
6.1.2 引入中断技术的优点 118
6.1. 3 中断系统的功能 118
6.2 80C51系列单片机的中断系统 119
6.2.1 80C51系列单片机中断系统的结构 119
6.2.2 80C51系列单片机的中断处理过程 123
6.2.3 中断请求的撤除 125
6.2.4 外部中断源的扩展 126
6.3 中断系统的应用 127
6.3.1 中断系统的初始化 127
6.3.2 计数器 128
6.3.3 报警器 134
习题 137
第7章 定时/计数器及应用 142
7.1 定时计数技术概述 142
7.1.1 软件定时/计数器 142
7.1.2 数字电路定时/计数器 143
7.1.3 可编程的定时/计数器 143
7.2 80C51系列单片机的定时/计数器 143
7.2.1 80C51系列单片机定时/计数器的结构及工作原理 143
7.2.2 定时/计数器的控制寄存器和方式寄存器 145
7.2.3 定时/计数器的工作方式 146
7.3 定时/计数器的应用 149
7.3.1 定时/计数器的初始化 149
7.3.2 电子表 152
7.3.3 外脉冲计数器 155
7.3.4 简易电子琴 157
习题 160
第8章 串行口及应用 168
8.1 串行通信概述 168
8.1.1 串行通信的分类 168
8.1.2 串行通信的波特率 169
8.1.3 串行通信方式 170
8.1.4 串行通信协议 170
8.2 80C51系列单片机内部串行口 170
8.2.1 串行口的结构 171
8.2.2 串行口的工作方式 172
8.3 串行口的应用 176
8.3.1 串行口初始化 176
8.3.2 双机通信 176
8.3.3 单片机与PC的通信 183
习题 185
第9章 单片机的扩展技术 187
9.1 单片机系统扩展概述 187
9.1.1 80C51系列单片机的并行扩展总线 187
9.1.2 80C51系列单片机的总线驱动能力 188
9.1.3 系统扩展常用芯片 189
9.2 程序存储器的扩展 191
9.2.1 程序存储器简介 191
9.2.2 程序存储器的并行扩展 192
9.3 数据存储器的扩展 196
9.3.1 数据存储器芯片简介 196
9.3.2 典型的SRAM扩展电路 197
9.4 80C51系列单片机并行口的扩展 202
9.4.1 简单并行口芯片的扩展 203
9.4.2 节日彩灯 204
9.5 A/D转换器及其与80C51系列单片机的接口和应用 206
9.5.1 A/D转换器概述 207
9.5.2 典型A/D转换器芯片及其接口 207
9.5.3 多路温度采集器 212
9.5.4 数字电压表 213
9.6 D/A转换器及其与80C51系列单片机的接口和应用 216
9.6.1 D/A转换器概述 216
9.6.2 典型D/A转换器芯片及其接口 217
9.6.3 灯光亮度控制器 223
9.6.4 正弦波发生器 225
习题 227
第10章 单片机应用系统设计实例 232
10.1 基于DS18B20一线温度传感器的温度计 232
10.1.1 项目任务 232
10.1.2 项目分析 232
10.1.3 DS18B20简介 233
10.1.4 系统原理设计 235
10.1.5 程序设计 237
10.2 LED点阵显示器 246
10.2.1 项目任务 247
10.2.2 项目分析 247
10.2.3 初步设计 248
10.2.4 项目硬件设计 252
10.2.5 项目软件设计 252
10.3 PWM直流电动机调速 258
10.3.1 项目任务 258
10.3.2 项目说明 258
10.3.3 控制器硬件设计 259
10.3.4 控制器程序设计 261
附录 80C51系列单片机指令表 267
参考文献 273