第1章 单片机概述 1
1.1单片机的概念 1
1.1.1微型计算机系统 1
1.1.2单片机 2
1.2单片机的产生与发展 2
1.2.1单片机的产生及现状 2
1.2.2单片机的发展趋势 3
1.3单片机应用系统 4
1.3.1应用系统的构成和分类 4
1.3.2应用系统的软、硬件 5
1.3.3应用领域 6
1.4常用单片机产品 7
1.4.1常见的单片机系列 7
1.4.2 8位单片机系列 8
1.4.3单片机的供应状态 9
1.5课程的内容、性质和任务 10
1.5.1课程的内容 10
1.5.2课程的性质 10
1.5.3课程的学习方法 10
1.5.4课程的任务 10
1.6计算机基础知识 10
1.6.1计算机中的数制及转换 10
1.6.2二进制数的运算 12
1.6.3带符号数的表示 13
1.6.4定点数和浮点数 14
1.6.5 BCD码和ASCII码 15
1.6.6微型计算机的组成及工作过程 16
习题1 20
第2章 MCS -51单片机硬件结构 21
2.1单片机的内部组成及引脚 21
2.1.1内部组成 21
2.1.2引脚 23
2.2 MCS -51单片机的微处理器 25
2.2.1运算器 25
2.2.2控制器 26
2.3 MCS-51单片机存储器 28
2.3.1存储器空间 28
2.3.2程序存储器 29
2.3.3数据存储器 30
2.3.4位存储区 34
2.4并行输入/输出(I/O)接口 34
2.4.1 P0口 34
2.4.2 P1口 35
2.4.3 P2口 36
2.4.4 P3口 36
2.4.5 I/O口的使用原则 37
2.5时钟电路与复位电路 38
2.5.1时钟电路 38
2.5.2时序 39
2.5.3复位电路 40
2.6单片机的工作方式 42
2.6.1空闲工作方式 42
2.6.2掉电工作方式 43
习题2 43
第3章 MCS-51单片机指令系统 45
3.1指令系统概述 45
3.1.1 MCS-51指令格式 45
3.1.2操作数类型及指令描述约定 48
3.1.3寻址方式 49
3.1.4寻址方式小结 56
3.2数据传送类指令 57
3.3算术运算类指令 63
3.4逻辑运算及移位类指令 68
3.5控制转移类指令 72
3.5.1无条件转移指令 74
3.5.2条件转移指令 75
3.5.3子程序调用与返回指令 77
3.5.4空操作指令 78
3.6位操作类指令 79
习题3 83
第4章 MCS -51单片机汇编语言程序设计 85
4.1伪指令 85
4.2汇编程序设计步骤及格式 87
4.2.1设计步骤 87
4.2.2编程格式 88
4.3顺序结构的程序设计 89
4.4分支结构的程序设计 91
4.4.1单分支结构 91
4.4.2多分支结构 92
4.5循环结构的程序设计 94
4.6查表程序设计 97
4.7子程序设计 98
4.7.1子程序的调用和返回 99
4.7.2子程序设计注意事项 99
习题4 101
第5章 MCS-51单片机C51程序设计 103
5.1 C51数据类型与存储类型 103
5.1.1 C51的基本数据类型 104
5.1.2 C51的存储类型 105
5.1.3 C51的存储模式 107
5.1.4特殊功能寄存器SFR及其位地址的C51定义 108
5.1.5 MCS-51并行接口的C51定义 109
5.1.6位变量(BIT)及其C51定义 110
5.2 C51运算符及其表达式 111
5.2.1 C51的算术运算符及其表达式与优先级 111
5.2.2 C51的关系运算符、表达式及优先级 112
5.2.3 C51的逻辑运算符、表达式及优先级 113
5.2.4 C51的位操作及其表达式 113
5.2.5自增减运算符、复合运算符及其表达式 114
5.3 C51的流程控制语句 115
5.3.1 C51程序的基本结构 115
5.3.2选择语句 116
5.3.3循环语句 119
5.4构造数据类型 120
5.4.1数组 120
5.4.2结构体(struct) 121
5.4.3共用体(union) 123
5.4.4枚举(enum) 124
5.5 C51指针 124
5.5.1指针的概念 125
5.5.2指针的类型 126
5.6 C51函数 127
5.6.1函数的定义 127
5.6.2函数的调用 129
5.6.3对被调用函数的说明 129
5.6.4函数的参数和函数的返回值 131
5.6.5实际参数的传递方式 131
5.6.6中断服务函数与寄存器组定义 132
5.6.7函数变量的存储方式 133
5.6.8函数的参数和局部变量的存储器模式 134
5.7预处理器 135
5.7.1宏定义 135
5.7.2文件包含 136
5.7.3条件编译 137
5.7.4其他预处理命令 139
习题5 139
第6章 MCS -51单片机中断系统 141
6.1中断概述 141
6.1.1中断的概念 141
6.1.2计算机中的中断 142
6.1.3 MCS-51单片机中断系统 142
6.2 MCS-51的中断源与中断矢量 143
6.2.1中断源 143
6.2.2中断矢量 144
6.3中断设置与控制 144
6.3.1中断允许控制寄存器IE 144
6.3.2定时器控制寄存器TCON 145
6.3.3串行口控制寄存器SCON 146
6.3.4中断优先级控制寄存器IP 146
6.3.5中断优先级控制 147
6.4中断的响应与处理 148
6.4.1中断的响应 148
6.4.2中断的初始化设置 149
6.4.3中断处理程序 149
6.5中断的应用 151
6.5.1具体使用步骤 151
6.5.2应用实例 151
习题6 153
第7章 MCS -51单片机定时/计数器 155
7.1定时方法概述 155
7.2定时/计数器的计数和定时功能 156
7.2.1计数功能 156
7.2.2定时功能 156
7.3定时/计数器的控制寄存器 156
7.3.1定时控制寄存器(TCON) 156
7.3.2定时器方式选择寄存器(TMOD) 157
7.3.3中断允许控制寄存器(IE) 157
7.4定时器工作方式0 158
7.4.1电路逻辑结构 158
7.4.2启动和停止控制 158
7.4.3定时和计数范围 159
7.5定时器工作方式1 160
7.6定时器工作方式2 161
7.6.1电路逻辑结构 161
7.6.2循环定时和循环计数的应用 162
7.7定时器工作方式3 162
7.7.1工作方式3下的定时/计数器0 162
7.7.2定时/计数器0设置为工作方式3时定时/计数器1的使用 163
习题7 164
第8章 MCS-51单片机系统扩展 165
8.1单片机系统扩展概述 165
8.1.1单片机并行扩展总线 166
8.1.2并行扩展系统的I/O编址和芯片选取 168
8.2简单I/O扩展 170
8.2.1单片机I/O口扩展的基础知识 170
8.2.2采用锁存器扩展简单的8位输出口 171
8.2.3用三态门扩展8位输入并行口 172
8.2.4采用锁存器扩展选通输入的8位并行口 172
8.3程序存储器的扩展 173
8.3.1常用的EPROM芯片介绍 174
8.3.2程序存储器扩展方法 174
8.4数据存储器并行扩展 175
8.4.1 RAM芯片6116 176
8.4.2数据存储器扩展连接 176
8.4.3使用RAM芯片扩展可读/写的程序存储器 177
8.4.4 80C51单片机存储器系统的特点和使用方法 178
8.4.5程序存储器和数据存储器综合扩展 180
8.5单片机人机接口技术 181
8.5.1 LED显示及接口 181
8.5.2键盘及接口 185
8.6 A/D、D/A与80C51接口技术 190
8.6.1 A /D转换器接口 190
8.6.2 D/A转换器接口 193
8.7可编程并行I/O扩展 199
8.7.1 8255硬件逻辑结构 199
8.7.2 8255的工作方式 200
8.7.3 8255的编程内容 201
8.7.4 8255接口的应用 203
8.8用8279扩展键盘与LED显示器 203
8.8.1 8279的内部结构和引脚 204
8.8.2 MCS -51与8279的接口及编程 206
习题8 208
第9章 MCS-51单片机串行数据通信 210
9.1串行通信基础知识 210
9.1.1通信概述 210
9.1.2 RS-232C总线标准 212
9.1.3串行接口电路 213
9.2 MCS-51单片机的串行口及控制寄存器 214
9.2.1串行口寄存器结构 214
9.2.2串行通信控制寄存器 215
9.3 MCS-51单片机串行通信工作方式 216
9.3.1串行工作方式0 217
9.3.2串行工作方式1 219
9.3.3串行工作方式2 223
9.3.4串行工作方式3 225
习题9 225
第10章 单片机系统抗干扰技术 226
10.1干扰及对单片机系统的影响 226
10.1.1干扰的类型 226
10.1.2干扰对单片机系统的影响 227
10.2硬件抗干扰技术 228
10.2.1单片机电源系统的抗干扰措施 228
10.2.2单片机地系统的抗干扰措施 229
10.2.3 A/D和D/A转换器的抗干扰措施 231
10.2.4长线传输干扰的排除 231
10.2.5几种元器件的抗干扰措施 232
10.3软件抗干扰技术 234
10.3.1软件抗干扰的一般方法 234
10.3.2指令冗余技术 234
10.3.3软件陷阱技术 235
10.3.4“看门狗”技术 238
10.4数字滤波 241
10.4.1低通滤波 241
10.4.2限幅滤波 242
10.4.3中值滤波 243
10.4.4算术平均滤波 243
10.4.5递推平均滤波 244
10.4.6中值平均滤波 245
10.5编写软件的其他注意事项 246
习题10 247
第11章 单片机应用系统设计 248
11.1单片机应用系统的设计原则 248
11.1.1基本要求 249
11.1.2设计原则 249
11.1.3设计步骤 250
11.2需求分析与方案设计 250
11.2.1需求分析 250
11.2.2设计任务书 251
11.2.3总体设计方案 251
11.3单片机应用系统硬件设计 252
11.3.1基本要求 252
11.3.2系统的硬件组成 252
11.3.3微机系统设计 253
11.3.4人机接口设计 255
11.3.5数据采集设计 256
11.3.6输出控制接口设计 257
11.3.7电源设计 257
11.4单片机应用系统软件设计 258
11.4.1基本要求 258
11.4.2程序设计方法 259
11.4.3软件设计 259
11.5单片机应用系统调试与性能测试 260
11.5.1系统调试 260
11.5.2性能测试 262
11.6单片机应用系统设计实例 262
11.6.1系统设计要求 262
11.6.2系统硬件设计 263
11.6.3系统软件设计 266
习题11 274
参考文献 276