第1章 微型计算机与单片机基础知识 1
1.1 微型计算机组成的感性认识 1
1.2 计算机硬件的基本组成 2
1.3 微型计算机的硬件构成 2
1.3.1 微型计算机的硬件结构 2
1.3.2 CPU 4
1.3.3 内存储器 4
1.3.4 堆栈 5
1.3.5 输入输出接口 7
1.4 计算机中的信息表示 9
1.4.1 计算机中无符号整数的表示 9
1.4.2 BCD码 9
1.4.3 计算机中有符号整数的补码表示 10
1.4.4 计算机中字符的表示 11
1.5 单片机概述 11
1.5.1 单片机的典型硬件结构 12
1.5.2 单片机与微型计算机的比较 12
1.5.3 单片机应用系统开发方法 13
1.5.4 主要的单片机产品 14
1.5.5 单片机的应用领域 15
1.5.6 单片机的发展过程与趋势 16
习题 18
第2章 MCS-51系列单片机硬件结构 19
2.1 MCS-51系列单片机概述 19
2.2 MCS-51单片机的基本硬件结构 20
2.2.1 内部结构框图 20
2.2.2 外部引脚功能 21
2.2.3 内部资源 23
2.3 MCS-51单片机的CPU 23
2.3.1 运算器 23
2.3.2 控制器 25
2.3.3 CPU的工作时序 25
2.4 MCS-51单片机的存储器组织 26
2.4.1 程序存储器 26
2.4.2 数据存储器 28
2.5 MCS-51单片机的并口 31
2.5.1 P0口 31
2.5.2 P1口 32
2.5.3 P2口 32
2.5.4 P3口 32
2.5.5 并口的输出能力 33
2.6 MCS-51单片机的最小系统 34
2.6.1 时钟电路 34
2.6.2 复位电路 35
2.6.3 最小系统 35
2.7 简单的单片机应用系统设计 36
习题 39
第3章 单片机集成开发与仿真调试环境 40
3.1 KeilμVision3集成开发环境的使用 40
3.1.1 KeilμVision3集成开发环境介绍 40
3.1.2 汇编语言程序的编辑、汇编、连接与运行调试 43
3.1.3 C51语言程序的编辑、编译连接、运行调试 52
3.2 基于Proteus的单片机系统仿真 56
3.2.1 Proteus的功能介绍 56
3.2.2 Proteus的使用方法 56
3.2.3 原理图的绘制 62
3.2.4 单片机系统的仿真 67
习题 72
第4章 MCS-51的指令系统与汇编语言程序设计 77
4.1 MCS-51的指令系统概述 77
4.1.1 指令概述 77
4.1.2 汇编语言指令格式 77
4.1.3 操作数的类型 78
4.2 寻址方式 78
4.2.1 概述 78
4.2.2 寻址方式 78
4.3 MCS-51单片机的指令系统 81
4.3.1 描述指令常用的符号 81
4.3.2 数据传送类指令 81
4.3.3 算术运算类指令 84
4.3.4 逻辑运算类指令 87
4.3.5 控制转移类指令 88
4.3.6 位操作类指令 91
4.4 伪指令 92
4.5 汇编语言程序设计 95
4.5.1 汇编语言程序设计的基本步骤与程序的基本结构 95
4.5.2 顺序结构程序设计 95
4.5.3 分支结构程序设计 98
4.5.4 循环结构程序设计 100
4.5.5 主子结构程序设计 103
习题 107
第5章 单片机的C语言程序设计 109
5.1 单片机的C语言 109
5.1.1 概述 109
5.1.2 C51与汇编语言相比的优势 109
5.1.3 C51与ANSI C的差异 110
5.2 C51的数据类型和存储类型 110
5.2.1 C51的数据类型 110
5.2.2 C51中变量的存储类型 114
5.2.3 C51的存储模式 116
5.3 C51的常量和变量 118
5.3.1 常量 118
5.3.2 变量 118
5.4 C51的预处理指令 121
5.4.1 #include指令 121
5.4.2 #define指令 122
5.4.3 条件编译指令 122
5.5 C51的位运算 123
5.6 C51的程序结构 124
5.7 C51的函数 126
5.7.1 函数概述 126
5.7.2 中断函数 127
5.8 C51对内存的直接访问和操作 128
5.9 C51的应用程序开发方法 129
5.10 C51的并行接口应用编程举例 130
习题 137
第6章 MCS-51单片机的中断系统与定时/计数器 140
6.1 中断的概念 140
6.1.1 中断的用途 140
6.1.2 中断过程 141
6.2 MCS-51单片机的中断系统 141
6.2.1 中断源 141
6.2.2 中断的允许与屏蔽 142
6.2.3 中断优先级控制 143
6.2.4 中断服务程序入口 145
6.2.5 中断请求标志 146
6.2.6 外部信号触发中断触发信号的选择 147
6.2.7 中断标志位的复位 148
6.2.8 MCS-51单片机中断系统的结构 148
6.2.9 MCS-51单片机的中断过程 148
6.2.10 MCS-51单片机中断应用的例子 150
6.3 MCS-51单片机的定时/计数器 155
6.3.1 定时和计数的概念 155
6.3.2 MCS-51单片机定时/计数器的结构 156
6.3.3 MCS-51单片机定时/计数器的工作方式 158
6.3.4 定时/计数器应用举例 162
习题 168
第7章 MCS-51单片机的串行通信 170
7.1 通信的基本概念 170
7.1.1 并行通信与串行通信 170
7.1.2 异步串行通信与同步串行通信 171
7.1.3 串行通信的数据通路形式 173
7.1.4 串行通信接口 174
7.2 MCS-51单片机串行接口及串行通信 174
7.2.1 MCS-51单片机串行接口的结构 175
7.2.2 串行接口的设置与控制 175
7.2.3 MCS-51单片机串行接口的工作方式 177
7.2.4 单片机与单片机通信 180
7.2.5 单片机与PC通信 190
习题 197
第8章 单片机应用中的人机接口 198
8.1 单片机基本的人机接口 198
8.1.1 8段式LED数码管 198
8.1.2 键盘输入 203
8.2 液晶显示器及应用设计 208
8.2.1 液晶显示器的工作原理 208
8.2.2 字符型液晶显示模块LCD1602 209
8.2.3 LCD1602与单片机接口电路 213
8.2.4 程序设计与仿真 214
8.3 基于单片机的IC卡读写系统 216
8.3.1 IC卡读写的工作原理 216
8.3.2 I2C串行总线协议 217
8.3.3 串行E2PROM存储器芯片AT24C02介绍 219
8.3.4 基于单片机和AT24C02的IC卡读写系统设计 220
8.4 基于单片机的语音录放系统 227
8.4.1 ISD 1420语音芯片介绍 228
8.4.2 基于ISD 1420的单片机录放音系统硬件电路 231
8.4.3 程序设计 232
习题 235
第9章 单片机应用中模拟量的输入输出 236
9.1 A/D转换的基本概念 236
9.2 并行A/D转换 238
9.2.1 并行A/D转换器芯片ADC0809 238
9.2.2 单片机与ADC0809芯片的硬件接口 239
9.2.3 并行A/D转换的软件设计 240
9.3 串行A/D转换 243
9.3.1 串行A/D转换器芯片ADC0832 243
9.3.2 单片机与ADC0832芯片的硬件接口 243
9.3.3 串行A/D转换的软件设计 245
9.4 D/A转换的基本概念 247
9.5 并行D/A转换 248
9.5.1 并行D/A转换器芯片DAC0832 248
9.5.2 单片机与DAC0832芯片的硬件接口 250
9.5.3 并行D/A转换的软件设计 251
9.6 串行D/A转换 254
9.6.1 串行D/A转换器芯片MAX538 254
9.6.2 单片机与MAX538芯片的硬件接口 255
9.6.3 串行D/A转换的软件设计 256
9.7 单片机模拟量采集系统设计 258
9.7.1 硬件原理介绍 258
9.7.2 软件设计 260
9.8 基于DS18B20与单片机的数字温度计设计 263
9.8.1 硬件原理介绍 263
9.8.2 软件设计 264
9.9 片内集成A/D和D/A转换器的单片机 269
9.9.1 概述 269
9.9.2 C8051F020单片机的内部资源 270
9.9.3 C8051F020单片机的外在管脚 273
9.9.4 C8051F020单片机应用举例 277
习题 285
第10章 微型电动机控制 286
10.1 单片机控制步进电动机 286
10.1.1 步进电动机简介 286
10.1.2 单片机控制步进电动机的原理 287
10.1.3 基于门电路的步进电动机控制 289
10.1.4 基于达林顿管的步进电动机控制 291
10.2 单片机控制直流电动机 295
10.2.1 直流电动机简介 295
10.2.2 单片机控制直流电动机的原理 295
10.2.3 基于分立元件的直流电动机控制 296
10.2.4 基于L298驱动的直流电动机综合控制 299
习题 307
第11章 单片机应用系统开发 308
11.1 单片机应用系统开发的步骤 308
11.1.1 需求分析 308
11.1.2 总体设计 309
11.1.3 硬件设计 311
11.1.4 软件设计 311
11.1.5 硬件调试 312
11.1.6 软件调试 312
11.1.7 系统集成调试 313
11.1.8 系统测试 313
11.2 基于物联网的智能家居监控系统开发实例 313
11.2.1 智能家居监控系统简介 313
11.2.2 需求分析 314
11.2.3 总体设计 316
11.2.4 硬件设计 319
11.2.5 软件设计 321
11.2.6 硬件调试 336
11.2.7 软件调试 338
11.2.8 系统集成调试 338
11.2.9 系统测试 339
习题 343
参考文献 344