第0章 开头的话 1
0.1什么是单片机 1
0.2为什么要学习单片机 1
0.3怎样学习单片机 2
0.4本书特色 2
第1章 51系列单片机基本硬件系统及开发环境 4
1.1单片机的内部结构和工作原理 4
1.1.1单片机的内部结构 4
1.1.2单片机的工作原理 6
1.2封装形式与引脚定义 7
1.3单片机存储器结构 7
1.3.1程序存储器 8
1.3.2数据存储器 8
1.4单片机并行I/O端口 14
1.4.1P0端口 14
1.4.2P1端口 16
1.4.3P2端口 16
1.4.4P3端口 17
1.4.5I/O端口小结 18
1.5单片机最小系统 18
1.5.1时钟与时序 18
1.5.2复位电路 20
1.5.3单片机的最小系统 21
实训演示控制发光二极管的点亮与熄灭 22
1.6Keil单片机集成开发环境(IDE)μVision3使用简介 24
1.6.1安装和启动 24
1.6.2基本使用步骤 25
技能训练1用发光二极管的点亮与熄灭模拟霓虹灯 31
本章小结 34
思考与练习 34
第2章 单片机的指令系统 37
2.1指令系统概述 37
2.1.1指令分类 37
2.1.2指令格式 38
2.1.3常用符号 39
2.1.4伪指令 40
2.2寻址方式 41
2.2.1寄存器寻址方式 42
2.2.2直接寻址方式 42
2.2.3立即数寻址方式 42
2.2.4寄存器间接寻址方式 43
2.2.5变址寻址 43
2.2.6相对寻址 44
2.2.7位寻址 44
技能训练2寻址方式仿真训练 45
2.3数据传送指令 46
2.3.1片内RAM数据传送指令 47
2.3.2数据交换指令 48
2.3.3累加器A与外部RAM(或外部接口)数据传送指令 49
2.3.4累加器A与程序存储器传送指令 49
2.3.5堆栈操作指令 50
技能训练3数据传送类指令仿真训练与硬件调试 50
2.4算术运算指令 52
2.4.1加法指令 53
2.4.2减法指令 54
2.4.3十进制调整指令 55
2.4.4加1、减1指令 56
2.4.5乘法指令 57
2.4.6除法指令 57
技能训练4算术运算类指令仿真训练 57
2.5逻辑运算指令 59
2.5.1逻辑或操作指令 59
2.5.2逻辑与操作指令 60
2.5.3逻辑异或操作指令 61
2.5.4累加器A的逻辑操作指令 62
技能训练5逻辑运算指令仿真训练及硬件调试 63
2.6控制转移指令 65
2.6.1无条件转移指令 65
2.6.2空操作指令 66
2.6.3条件转移指令 67
2.6.4子程序调用和返回指令 69
技能训练6控制转移类指令仿真训练 70
2.7位操作指令 73
2.7.1位逻辑操作指令 73
2.7.2位数据传送指令 74
2.7.3位状态控制指令 74
2.7.4位控制转移指令 74
技能训练7位操作指令仿真训练与硬件调试 75
2.8汇编语言程序设计(几种典型的程序结构及子程序) 77
2.8.1程序设计的一般步骤 77
2.8.2顺序程序设计 78
2.8.3分支程序设计 78
2.8.4循环结构 79
2.8.5子程序设计 81
技能训练8一位数码管显示程序与硬件电路调试 84
本章小结 85
思考与练习 86
第3章 单片机的中断系统及应用 94
3.1中断系统的基本概念 94
3.1.1中断的基本概念 94
3.1.2中断源与中断标志 95
3.2中断的控制 97
3.2.1中断允许和禁止 97
3.2.2中断优先级控制 97
3.3中断响应 99
3.3.1中断响应过程 99
3.3.2中断响应时间 101
3.4中断系统的应用 102
3.4.1中断系统的初始化 102
3.4.2中断系统应用 103
技能训练9中断系统仿真训练1与硬件调试——数据采集 104
技能训练10中断系统仿真训练2与硬件调试——检测外部报警信号 106
本章小结 109
思考与练习 109
第4章 单片机的定时/计数器 110
4.1定时/计数器的基本概念及结构 110
4.1.1基本概念 110
4.1.2定时/计数器的结构及工作原理 110
4.2定时/计数器的控制 111
4.2.1定时器的工作方式寄存器TMOD 111
4.2.2定时器控制寄存器TCON 112
4.3定时/计数器的工作方式 113
4.3.1工作方式0 113
4.3.2工作方式1 113
4.3.3工作方式2 114
4.3.4工作方式3 115
4.4定时/计数器的应用 115
4.4.1定时/计数器的初始化 115
4.4.2定时/计数器的应用举例 118
技能训练11定时/计数器综合训练1——蜂鸣器发音控制 121
技能训练12定时/计数器综合训练2——交通灯控制 124
本章小结 127
思考与练习 127
第5章 单片机的串行接口 128
5.1串行通信的基本概念 128
5.1.1通信的基本概念 128
5.1.2串行通信的分类 129
5.1.3串行通信的制式 130
5.251系列单片机的串行接口 131
5.2.151系列单片机串行口结构 131
5.2.251系列单片机串行口的工作方式 133
5.2.351系列单片机串行口的波特率 135
5.3串行通信的电平转换接口 136
5.4串行接口的应用 137
技能训练13单片机之间的通信 138
技能训练14串行接口仿真训练1——接收数据显示 140
本章小结 143
思考与练习 143
第6章 单片机的键盘及显示接口 144
6.1键盘概述 144
6.1.1键盘的分类 144
6.1.2键盘的工作原理 144
6.1.3键盘的消抖动 145
6.2键盘工作方式 145
6.2.1独立式键盘 145
6.2.2矩阵式键盘 146
6.2.3矩阵式键盘的按键识别方法 146
6.3键盘接口编程模式 148
6.3.1编程扫描方式 149
6.3.2定时扫描方式 149
6.3.3外部中断方式 149
6.4显示接口概述 150
6.4.1LED显示器的结构与原理 150
6.4.2LED显示器的工作方式 151
技能训练15一键多功能控制 153
本章小结 157
思考与练习 157
第7章 单片机的综合应用实例 158
7.1单片机应用系统设计的一般流程与技术要点 158
7.1.1总体设计 159
7.1.2硬件设计 159
7.1.3单片机系统硬件抗干扰的常用方法 160
7.1.4软件设计 163
7.1.5资源分配 164
7.1.6软件仿真 165
7.2实例——六位数码管时钟设计与制作 165
7.2.1系统设计要求 165
7.2.2系统的硬件设计 165
7.2.3系统的软件设计 166
本章小结 173
思考与练习 174
附录1 175
附录2 176