第1章 概述 1
1.1 微型计算机的基础知识概述 2
1.1.1 计算机的基本概念 2
1.1.2 微型计算机的基本结构 2
1.1.3 计算机中的数制 5
1.1.4 计算机中常用的编码 7
1.2 单片机概述 8
1.2.1 单片机特点及应用 8
1.2.2 单片机技术现状及发展趋势 10
1.2.3 常用的单片机产品 12
1.2.4 单片机开发系统概述 13
本章小结 15
习题 15
第2章 MCS-51系列单片机硬件结构 16
2.1 MCS-51系列单片机的总体结构 17
2.1.1 主要组成 17
2.1.2 外部引脚说明 18
2.2 MCS-51系列单片机的微处理器 20
2.2.1 运算器 20
2.2.2 控制器 22
2.3 MCS-51系列单片机的存储器 22
2.3.1 程序存储器 23
2.3.2 数据存储器 24
2.4 MCS-51系列单片机的辅助电路及时序 27
2.4.1 时钟电路 27
2.4.2 复位及复位电路 27
2.4.3 CPU的时序 29
本章小结 30
习题 31
第3章 MCS-51系列单片机指令系统 32
3.1 MCS-51系列单片机指令系统概述 33
3.1.1 指令格式 33
3.1.2 操作数的类型 33
3.1.3 指令描述约定 33
3.2 MCS-51系列单片机的寻址方式 34
3.2.1 概述 34
3.2.2 寻址方式说明 34
3.3 MCS-51系列单片机的指令系统 37
3.3.1 数据传送类指令 37
3.3.2 算术运算类指令 42
3.3.3 逻辑运算类指令 48
3.3.4 控制转移类指令 51
3.3.5 位操作类指令 55
3.4 MCS-51系列单片机的伪指令 58
3.4.1 概述 58
3.4.2 伪指令说明 58
本章小结 61
习题 61
第4章 汇编语言程序设计 63
4.1 程序设计概述 64
4.1.1 程序设计步骤 64
4.1.2 程序设计技术 64
4.2 MCS-51系列单片机汇编语言基本程序设计 65
4.2.1 顺序结构程序 65
4.2.2 分支结构程序 67
4.2.3 循环结构程序 72
4.3 基本功能程序的设计 77
4.3.1 查表程序的设计 77
4.3.2 子程序的设计 82
4.3.3 算术逻辑运算程序 84
4.3.4 数制转化程序 88
本章小结 93
习题 94
第5章 MCS-51系列单片机硬件资源的应用 95
5.1 MCS-51系列单片机的 P0~P3口 96
5.1.1 P0~P3口结构 96
5.1.2 内部并行I/O口应用举例 99
5.2 MCS-51系列单片机的中断系统 100
5.2.1 中断系统结构与控制 100
5.2.2 中断优先级结构与中断响应 102
5.2.3 中断请求的撤除 104
5.2.4 中断系统应用举例 105
5.3 MCS-51系列单片机的定时器/计数器 108
5.3.1 定时器/计数器的结构 109
5.3.2 定时器/计数器的控制寄存器 109
5.3.3 定时器/计数器的工作方式 110
5.3.4 定时器/计数器应用举例 114
5.4 MCS-51系列单片机的串行接口 117
5.4.1 串行口的结构 117
5.4.2 串行口控制寄存器 118
5.4.3 串行口的工作方式及编程 119
5.4.4 串行口的应用举例 130
本章小结 133
习题 134
第6章 MCS-51系列单片机并行扩展接口技术 135
6.1 MCS-51系列单片机并行扩展基础 136
6.1.1 系统扩展总线结构图 136
6.1.2 典型的存储器与I/O接口芯片 136
6.1.3 系统并行扩展的寻址方法 144
6.2 MCS-51系列单片机并行存储器及I/O口扩展举例 146
6.2.1 存储器扩展举例 146
6.2.2 I/O口的扩展举例 149
6.2.3 存储器与I/O综合扩展举例 152
6.3 MCS-51系列单片机键盘接口技术 153
6.3.1 概述 153
6.3.2 独立式按键接口技术 153
6.3.3 行列式键盘 155
6.4 MCS-51系列单片机显示器接口技术 157
6.4.1 概述 157
6.4.2 LED静态显示与动态显示 158
6.4.3 串行口控制的LED显示器与单片机的接口 160
6.4.4 键盘/显示接口综合设计举例 161
6.5 MCS-51系列单片机模拟量接口技术 164
6.5.1 概述 164
6.5.2 并行D/A转换器DAC0832应用简介 166
6.5.3 并行A/D转换器ADC0809应用简介 169
6.5.4 并行A/D转换器AD574应用简介 171
本章小结 174
习题 174
第7章 MCS-51系列单片机串行总线扩展技术 175
7.1 MCS-51系列单片机系统的串行扩展原理 176
7.1.1 SPI三线总线 176
7.1.2 I2C总线接口 177
7.1.3 单总线 179
7.2 串行存储器扩展应用举例 180
7.2.1 AT24CXX系列串行E2 PROM 180
7.2.2 A124C02与单片机的接口实例 183
7.3 串行A/D与D/A接口设计举例 187
7.3.1 12位串行D/A转换器DAC7512 187
7.3.2 串行电压输出型D/A转换器MAX517/518 189
7.3.3 串行A/D转换器TLC2543 190
7.4 HD7279键盘/显示器串行接口芯片应用举例 193
本章小结 200
习题 200
第8章 单片机应用系统的设计 201
8.1 单片机应用系统结构以及设计内容 202
8.1.1 单片机应用系统的一般硬件组成 202
8.1.2 单片机应用系统的设计内容 204
8.2 单片机应用系统的一般设计方法 205
8.2.1 确定系统的功能与性能 205
8.2.2 确定系统基本结构 205
8.2.3 单片机应用系统硬件与软件设计 206
8.2.4 资源分配 208
8.3 单片机应用系统的调试 209
8.3.1 单片机应用系统调试工具 209
8.3.2 单片机应用系统的一般调试方法 210
8.4 单片机应用系统的设计实例 213
本章小结 225
习题 225
第9章 单片机的C语言应用程序设计 226
9.1 概述 227
9.2 C51的扩展 227
9.2.1 C51扩展数据类型 228
9.2.2 存储类型 229
9.2.3 存储器模式 231
9.2.4 指针 231
9.2.5 函数声明 233
9.3 Keil8051开发工具简介 235
9.3.1 Keil8051简介 235
9.3.2 一个工程的创建 235
9.4 C51应用程序设计 237
9.4.1 并行口应用 237
9.4.2 定时器应用 237
9.4.3 外中断应用 240
9.4.4 串行口应用程序 240
9.4.5 A/D转换 248
9.4.6 智能小车寻线控制系统 249
本章小结 255
习题 255
附录A ASCII码字符表 256
附录B 单片机应用资料的网上查询方法 257
参考文献 258