第1章 单片机基础知识 1
1.1 单片机概述 1
1.1.1 什么是单片机 1
1.1.2 单片机与微型计算机的关系 1
1.1.3 常用的单片机系列 2
1.1.4 单片机的应用 5
1.1.5 初识单片机控制系统 6
1.1.6 单片机实验板 9
1.2 微型计算机系统组成 10
1.2.1 计算机的基本结构 10
1.2.2 微型计算机的结构 10
1.2.3 微型计算机系统 13
1.2.4 微型计算机软件 13
1.3 微型计算机的运算基础知识 15
1.3.1 数制的概念 15
1.3.2 与计算机有关的数制 15
1.3.3 数制之间的相互转换 17
1.3.4 码制的概念 18
本章小结 22
习题1 23
第2章 单片机应用系统的开发环境 24
2.1 单片机应用系统的开发工具 24
2.2 Keil C51高级语言集成开发环境——μVision3 IDE 25
2.2.1 Keil μVision3 IDE的主要特性 25
2.2.2 μVision3 IDE集成开发环境简介 26
2.2.3 μVision3 IDE的使用 27
2.3 基于Proteus的单片机系统仿真 39
2.3.1 Proteus 7 Professional界面介绍 40
2.3.2 电路原理图的绘制 42
2.3.3 ProteusVSM与Keil μVision3的联调 49
2.4 在系统编程软件ISP 50
本章小结 52
习题2 53
第3章 80C51系列单片机的硬件基础 54
3.1 8051系列单片机概述 54
3.1.1 8051系列单片机硬件资源 54
3.1.2 80C51系列单片机的选择依据 55
3.2 80C51系列单片机引脚功能 57
3.2.1 引脚功能概述 57
3.2.2 引脚与内部功能模块的关系 61
3.2.3 单片机对外扩展时三总线的构成 62
3.3 80C51系列单片机的编程结构 62
3.3.1 编程结构的组成 62
3.3.2 在Keil μVision中观察寄存器 64
3.4 80C51系列单片机的存储器 66
3.4.1 半导体存储器类型与结构 66
3.4.2 存储器的管理 73
3.4.3 80C51单片机的存储器 76
3.5 80C51单片机的工作方式 89
3.5.1 复位方式 89
3.5.2 程序执行方式 90
3.5.3 低功耗方式 90
3.6 80C51系列单片机的时序 92
3.6.1 时钟电路 92
3.6.2 时序的基本单位 93
3.6.3 80C51系列单片机的典型时序分析 94
3.7 80C51单片机最小应用系统 95
本章小结 96
习题3 97
第4章 80C51单片机的软件基础 98
4.1 80C51单片机的指令系统简介 98
4.1.1 指令格式 98
4.1.2 指令系统的寻址方式 99
4.1.3 指令系统概述 102
4.1.4 汇编语言编程举例 102
4.2 C51程序设计基础 104
4.2.1 C51和标准ANSI C的区别 104
4.2.2 C51程序结构分析 105
4.2.3 C51的标识符和关键字 109
4.2.4 C51的数据结构 111
4.2.5 变量的存储种类和存储器类型 116
4.2.6 绝对地址的访问 121
4.2.7 C51的预处理 124
4.2.8 C51的运算符与表达式 125
4.3 C51语言的语句 131
4.3.1 表达式语句 131
4.3.2 复合语句 131
4.3.3 空语句 132
4.3.4 函数调用语句 132
4.3.5 控制语句 132
4.4 C51的函数 141
4.4.1 函数的一般格式 141
4.4.2 中断函数 142
4.4.3 C51的库函数 143
4.4.4 本征库函数和非本征库函数 144
4.4.5 几类重要的库函数 145
4.5 C51的程序结构 148
4.5.1 顺序结构 148
4.5.2 分支结构 148
4.5.3 循环结构 148
4.5.4 综合举例 149
本章小结 150
习题4 151
第5章 并行口及应用 153
5.1 80C51系列单片机内部并行口的结构 153
5.1.1 P0口 153
5.1.2 P1口 154
5.1.3 P2口 155
5.1.4 P3口 156
5.1.5 P0~P3端口功能总结 156
5.2 80C51系列单片机并行口的应用 157
5.3 七段数码管显示器接口 160
5.3.1 七段数码管简介 160
5.3.2 LED显示器工作原理 161
本章小结 166
习题5 166
第6章 中断系统及应用 168
6.1 中断概述 168
6.1.1 中断的有关概念 168
6.1.2 中断技术的应用 169
6.1.3 中断系统的功能 169
6.2 80C51单片机中断系统 170
6.2.1 中断系统的结构 170
6.2.2 中断响应 175
6.2.3 中断请求的撤销 175
6.3 中断服务程序的设计 176
6.4 中断系统的应用 177
本章小结 181
习题6 181
第7章 定时器/计数器及应用 183
7.1 定时/计数技术概述 183
7.1.1 软件定时/计数 183
7.1.2 数字电路定时/计数 183
7.1.3 可编程定时/计数 183
7.2 80C51单片机的定时器/计数器 184
7.2.1 定时器/计数器的结构 184
7.2.2 定时器/计数器的工作原理 185
7.2.3 定时器/计数器的工作方式 187
7.2.4 定时器/计数器对输入信号的要求 191
7.3 定时器/计数器的应用 191
本章小结 198
习题7 198
第8章 串行口及应用 199
8.1 串行通信基础知识 199
8.1.1 计算机对外通信方式 199
8.1.2 串行通信的基本概念 200
8.1.3 串行通信接口标准 203
8.2 80C51单片机的串行口 208
8.2.1 串行口的结构 208
8.2.2 串行口的工作方式 210
8.3 串行口的应用 220
本章小结 228
习题8 229
第9章 80C51单片机系统扩展技术 230
9.1 单片机系统扩展概述 230
9.1.1 单片机系统扩展资源分类 230
9.1.2 单片机系统扩展结构 231
9.2 数据存储器的扩展 232
9.2.1 数据存储器芯片 232
9.2.2 地址锁存器芯片 233
9.2.3 数据存储器扩展电路 235
9.2.4 存储器的编址 236
9.3 并行I/O接口的扩展 239
9.3.1 并行I/O口扩展概述 239
9.3.2 简单并行I/O口的扩展 240
9.3.3 可编程并行I/O口的扩展 242
9.4 键盘接口技术 251
9.4.1 按键开关 252
9.4.2 键盘工作原理 252
9.4.3 独立式键盘 253
9.4.4 矩阵式键盘 256
9.5 LCD液晶显示器与单片机的接口 260
9.5.1 点阵字符型液晶显示模块的组成和基本特点 261
9.5.2 点阵字符型液晶显示器LCD1602 261
9.5.3 点阵图形液晶显示器LCD12864 267
9.6 并行接口日历时钟芯片DS12C887与80C51的接口 275
9.6.1 DS12C887主要功能特性 275
9.6.2 DS12C887日历时钟芯片的引脚说明 275
9.6.3 DS12C887内部RAM和寄存器 276
9.6.4 DS12C887与80C51单片机的接口设计 280
9.7 I2C总线接口的E2PROM芯片AT24C02与80C51的接口 284
9.7.1 串行E2PROM芯片AT24C02概述 284
9.7.2 AT24C02芯片的操作 285
9.7.3 AT24C02芯片与80C51单片机的接口设计 291
本章小结 296
习题9 298
第10章 80C51单片机的测控接口 299
10.1 D/A转换接口技术 299
10.1.1 D/A转换器的基本原理与主要技术指标 299
10.1.2 DAC0832芯片及其与单片机的接口 301
10.2 A/D转换接口技术 308
10.2.1 A/D转换器原理与技术指标 309
10.2.2 ADC0809芯片及其与单片机的接口 310
10.3 串行A/D转换器TLC2543与80C51单片机的接口 315
10.3.1 TLC2543的性能及引脚说明 315
10.3.2 TLC2543的工作过程 316
10.3.3 TLC2543与80C51单片机的接口设计 317
10.4 开关量的接口技术 322
10.4.1 开关量输入接口 323
10.4.2 开关量输出接口 323
本章小结 326
习题10 327
第11章 单片机应用系统的开发与设计 329
11.1 单片机应用系统的开发过程 329
11.1.1 总体设计 329
11.1.2 硬件设计 330
11.1.3 软件设计 331
11.2 LED点阵显示屏设计 332
11.2.1 项目任务 332
11.2.2 项目分析 332
11.2.3 项目硬件设计 333
11.2.4 项目程序设计 334
11.2.5 仿真与实验结果 337
11.3 使用DS18B20温度传感器设计的温控系统 338
11.3.1 项目任务 338
11.3.2 项目分析 339
11.3.3 DS18B20简介 339
11.3.4 项目硬件设计 343
11.3.5 项目程序设计 344
11.3.6 仿真与实验结果 350
11.4 步进电动机控制系统设计 351
11.4.1 项目任务 351
11.4.2 项目分析 351
11.4.3 项目硬件设计 351
11.4.4 项目程序设计 353
11.4.5 仿真与实验结果 355
本章小结 356
习题11 356
附录 357
附录A 80C51单片机指令集 357
附录B 实验板资料 361
参考文献 365