第1章 概述 1
1.1 单片机的结构组成、特点和指标 1
1.1.1 微型计算机的基本结构 1
1.1.2 单片机的基本结构 2
1.1.3 单片机的特点 3
1.1.4 单片机的重要指标 4
1.2 单片机的发展历史和产品类型 5
1.2.1 单片机的发展历史 5
1.2.2 Intel系列单片机的产品类型 5
1.3 单片机的选择与应用 7
1.3.1 单片机的选择 7
1.3.2 单片机应用系统与应用领域 7
1.4 单片机嵌入式系统 8
1.4.1 单片机嵌入式系统的概念 8
1.4.2 单片机嵌入式系统的特点 9
1.5 单片机技术相关网站 10
习题与思考题 11
第2章 MCS-51单片机硬件结构和原理 12
2.1 MCS-51系列单片机的分类 12
2.2 单片机硬件结构 12
2.2.1 单片机的引脚功能 12
2.2.2 单片机的内部结构 14
2.3 中央处理器(CPU) 15
2.3.1 运算器 15
2.3.2 控制器 16
2.3.3 布尔(位)处理器 17
2.4 存储器 17
2.4.1 程序存储器 18
2.4.2 数据存储器 19
2.5 并行输入/输出(I/O)端口 23
2.5.1 P1口 23
2.5.2 P2口 24
2.5.3 P3口 25
2.5.4 P0口 26
2.5.5 并行口的应用 27
2.6 时钟电路和时序 30
2.6.1 时钟电路 30
2.6.2 时序 30
2.7 单片机的工作方式 32
2.7.1 复位方式 32
2.7.2 程序执行方式 34
2.7.3 低功耗运行方式 34
习题与思考题 35
第3章 MCS-51单片机指令系统 37
3.1 指令系统简介 37
3.1.1 指令系统的分类 38
3.1.2 指令格式 38
3.1.3 指令中的常用符号 39
3.1.4 寻址方式 39
3.2 指令系统 44
3.2.1 数据传送指令 44
3.2.2 算术运算指令 48
3.2.3 逻辑运算指令 53
3.2.4 控制转移指令 57
3.2.5 位操作指令 61
习题与思考题 63
第4章 MCS-51汇编语言程序设计 65
4.1 程序设计概述 65
4.1.1 程序设计的步骤 65
4.1.2 程序设计的方法 66
4.1.3 汇编语言的规范 67
4.1.4 汇编语言程序编辑和汇编 70
4.2 结构化程序设计方法 71
4.2.1 顺序结构程序 71
4.2.2 分支结构程序 72
4.2.3 循环结构程序 73
4.2.4 查表程序 75
4.2.5 子程序 76
4.3 汇编语言程序设计实例 80
4.3.1 算术运算程序 80
4.3.2 数制转换程序 85
4.3.3 数字滤波程序 88
4.3.4 标度变换程序 92
习题与思考题 92
第5章 MCS-51单片机C51程序设计 94
5.1 C51概述 94
5.2 C51语法基础 95
5.2.1 标识符和关键字 95
5.2.2 数据类型 96
5.2.3 运算符和表达式 98
5.2.4 程序结构 100
5.3 C51对MCS-51单片机的访问 101
5.3.1 存储类型 101
5.3.2 存储模式 102
5.3.3 对特殊功能寄存器的访问 104
5.3.4 对存储器和并行口的访问 105
5.3.5 位地址访问 107
5.4 C51函数 108
5.4.1 函数的分类 108
5.4.2 函数的定义 109
5.4.3 函数的调用 110
5.4.4 对被调函数的说明 110
5.4.5 中断函数 111
5.5 C51结构化程序设计 112
5.5.1 顺序结构程序 112
5.5.2 选择结构程序 112
5.5.3 循环结构程序 115
5.5.4 查表程序 118
5.6 C51程序设计实例 119
5.6.1 单片机内/外部资源应用程序设计 119
5.6.2 C51语言和MCS-51汇编语言混合编程 125
5.6.3 编程优化的概念 127
习题与思考题 128
第6章 MCS-51单片机中断系统 129
6.1 中断概述 129
6.1.1 CPU与外设的输入/输出方式 129
6.1.2 中断的概念 130
6.2 MCS-51中断系统 132
6.2.1 中断系统的内部结构 132
6.2.2 中断源与中断方式 133
6.2.3 中断控制寄存器 134
6.2.4 中断响应 139
6.3 中断应用举例 141
6.3.1 中断服务程序设计 141
6.3.2 中断系统应用实例 142
习题与思考题 146
第7章 MCS-51单片机定时/计数器和串行接口 147
7.1 定时/计数器 147
7.1.1 定时/计数器的结构与原理 147
7.1.2 定时/计数器的工作方式 149
7.1.3 定时/计数器对输入信号的要求 152
7.1.4 定时/计数器的应用 153
7.2 串行通信接口 160
7.2.1 串行通信基础知识 160
7.2.2 MCS-51串行通信接口 162
7.2.3 串行通信接口的应用 166
习题与思考题 174
第8章 MCS-51单片机系统基本扩展技术 176
8.1 概述 176
8.2 外部总线扩展 177
8.3 外部存储器扩展 177
8.3.1 外部程序存储器扩展 177
8.3.2 外部数据存储器扩展 183
8.3.3 多片存储器芯片扩展 186
8.4 并行接口扩展 187
8.4.1 并行接口的简单扩展方法 187
8.4.2 8255A可编程并行I/O接口扩展 188
8.4.3 8155可编程并行I/O接口扩展 195
8.5 显示器与键盘扩展 199
8.5.1 LED显示器接口扩展 199
8.5.2 LCD显示器接口扩展 202
8.5.3 键盘接口扩展 204
8.5.4 键盘和显示器接口设计实例 208
习题与思考题 210
第9章 MCS-51单片机系统应用扩展技术 212
9.1 D/A转换器与单片机接口技术 212
9.1.1 8位D/A转换器与单片机接口技术 212
9.1.2 高于8位的D/A转换器与单片机接口技术 214
9.2 A/D转换器与单片机接口技术 215
9.2.1 8位A/D转换器与单片机接口技术 216
9.2.2 高于8位的A/D转换器与单片机接口技术 219
9.3 串行EEPROM与单片机接口技术 221
9.3.1 I2C串行总线概述 222
9.3.2 24CXX EEPROM存储器 222
9.3.3 24C01与单片机接口技术 224
9.4 日历时钟芯片与单片机接口技术 228
9.4.1 日历时钟芯片8563的工作原理 228
9.4.2 日历时钟芯片8563与单片机接口技术 230
9.5 IC卡与单片机接口技术 231
9.5.1 SLE4442 IC卡 231
9.5.2 SLE4442 IC卡数据传送协议 233
9.5.3 SLE4442 IC卡操作命令 235
9.5.4 SLE4442 IC卡与单片机接口技术 235
习题与思考题 237
第10章 单片机应用系统抗干扰技术 238
10.1 干扰源及其分类 238
10.1.1 干扰的定义 238
10.1.2 干扰的种类 238
10.2 干扰对单片机应用系统的影响 241
10.3 硬件抗干扰技术 241
10.3.1 无源滤波 241
10.3.2 有源滤波 242
10.3.3 去耦电路 243
10.3.4 屏蔽技术 243
10.3.5 隔离技术 244
10.3.6 接地技术 245
10.4 软件抗干扰技术 248
10.4.1 软件抗干扰的一般方法 248
10.4.2 指令冗余技术 249
10.4.3 软件陷阱技术 249
10.4.4 “看门狗”技术 252
10.5 数字滤波技术 254
习题与思考题 261
第11章 单片机应用系统的开发与工具 263
11.1 单片机应用系统的开发过程 263
11.1.1 准备工作 263
11.1.2 单片机应用系统设计过程 263
11.1.3 撰写设计总结报告 266
11.2 单片机应用系统的调试 266
11.2.1 硬件调试 266
11.2.2 软件调试 267
11.2.3 脱机运行调试 268
11.3 单片机应用系统开发工具简介 268
11.3.1 开发系统分类 269
11.3.2 Keil C51开发工具 270
11.3.3 用Keil C51调试C51应用程序举例 276
11.4 单片机应用系统设计实例 278
习题与思考题 281
第12章 嵌入式单片机系统 283
12.1 嵌入式系统概述 283
12.1.1 嵌入式系统的发展与特点 283
12.1.2 嵌入式系统的分类 285
12.1.3 嵌入式系统的应用 286
12.2 嵌入式系统 287
12.2.1 嵌入式系统的组成 287
12.2.2 嵌入式处理器 289
12.2.3 嵌入式系统的设计特点 292
12.2.4 嵌入式系统的设计流程 294
12.3 嵌入式系统设计举例 301
12.3.1 需求分析 301
12.3.2 规格说明 302
12.3.3 体系结构设计 302
12.3.4 硬件系统设计 304
12.3.5 软件系统设计 306
12.3.6 系统调试 310
习题与思考题 310
第13章 实验指导 311
13.1 实验1——BCD码转换成十六进制码 311
13.2 实验2——排序程序 312
13.3 实验3——定时/计数器 314
13.4 实验4——基本输入/输出 318
13.5 实验5——外部中断 321
13.6 实验6——并行扩展接口 323
13.7 实验7——A/D转换 326
13.8 实验8——D/A转换 329
13.9 实验9——MCS-51单片机与PC通信 331
13.10 实验10——综合实验(温度控制系统设计实例) 335
13.11 课程设计任务与选题 339
参考文献 343