第1章 单片机基础知识 1
1.1单片机和单片机系统 1
1.1.1微处理器和微型计算机 1
1.1.2微型计算机系统 2
1.1.3单片机的基本概念及基本结构 4
1.1.4单片机的特点 5
1.1.5单片机应用系统 6
1.2计算机中的数据表示 7
1.2.1计算机中数值的表示 7
1.2.2计算机中非数值数据信息的表示 10
1.3单片机技术的发展和应用 13
1.3.1单片机的产生与发展过程 13
1.3.2单片机技术的发展方向 16
1.3.3单片机的应用领域 19
1.4单片机的分类 21
1.4.1 4位单片机 22
1.4.2 8位单片机 23
1.4.3 16位单片机 24
1.4.4 32位单片机 25
1.4.5模糊单片机 25
1.5典型单片机产品的基本特性 26
1.5.1 Intel公司的MCS - 51系列单片机 26
1.5.2 Atmel公司的AT89系列单片机 28
1.6如何学好单片机 33
1.6.1学习51系列单片机的原因 33
1.6.2单片机系统的开发过程 33
1.6.3单片机的编程 34
1.6.4单片机的学习方法 34
本章小结 35
思考与练习 36
第2章AT89S51单片机的基本结构及工作原理 37
2.1 AT89S51单片机的内部结构和信号引脚 37
2.1.1 AT89S51单片机内部组成 37
2.1.2 AT89S51单片机的CPU结构 39
2.1.3 AT89S51单片机的引脚及功能 41
2.2 AT89S51单片机的定时控制部件与时序 43
2.2.1振荡器和时钟电路 43
2.2.2 CPU的时序 45
2.2.3单片机的工作过程 46
2.3 AT89S51单片机的并行输入/输出端口 48
2.3.1 I/O端口的结构 48
2.3.2 I/O端口的功能 49
2.3.3 I/O端口的负载能力和接口要求 52
2.4 AT89S51单片机的存储器结构及寄存器 53
2.4.1 AT89S51单片机存储器的分类及配置 53
2.4.2程序存储器 54
2.4.3数据存储器 55
2.4.4特殊功能寄存器SFR 57
2.5 AT89S51单片机的工作方式 62
2.5.1单片机复位方式 62
2.5.2 CHMOS低功耗工作方式 64
2.6单片机的最小应用系统 66
2.6.1片内带程序存储器的最小应用系统 67
2.6.2片内无程序存储器的最小应用系统 68
本章小结 68
思考与练习 69
第3章 单片机指令系统及汇编语言程序设计 71
3.1指令系统概述 71
3.1.1指令的表达形式及类型 72
3.1.2指令格式 73
3.1.3指令中常用的符号 74
3.2 AT89S51单片机的寻址方式 75
3.2.1立即寻址 75
3.2.2直接寻址 76
3.2.3寄存器寻址 77
3.2.4寄存器间接寻址 78
3.2.5变址寻址 78
3.2.6相对寻址 79
3.2.7位寻址 80
3.3常用指令系统及应用举例 81
3.3.1数据传送类指令 81
3.3.2算术运算类指令 86
3.3.3逻辑运算及移位类指令 91
3.3.4控制转移类指令 95
3.3.5位(布尔)操作类指令 102
3.4汇编语言程序设计 105
3.4.1计算机程序设计语言概述 105
3.4.2汇编伪指令 106
3.4.3汇编语言程序设计的方法与步骤 109
3.4.4汇编语言程序设计 111
3.4.5子程序 123
本章小结 127
思考与练习 128
第4章 定时/计数器原理及应用 132
4.1定时/计数器的结构和工作原理 132
4.1.1单片机定时/计数器的结构 132
4.1.2定时/计数器的工作原理 133
4.2定时/计数器的控制和工作方式 134
4.2.1定时/计数器的控制 134
4.2.2定时/计数器的初始化 136
4.2.3定时/计数器的工作方式 138
4.3定时/计数器的编程和应用 143
本章小结 145
思考与练习 145
第5章 中断系统及应用 147
5.1中断系统概述 147
5.1.1中断和中断源 147
5.1.2中断响应的过程 150
5.2 AT89S51单片机的中断系统 151
5.2.1中断源及中断系统构成 152
5.2.2单片机的中断标志与中断控制 153
5.2.3单片机的中断管理 157
5.2.4单片机的中断处理过程 158
5.3单片机中断系统的应用 161
5.3.1外部中断的扩充方法 161
5.3.2中断系统的应用举例 165
本章小结 169
思考与练习 169
第6章 单片机串行接口及应用 171
6.1串行通信概述 171
6.1.1通信的概念 171
6.1.2串行通信的分类 172
6.1.3串行通信的制式 175
6.1.4信号的调制和解调 175
6.1.5串行通信的接口电路 176
6.2单片机的串行接口 181
6.2.1串行接口的结构 182
6.2.2串行接口的工作方式 185
6.2.3各种方式波特率的设置 191
6.2.4串行通信的编程 192
6.3单片机串行接口的应用 193
6.3.1方式0的I/O口扩展应用 193
6.3.2串行接口在双机通信中的应用 194
6.3.3串行接口在多机通信中的应用 199
6.3.4单片机和PC机之间的通信 201
6.4单片机串行总线技术 204
6.4.1 PC总线接口 205
6.4.2 SPI总线接口 211
6.4.3 1-Wire接口 214
6.4.4 Microwire总线接口 215
本章小结 216
思考与练习 216
第7章AT89S51单片机与输入/输出外部设备接口 218
7.1 AT89S51单片机与键盘接口 218
7.1.1键盘工作原理 218
7.1.2键盘扫描控制方式 222
7.1.3独立式键盘的结构及工作原理 224
7.1.4行列式键盘的结构及工作原理 226
7.2 AT89S51单片机与LED显示器接口 233
7.2.1 LED数码管接口技术 233
7.2.2 LED大屏幕显示器 240
7.3 AT89S51单片机与LCD显示器接口 247
7.3.1 LCD显示器的分类 247
7.3.2典型液晶显示模块介绍 247
7.3.3 AT89S51单片机与LCD的接口及软件编程 253
7.4键盘与显示器综合使用 256
7.4.1利用串行接口实现的键盘/显示器接口 256
7.4.2利用8255A和8155扩展实现的键盘/显示器接口 258
本章小结 262
思考与练习 264
第8章51单片机系统扩展技术 265
8.1 51单片机系统扩展概述 265
8.1.1 51系列单片机的扩展规则及扩展方法 265
8.1.2 51系列单片机的系统总线及其结构 267
8.1.3常用的扩展器件及半导体存储器 269
8.2 51单片机存储器的扩展技术 274
8.2.1程序存储器的扩展 275
8.2.2数据存储器的扩展 281
8.2.3存储器综合扩展 285
8.3 51单片机I/O端口的扩展技术 287
8.3.1 I/O端口的扩展概述 287
8.3.2简单的I/O口扩展 288
8.3.3并行I/O口8255A的扩展 290
8.3.4并行I/O口RAM 8155的扩展 298
本章小结 310
思考与练习 311
第9章 单片机与ADC、DAC的接口技术 312
9.1 A/D转换器的接口技术 312
9.1.1 A/D转换器接口技术概述 312
9.1.2 ADC0809与AT89S51的接口及应用 316
9.1.3 AD574与AT89S51单片机的接口 320
9.1.4 MC14433接口及应用 323
9.1.5串行A/D转换器MAX187与AT89 S51单片机的接口 328
9.2 D/A转换器的接口技术 330
9.2.1 D/A转换器接口技术概述 330
9.2.2 DAC0832的接口及应用 332
本章小结 340
思考与练习 341
第10章 单片机的C语言程序设计 342
10.1 C51的基础知识 342
10.1.1 C51的特点 342
10.1.2 C51的标识符 343
10.1.3 C51的关键字 343
10.2 C51的数据 345
10.2.1 C51的数据类型 345
10.2.2常量和变量 347
10.2.3 C51的存储器类型及存储模式 350
10.2.4特殊功能寄存器、并行接口及位变量的定义 352
10.3运算符、函数及程序流程控制 354
10.3.1 C51的运算符 354
10.3.2 C51的函数 361
10.3.3 C51的流程控制语句 366
10.4 C51的构造数据类型 373
10.4.1数组 373
10.4.2指针 374
10.5 C51实例分析及混合编程 377
10.5.1 C51实例分析 377
10.5.2混合编程 380
10.6 Keil C51简介 383
10.6.1项目文件的建立和设置 384
10.6.2程序的调试和目标文件的获得 391
本章小结 393
思考与练习 393
第11章 单片机应用系统设计技术 394
11.1单片机应用系统设计的基本原则 394
11.2单片机应用系统设计的一般过程 395
11.2.1确定任务 396
11.2.2总体设计 396
11.2.3硬件设计 397
11.2.4软件设计 401
11.2.5单片机应用系统的调试 403
11.2.6程序固化 405
11.3模块化软件设计 405
11.3.1模块化结构的基本组成 405
11.3.2各模块数据缓冲区的建立 406
11.3.3模块化程序设计方法 408
11.3.4系统监控程序设计 408
11.4单片机开发系统 410
11.4.1单片机开发系统的类型和组成 410
11.4.2单片机开发系统的功能 411
11.4.3开发软件简介 415
11.5单片机应用系统设计举例 415
11.5.1电子琴的设计 416
11.5.2数据采集与显示电路的设计 429
11.6单片机应用系统的抗干扰技术 439
11.6.1干扰及其危害 439
11.6.2硬件抗干扰措施 440
11.6.3软件抗干扰措施 444
本章小结 447
思考与练习 448
附录A微型计算机中的常用数制和码制 449
附录B常用集成芯片型号 454
附录C MCS-51指令表 458
附录D常用实验程序 462
参考文献 474