第1章 单片机概述 1
1.1 单片机的概念 1
1.1.1 单片机的主要特点 1
1.1.2 名词解释 2
1.2 单片机的发展 4
1.2.1 单片机发展历史 4
1.2.2 单片机发展趋势 5
1.2.3 以单片机为核心的嵌入式系统的发展趋势 7
1.2.4 单片机应用的可靠性技术发展趋势 7
1.3 单片机系统的应用 8
1.4 典型单片机介绍 9
1.5 单片机开发系统 11
1.5.1 单片机开发系统的构成 11
1.5.2 单片机开发系统的功能 12
1.5.3 开放式单片机实验系统 12
1.5.4 “流水灯”实验 13
1.6 单片机的数制、码制与编码 15
1.6.1 数制 15
1.6.2 码制 18
1.6.3 二进制编码 19
本章小结 21
习题 21
第2章 MCS-51系列单片机基本知识 23
2.1 MCS-51系列单片机内部结构 23
2.1.1 中央处理单元CPU 25
2.1.2 定时器/计数器 31
2.1.3 看门狗定时器 31
2.1.4 中断系统 32
2.1.5 I/O接口 33
2.2 MCS-51系列单片机的引脚功能 33
2.3 存储器结构与地址分配 36
2.3.1 存储器基础知识 36
2.3.2 MCS-51系列单片机存储器结构 37
2.3.3 片内RAM的128B地址分配 37
2.3.4 特殊功能寄存器(SFR) 39
2.3.5 片外RAM、ROM结构与地址分配 39
2.4 MCS-51系列单片机工作方式 40
2.4.1 MCS-51系列单片机时序 40
2.4.2 MCS-51系列单片机的工作方式介绍 42
2.4.3 连续执行方式图解说明 44
2.5 MCS-51系列单片机指令系统 46
2.5.1 基础知识 47
2.5.2 数据传送指令及要点分析 52
2.5.3 算术运算类指令及要点分析 59
2.5.4 逻辑操作与移位指令及要点分析 63
2.5.5 控制转移指令及其偏移量的计算 65
2.5.6 位操作指令 70
2.5.7 对指令的进一步说明 71
本章小结 72
习题 73
第3章 单片机仿真软件 75
3.1 Keil μ Vision4软件的使用 75
3.1.1 Keilμ Vision4工程文件的创建 76
3.1.2 Keil μ Vision 4工程文件的编译 81
3.1.3 Keil μ Vision4工程文件的仿真及其他设置 82
3.2 Proteus仿真 87
3.2.1 Proteus的主要功能模块及资源 88
3.2.2 Proteus ISIS编辑环境 90
3.2.3 基本操作 94
3.2.4 设计实例 98
3.3 Keil与Proteus联机调试 108
3.4 VSM虚拟系统模型 110
本章小结 114
习题 114
第4章 汇编语言程序设计 115
4.1 基本知识 115
4.2 分支程序设计实例分析 119
4.2.1 先分支后赋值程序设计 120
4.2.2 先赋值后分支程序设计 122
4.3 循环程序设计实例分析 123
4.3.1 题意分析 123
4.3.2 程序设计方案 124
4.3.3 参考程序 124
4.3.4 参考程序分析 126
4.3.5 参考程序整体分析 134
本章小结 136
习题 137
第5章 C51语言程序设计 139
5.1 基本知识 139
5.1.1 C51程序结构 139
5.1.2 C51程序的编辑和编译 144
5.2 C51数据类型与运算 144
5.2.1 C51数据类型 144
5.2.2 C51数据存储类型 145
5.2.3 C51定义SFR 146
5.2.4 C51定义并行口 147
5.2.5 C51定义位变量 147
5.2.6 C51运算符、表达式及其规则 147
5.3 C51构造数据类型 148
5.3.1 数组 149
5.3.2 指针 151
5.4 C51函数 152
5.4.1 函数的定义和分类 152
5.4.2 函数的调用 152
5.4.3 中断服务函数 153
5.4.4 C51的库函数 154
5.5 C51应用编程实例 155
本章小结 158
习题 158
第6章 MCS-51系列单片机中断系统与定时器/计数器 160
6.1 MCS-51系列单片机中断系统 160
6.1.1 中断的概念 160
6.1.2 MCS-51系列单片机中断系统结构 161
6.1.3 MCS-51系列单片机中断系统的初始化要求与中断处理过程 163
6.1.4 MCS-51系列单片机中断系统应用实例 175
6.1.5 中断系统应用实例分析 177
6.2 MCS-51系列单片机内部定时器/计数器 183
6.2.1 概述 183
6.2.2 MCS-51系列单片机对内部定时器/计数器的控制 184
6.2.3 工作模式说明(以T1为例说明,T0同) 186
6.2.4 工作方式说明 187
6.2.5 MCS-51系列单片机对内部定时器/计数器的初始化 188
6.2.6 定时/计数器应用实例及分析 194
本章小结 197
习题 198
第7章 MCS-51系列单片机接口技术 200
7.1 MCS-51系列单片机内部并行I/O接口及其应用 200
7.1.1 并行I/O接口基本配置及其特点 200
7.1.2 MCS-51系列单片机I/O并行接口应用 203
7.1.3 MCS-51系列单片机I/O并行接口应用实例分析 205
7.2 并行接口应用实例 206
7.2.1 单片机中断控制循环灯 206
7.2.2 查表控制广告灯 209
7.2.3 报警音的产生 211
7.2.4 音乐播放 214
7.2.5 74LS138译码器控制的循环灯 219
7.3 可编程并行接口芯片8255A-5 221
7.3.1 内部结构与引脚功能接口特点 222
7.3.2 控制字的确定与初始化编程 223
7.3.3 工作方式与接口方法 225
7.3.4 AT89S51单片机和8255的接口 230
7.4 串行接口 232
7.4.1 概述 232
7.4.2 MCS-51系列单片机的串行接口及其通信功能 234
7.4.3 MCS-51系列单片机的串行接口的多机通信(阅读资料) 241
7.4.4 MCS-51系列单片机与PC的串行接口通信 251
7.4.5 双机串行接口通信 254
7.4.6 74LS164芯片串行接口驱动8个小灯 256
7.4.7 74LS164串行驱动数码管 258
7.5 其他常用接口 262
本章小结 263
习题 265
第8章 半导体存储器及其扩展 267
8.1 概述 267
8.1.1 半导体存储器分类介绍 267
8.1.2 存储器的主要技术指标 271
8.1.3 MCS-51系列单片机外部存储器扩展 272
8.1.4 典型存储器芯片介绍 273
8.2 片外存储器应用实例 276
8.2.1 存储器扩展方法 276
8.2.2 访问片外ROM的指令时序分析 278
8.2.3 访问片外RAM的指令时序分析 280
本章小结 281
习题 281
第9章 人机交互通道配置及其接口技术 283
9.1 概述 283
9.2 显示及显示接口 283
9.2.1 发光二极管及其应用 283
9.2.2 LED数码管及其应用 284
9.2.3 多位数码管显示 286
9.3 键盘及其接口技术 290
9.3.1 键的状态输入及去抖动 290
9.3.2 按键开关 291
9.3.3 独立按键接口 291
9.3.4 行列式键盘接口 293
9.4 单片机人机交互接口实例 295
9.4.1 单个数码管显示 295
9.4.2 动态数码管显示 298
9.4.3 8×8点阵显示 302
9.4.4 LCD显示技术 308
9.4.5 点阵型LCD显示技术 316
9.4.6 多路开关状态指示 325
9.4.7 单按键识别 328
9.4.8 单键多功能按键识别 332
9.4.9 4×4行列键盘识别 335
本章小结 344
习题 345
第10章 输入/输出通道接口技术 346
10.1 前向输入通道接口技术 346
10.1.1 概述 346
10.1.2 A/D转换接口技术 348
10.1.3 A/D转换器ADC0809应用实例——数字电压表 356
10.1.4 串行12位AD TLC2543的使用 359
10.2 后向输出通道接口技术 362
10.2.1 概述 362
10.2.2 D/A转换接口 363
10.2.3 D/A转换接口应用实例 369
本章小结 374
习题 375
第11章 单片机应用实例设计 376
11.1 概述 376
11.1.1 单片机应用系统的性能要求 376
11.1.2 单片机应用系统设计内容和步骤 376
11.2 电动机控制 382
11.2.1 小型直流电动机控制 382
11.2.2 PWM信号控制直流电动机 386
11.2.3 步进电动机的单片机控制 393
11.2.4 舵机的单片机控制 401
11.3 电子时钟的设计 407
11.4 数字温度计的设计 413
11.5 虚拟波形发生器的设计 424
11.6 室内智能清洁机器人控制系统的设计 432
11.6.1 控制系统总体方案设计 432
11.6.2 硬件系统设计 433
11.6.3 软件系统设计 441
附录 449
附录A ASCII(美国信息交换标准码)字符表 449
附录B MCS-51系列单片机指令表 450
附录C 51/52单片机常用寄存器速查表 453
附录D 单片机常用芯片引脚图 457
附录E 部分习题答案 466