1-1 绪论 1
1-2 单片机概述 1
第1章 单片计算机概述 1
1-2-1 单片机的基本结构及特点 2
1-2-2 单片机主流系列 3
1-2-3 单片机技术的发展方向 4
1-3 计算机中的数和编码 4
1-3-1 数制及其转换 4
1-3-2 计算机中数的表示方法 7
1-3-3 编码 8
1-3-4 单位的几个术语 9
1-4 本章小结 10
1-5 习题 10
第2章 MCS-51单片机组成及结构分析 11
2-1 MCS-51单片机的结构 11
2-2-1 MCS-51的引脚定义及功能 12
2-2 单片机的引脚及片外总线结构 12
2-2-2 MCS-51的外部总线结构 15
2-3 MCS-51单片机的中央处理芯片 16
2-3-1 运算器 16
2-3-2 控制器 17
2-4 MCS-51单片机的存储结构 17
2-4-1 程序存储器 18
2-4-2 数据存储器 19
2-4-3 特殊功能寄存器 20
2-5 CPU时序及辅助电路设计 21
2-5-1 振荡器和时钟电路 21
2-5-2 复位及复位电路 22
2-5-3 CPU时序的基本概念 23
2-6 本章小结 24
2-7 习题 24
3-1 指令的格式 25
第3章 MCS-51指令系统 25
3-2 寻址方式详解及实例 26
3-2-1 寻址空间及符号定义 27
3-2-2 立即数寻址 27
3-2-3 直接寻址 28
3-2-4 寄存器寻址 28
3-2-5 寄存器间接寻址 28
3-2-7 相对寻址 29
3-2-6 变址寻址(基址寄存器+变址寄存器) 29
3-2-8 位寻址 30
3-3 指令系统详解及实例 30
3-3-1 数据传送指令 31
3-3-2 算术运算类指令 35
3-3-3 逻辑运算指令 37
3-3-4 控制转移指令 39
3-3-5 布尔处理类指令(位操作指令) 43
3-5 习题 45
3-4 本章小结 45
第4章 定时/计数器 47
4-1 定时/计数器的结构及工作原理 47
4-2 定时/计数器的方式和控制寄存器 48
4-2-1 控制寄存器(TCON) 48
4-2-2 方式寄存器(TMOD) 50
4-2-3 定时/计数器的初始化 51
4-3 定时/计数器工作方式 51
4-3-1 定时模式0 52
4-3-2 定时模式1 52
4-3-3 定时模式2 52
4-3-4 定时模式3 53
4-4 定时/计数器在应用中应注意的问题 54
4-4-1 定时/计数器的飞读技巧 54
4-4-2 计数器工作方式时对输入信号的要求 54
4-5 定时/计数器应用编程实例 54
4-7 习题 57
4-6 本章小结 57
第5章 中断 59
5-1 中断的概念 59
5-2 MCS-51的中断系统 60
5-2-1 中断源 60
5-2-2 中断操作 61
5-2-3 中断向量地址与向量空间 62
5-2-4 中断对现场的保护和恢复 62
5-2-5 初始化中断系统 63
5-3 中断程序设计实例 66
5-4 本章小结 67
5-5 习题 68
第6章 汇编语言程序设计 69
6-1 汇编语言的基本概念 69
6-1-1 汇编语言的优点 69
6-1-2 汇编语言的设计步骤 69
6-1-3 MCS-51汇编语言的格式 70
6-1-4 MCS-51伪指令 71
6-2 汇编程序设计 72
6-2-1 顺序程序 72
6-2-2 分支程序 73
6-2-3 循环程序 75
6-2-4 查表程序 79
6-2-5 子程序的设计 79
6-2-6 复杂定点数的运算 80
6-2-7 浮点数运算 82
6-3 本章小结 84
6-4 习题 84
第7章 MCS-51系统的串行通信 85
7-1 串口通信的一般概念 85
7-2 MCS-51串行通信 87
7-2-1 数据缓冲寄存器(SBUF) 87
7-2-2 串行口控制寄存器SCON 87
7-2-3 串行口工作方式 89
7-3-1 波特率初始化设置 90
7-3 串行口通信应用程序设计实例 90
7-3-2 串行口初始化 91
7-4 单片机之间的串口通信 91
7-4-1 单片机双机通信技术 91
7-4-2 单片机双机通信技术 93
7-5 本章小结 94
7-6 习题 94
第8章 MCS-51单片机C语言程序设计 95
8-1 C语言在单片机开发中的应用 95
8-1-1 C语言与汇编语言的比较 95
8-1-2 C51与ANSI-C的主要区别 96
8-2 C51的数据类型与运算 97
8-2-1 C51的基本数据类型 97
8-2-2 C51数据的存储类型及存储区 98
8-2-4 变量定义到绝对位置 100
8-2-3 C51的存储模式分类 100
8-2-5 MCS-51单片机特殊功能寄存器的C51定义 101
8-2-6 位变量及其C51定义 101
8-3 C51构造数据类型及预处理指令 101
8-3-1 数组 101
8-3-2 指针 102
8-3-3 结构体 104
8-3-4 预处理指令 106
8-4 C51程序流程控制 107
8-4-1 条件语句 107
8-4-2 循环语句 109
8-5 函数 111
8-5-1 函数的概述 111
8-5-2 函数的定义 112
8-5-3 函数的调用 112
8-5-4 局部变量和全局量 113
8-5-5 C51函数与关键字 114
8-6-1 内部函数库intrans.h 115
8-6 C51的库函数 115
8-6-2 绝对地址访问头文件absacc.h 116
8-6-3 SFR及SFR_Bit地址头文件REGxx.H 116
8-7 C语言与汇编语言混合编程 117
8-7-1 嵌入行内汇编方法 117
8-7-2 变量的相互调用 117
8-7-3 函数的相互调用 118
8-8 本章小结 119
8-9 习题 119
第9章 MCS-51单片机存储器扩展 121
9-1 单片机扩展系统概述 121
9-2 存储器扩展编址技术 122
9-3 程序存储器扩展 124
9-4 数据存储器的扩展 126
9-6 习题 128
9-5 本章小结 128
第10章 MCS-51增强芯片特点 129
10-1 前言 129
10-2 Philip公司P89C51Rx2增强核单片机 130
10-2-1 CPU加速模式和低功耗模式 130
10-2-2 增加的T2定时/计数器 131
10-2-3 增加的中断源 134
10-3 可编程计数阵列(PCA) 135
10-3-1 PCA基本配置及功能寄存器 135
10-3-2 PCA捕获模式 138
10-3-3 PCA16位软件定时器 138
10-3-4 PCA高速输出模式 139
10-3-5 PCA脉宽调制(PWM)模式 139
10-3-6 PCA模块4的看门狗定时器模式 140
10-4 MCS-51兼容单片机选型参考 140
10-4-1 Atmel兼容MCS-51单片机分类及选型 140
10-4-2 Philips兼容MCS-51单片机分类及选型 142
10-4-3 WinBond兼容MCS-51单片机分类及选型 143
10-5 本章小结 144
10-6 习题 144
第11章 MCS-51单片机开发环境 145
11-1 仿真器 145
11-1-1 仿真器简介 145
11-1-2 仿真器选型 146
11-2 Keil IDE环境μ Vision2 149
11-2-1 Keil IDE简介 149
11-2-2 Keil软件功能环境 151
11-3 Keil环境下的工程开发 154
11-3-1 工程的创建 154
11-3-2 指定目标器件 155
11-3-3 建立程序文件 155
11-3-4 添加/删除文件到指定工程 157
11-3-5 工程设置 158
11-3-6 工程的编译/连接 163
11-3-7 程序运行 163
11-3-8 空间资源的查看和修改 164
11-3-9 变量的查看 165
11-4 本章小结 165
11-5 习题 166
第12章 C51程序设计范例 167
12-1 实例分析 167
12-2 C51工程创建 168
12-3 C51程序设计 169
12-4 程序的编译和调试 171
12-5 程序运行及结果查看 173
12-6 本章小结 174
12-7 习题 174
第13章 I2C接口技术及应用 175
13-1 I2C总线结构及工作原理 175
13-1-2 I2C总线的基本原理 176
13-1-1 I2C总线的应用范围 176
13-1-3 I2C总线的数据传输格式 177
13-1-4 I2C总线数据传输中的同步和仲裁机制 179
13-2 I2C总线接口技术应用实例 179
13-2-1 单片机模拟I2C总线 179
13-2-2 I2C串行EEPROM芯片控制实例 181
13-2-3 单片机对24LC256的写操作 182
13-3 本章小结 185
13-4 习题 186
第14章 单片机在键盘接口设计中的应用 187
14-1 键盘的工作原理 187
14-1-1 键盘的分类 187
14-1-2 去抖动的必要性 187
14-2 独立式键盘设计 189
14-3 矩阵式键盘设计 190
14-5 习题 194
14-4 本章小结 194
第15章 LED显示及显示接口实例 195
15-1 LED显示器的结构与原理 195
15-2 LED显示器及显示方式 196
15-3 LED显示接口设计及实现 197
15-4 本章小结 201
15-5 习题 202
16-2 A/D转换器的原理及ADC0809 203
16-2-1 A/D转换的基本原理 203
16-1 前向通道的内容和特点 203
第16章 模/数和数/模转换接口应用及实例 203
16-2-2 ADC0809的结构 204
16-2-3 ADC0809的工作原理 206
16-3 A/D转换器的接口设计及实例 206
16-3-1 接口设计 206
16-3-2 A/D转换器的设计实例 208
16-5-1 基本结构 211
16-5 后向通道中的D/A转换原理及接口芯片 211
16-4 后向通道的内容和特点 211
16-5-2 D/A转换器DAC0832结构 212
16-5-3 D/A转换器DAC0832与单片机的接口技术 213
16-6 D/A接口设计及实例 217
16-7 本章小结 219
16-8 习题 220
17-1 引言 221
17-2 8019以太网芯片特点 221
第17章 以太网传输系统 221
17-3 程序设计 223
17-4 本章小结 228
17-5 习题 228
第18章 单片机在MLC系统中的综合应用 229
18-1 多叶光栅在放射治疗中的应用 230
18-1-1 多叶光栅(MLC)在适形放疗中的应用 230
18-1-2 多叶光栅的基本性能指标 230
18-2 MLC功能的设计和实现 231
18-1-3 本系统的设计目标 231
18-2-1 MLC控制系统组成 232
18-2-2 MLC基本控制模块 234
18-2-3 MLC一对多串口通信的实现方案 235
18-3 叶片位移控制 238
18-3-1 完成位移功能的硬件连接 238
18-3-2 电机方向控制 239
18-3-3 叶片位移速度控制 239
18-3-4 叶片位移距离控制 240
18-3-5 叶片定位控制实现 241
18-3-6 复位及测量控制 242
18-4 单片机对叶片位移精度的控制 242
18-5 整体流程和关键代码实现 245
18-6 本章小结 248
18-7 习题 248
附录 MCS-51常用指令表 249