第1章 微型计算机基础知识 1
1.1微型计算机和单片机发展概述 1
1.1.1微型计算机的发展 1
1.1.2单片机的发展 6
1.2各种进制数的表示及相互转换 9
1.2.1各种进制数的表示 9
1.2.2不同进制数的相互转换 11
1.3二进制数的运算 13
1.3.1二进制数的算术运算 13
1.3.2二进制数的逻辑运算 14
1.4计算机中数的表示方法 15
1.4.1无符号数和有符号数 15
1.4.2原码、反码和补码 16
1.4.3补码的加减运算 18
1.4.4加减法运算溢出判别方法 18
1.5计算机中的字符编码 20
1.5.1 BCD码 20
1.5.2 ASCⅡ码 21
1.6微型计算机组成原理 22
1.6.1微型计算机的基本组成 22
1.6.2微型计算机的工作原理 26
本章小结 31
思考题和习题 31
第2章 MCS-51单片机的硬件结构及原理 33
2.1 MCS-51系列单片机及其内部结构 33
2.1.1 MCS-51系列单片机 33
2.1.2 MCS-51单片机内部结构框图 35
2.2 MCS-51单片机典型芯片的外部引脚功能 36
2.3中央处理单元(CPU) 39
2.3.1控制器 39
2.3.2运算器 41
2.4存储器 43
2.4.1程序存储器 44
2.4.2数据存储器 44
2.4.3特殊功能寄存器(SFR) 46
2.4.4位处理器(布尔处理机) 49
2.5 MCS-51单片机的并行I/O接口 50
2.5.1并行I/O接口电路结构 50
2.5.2并行I/O接口的特点 52
2.6 MCS-51单片机最小系统 53
2.6.1单片机最小系统概念 53
2.6.2单片机最小系统分析 53
2.6.3 AT89系列单片机最小系统 54
2.6.4单片机最小系统的不足 54
本章小结 55
思考题和习题 55
第3章 MCS-51单片机指令系统 57
3.1指令格式与寻址方式 57
3.1.1指令格式 57
3.1.2寻址方式 58
3.2数据传送指令 62
3.2.1内部数据传送指令 62
3.2.2外部数据传送指令 63
3.2.3堆栈操作指令 65
3.2.4数据交换指令 66
3.3算术运算指令 68
3.3.1加法指令 68
3.3.2减法指令 72
3.3.3乘除法指令 73
3.4逻辑运算与移位指令 76
3.4.1逻辑与运算指令 76
3.4.2逻辑或运算指令 77
3.4.3逻辑异或运算指令 77
3.4.4累加器清零和取反指令 78
3.4.5移位指令 78
3.5控制转移指令 80
3.5.1无条件转移指令 80
3.5.2条件转移指令 82
3.5.3子程序调用及返回指令 84
3.5.4空操作指令 85
3.6位操作指令 86
3.6.1位赋值指令 87
3.6.2位传送指令 87
3.6.3位逻辑运算指令 88
3.6.4位变量条件转移指令 88
本章小结 90
思考题和习题 90
第4章 汇编语言程序设计 93
4.1汇编语言概述 93
4.1.1汇编语言与汇编的概念 93
4.1.2汇编语言源程序的格式 94
4.1.3伪指令 96
4.1.4源程序的汇编 97
4.2汇编语言程序的结构 97
4.2.1汇编语言程序设计步骤 97
4.2.2顺序程序结构 98
4.2.3分支程序结构 100
4.2.4循环程序结构 102
4.2.5主程序调用子程序结构 105
4.3算术运算程序设计 107
4.3.1加法程序 107
4.3.2减法程序 109
4.3.3乘除法程序 110
4.4非数值操作程序设计 112
4.4.1码制转换程序 112
4.4.2查表程序 114
4.4.3检索程序 115
本章小结 116
思考题和习题 117
第5章 MCS-51单片机的中断与定时 119
5.1中断技术概述 119
5.1.1中断的定义和作用 119
5.1.2中断源与中断分类 119
5.1.3中断嵌套 120
5.1.4中断处理过程 120
5.2 MCS-51单片机的中断系统 121
5.2.1中断源和中断标志 121
5.2.2中断请求的控制 123
5.2.3中断的响应过程 125
5.2.4中断请求的撤除 127
5.2.5外部中断应用举例 128
5.2.6多外部中断源系统设计 131
5.3 MCS-51单片机的定时/计数器 132
5.3.1定时与计数原理 132
5.3.2定时/计数器的控制 133
5.3.3定时/计数器的工作方式 134
5.3.4定时/计数器应用举例 137
5.3.5用定时/计数器扩展外部中断 142
本章小结 143
思考题和习题 143
第6章 存储器扩展与并行I/O接口扩展 145
6.1 MCS-51单片机存储器的扩展 145
6.1.1存储器概述 145
6.1.2程序存储器及其扩展 147
6.1.3数据存储器及其扩展 151
6.2 I/O接口技术概述 155
6.2.1 I/O接口的作用 155
6.2.2 I/O接口的编址 156
6.2.3 I/O数据的传送方式 156
6.2.4 I/O接口的类型 157
6.3 MCS-51单片机并行I/O接口的应用与扩展 157
6.3.1 MCS-51单片机I/O接口的直接应用 158
6.3.2采用8255A扩展并行I/O端口 160
6.3.3采用8155扩展并行I/O端口 167
本章小结 172
思考题和习题 173
第7章 显示器与键盘接口技术 174
7.1 LED数码管显示接口 174
7.1.1 LED数码管显示原理 174
7.1.2数码管的显示方式 175
7.2非编码键盘接口 179
7.2.1独立式按键接口 180
7.2.2行列式非编码键盘接口 181
7.3键盘与显示系统 184
本章小结 187
思考题和习题 188
第8章 模拟量通道接口 189
8.1模拟量通道接口概述 189
8.1.1模拟量接口的地位和作用 189
8.1.2模拟量转换器的性能指标 190
8.2 D/A转换器 191
8.2.1 D/A转换原理 191
8.2.2 D/A转换器DAC0832 192
8.2.3 D/A转换应用举例 196
8.3 A/D转换器 197
8.3.1逐次逼近式A/D转换原理 197
8.3.2 A/D转换器ADC0809 198
8.3.3 A/D转换应用举例 201
本章小结 202
思考题和习题 202
第9章 MCS-51单片机的串行接口 203
9.1串行通信基础 203
9.1.1串行通信规程 203
9.1.2串行通信的制式 206
9.2 MCS-51单片机的串行接口 207
9.2.1 MCS-51串行接口的结构 208
9.2.2 MCS-51串行接口的工作方式 211
9.2.3 MCS-51串行接口的通信波特率 212
9.3 MCS-51串行接口的应用 214
9.3.1串行接口方式0的应用 214
9.3.2串行接口其他方式的应用 217
9.4单片机的多机通信 220
9.4.1 MCS-51多机通信原理 221
9.4.2多机通信应用举例 221
本章小结 227
思考题和习题 227
第10章 单片机C语言程序设计 229
10.1单片机C语言概述 229
10.1.1 C语言的特点及程序结构 229
10.1.2 C语言与MCS-51单片机 230
10.2 C51的数据类型与运算 230
10.2.1 C51的数据类型 230
10.2.2关于指针型数据 233
10.2.3 C51的运算符 234
10.3数据的存储类型和存储模式 241
10.3.1数据的存储类型 241
10.3.2存储模式 242
10.4 C51程序基本结构与相关语句 243
10.4.1 C51程序基本结构 243
10.4.2 C51相关语句 245
10.5 C51的函数 250
10.6单片机资源的C51编程实例 251
10.6.1 C51程序的反汇编程序 251
10.6.2并行口及键盘、显示器接口的C51编程 252
10.6.3 C51中断程序的编制 255
10.6.4定时/计数器的C51编程 256
10.6.5串行通信的C51编程 257
10.6.6 A/D和D/A转换器的C51编程 258
10.7 51单片机系统开发常用工具软件KEIL C51 259
本章小结 265
思考题和习题 266
第11章 单片机应用系统设计方法与应用实例 267
11.1单片机应用系统的研发步骤 267
11.2单片机应用系统设计方法 269
11.2.1单片机应用系统的硬件设计 269
11.2.2单片机应用系统的软件设计 270
11.2.3单片机应用系统的抗干扰设计 271
11.2.4仿真与调试 275
11.3单片机应用系统设计实例 276
11.3.1公交车车上人数统计器 276
11.3.2数字电压表 278
11.3.3水塔水位控制器 281
本章小结 283
思考题和习题 283
第12章 Proteus电路设计与仿真软件 285
12.1 Proteus软件概述 285
12.1.1 Proteus软件功能 285
12.1.2 Proteus 7.8软件主界面 286
12.1.3 Proteus系统资源 290
12.2用Proteus 7.8绘制单片机电路原理图 295
12.2.1基本编辑工具 295
12.2.2绘制原理图 301
12.3 Proteus单片机电路仿真 307
12.3.1利用集成编译器仿真 308
12.3.2利用Keil辅助Proteus仿真 311
本章小结 317
思考题和习题 317
附录A 美国标准信息交换代码(ASCⅡ码) 318
附录B MCS-51单片机指令表 320
附录C KEIL C51常用库函数原型 324
参考文献 329