目 录
第1章单片机智慧基因传承1
1.1第一台计算机的诞生1
1.1.1了不起的庞然大物ENIAC1
1.1.2实现零突破的孤勇者ABC3
1.1.3王者大比拼ENIAC PK ABC6
1.2谁是最强计算机之父7
1.2.1莫奇利和埃克特7
1.2.2阿塔那索夫8
1.2.3冯·诺依曼8
1.2.4阿兰·图灵8
1.2.5“大人物”代表作品的关联度11
1.3计算机的存储结构11
1.3.1ENIAC设计缺陷的救星“冯·诺依曼结构”11
1.3.2牛气冲天的潜力股“哈佛结构”12
1.3.3存储结构大PK13
1.4单片机的存储结构14
第2章揭开单片机神秘的面纱17
2.1单片机的概念18
2.1.1微型计算机的主要组成结构18
2.1.2微型计算机应用形态上的分类19
2.1.3单片机的定义20
2.1.4单片机、单片机硬件系统、单片机系统三者的关系21
2.2单片机的组成21
2.2.1单片机内部资源总体概述22
2.2.2经典的MCS51单片机系列产品的组成22
2.3单片机的分类24
2.3.1单片机与单片机的差异24
2.3.2按单片机的位数分类25
2.3.3单片机的其他分类方法26
2.3.4常见的单片机27
2.4单片机的特点及应用27
2.4.1单片机的特点28
2.4.2单片机的应用28
2.5单片机的发展方向29
第3章MCS51单片机强健的体魄32
3.1MCS51单片机的外部引脚及功能32
3.1.1MCS51单片机的引脚33
3.1.2MCS51外部引脚功能33
3.2MCS51单片机的内部结构37
3.2.1MCS51单片机的CPU38
3.2.2MCS51单片机的存储器42
3.2.3MCS51单片机的I/O接口47
3.3MCS51单片机的时钟电路及复位电路51
3.3.1时钟电路51
3.3.2复位电路54
3.3.3MCS51单片机的工作时序56
第4章MCS51单片机聪明的大脑63
4.1MCS51单片机的指令系统概述63
4.1.1指令概述64
4.1.2指令格式64
4.1.3指令中的常用符号65
4.2指令系统的寻址方式66
4.2.1寻址方式67
4.2.2寻址空间68
4.3指令系统分类介绍69
4.3.1数据传送类指令70
4.3.2算术运算类指令73
4.3.3逻辑运算类指令77
4.3.4控制转移类指令79
4.3.5位(布尔)操作类指令84
第5章MCS51单片机的语言艺术89
5.1汇编语言概述89
5.1.1汇编语言语句格式90
5.1.2汇编语言程序的设计步骤92
5.1.3汇编语言程序的基本结构93
5.2汇编语言源程序汇编96
5.2.1手工汇编: 原始而烦琐的方法97
5.2.2机器汇编: 现代且高效的选择97
5.2.3MCS51单片机常用伪指令: 程序的指挥棒98
5.3汇编语言实用程序设计100
5.3.1数学运算程序设计100
5.3.2排序和数据极值查找程序设计106
5.3.3查表程序设计109
5.3.4数据的拼拆和转换程序设计110
第6章MCS51单片机的应急反应115
6.1中断系统概述115
6.1.1中断的基本概念116
6.1.2MCS51单片机中断系统特点116
6.1.3中断技术的应用场景116
6.2中断系统结构与寄存器116
6.2.1中断系统结构117
6.2.2中断系统相关的特殊功能寄存器117
6.3中断响应与处理120
6.3.1中断响应条件120
6.3.2中断响应过程121
6.3.3中断响应时间121
6.3.4外部中断的触发方式122
6.3.5中断请求的撤销123
6.4中断服务程序的设计124
6.4.1中断服务程序的“舞台演绎”基本流程125
6.4.2“舞台演绎”基本流程的实例解析125
6.4.3多个外部中断源系统设计127
6.4.4中断编程实例129
第7章MCS51单片机的时间守护者132
7.1定时器/计数器的结构132
7.1.1定时器/计数器的结构概述132
7.1.2定时器/计数器的工作模式133
7.1.3定时器/计数器的控制134
7.2定时器/计数器的工作方式135
7.2.1工作方式0(13位定时器/计数器)135
7.2.2工作方式1(16位定时器/计数器)136
7.2.3工作方式2(8位定时器/计数器)136
7.2.4工作方式3137
7.3定时器/计数器对输入信号的要求138
7.4定时器/计数器的应用139
7.4.1工作方式1的应用140
7.4.2工作方式2的应用141
7.4.3工作方式3的应用143
7.4.4定时器/计数器的综合应用144
第8章MCS51单片机的沟通桥梁150
8.1串行通信的基本概念150
8.1.1串行通信与并行通信: 速度的较量151
8.1.2串行通信的方向性: 单工、半双工与全双工151
8.1.3异步通信与同步通信: 节奏的掌控152
8.1.4控制信号: 确保沟通顺畅的“小助手”154
8.2串行口的结构及工作方式154
8.2.1串行口的结构155
8.2.2串行口的工作方式157
8.3波特率及波特率的产生方法161
8.3.1波特率162
8.3.2波特率的产生方法162
8.4串行口编程和应用164
8.4.1串行口数据传送方式164
8.4.2串行口工作方式0的应用165
8.4.3串行口工作方式1的应用167
8.4.4串行口工作方式2的应用171
8.4.5串行口工作方式3的应用173
8.4.6串行口多机通信的应用174
第9章MCS51单片机的记忆扩展177
9.1单片机与外围设备的“亲密对话”177
9.1.1独立连接与总线连接178
9.1.2总线的作用: 让沟通更顺畅178
9.1.3实例讲解: 单片机与外设的“甜蜜互动”179
9.2MCS51单片机的外部总线180
9.2.1MCS51单片机的外部总线结构180
9.2.2常见的地址锁存器与MCS51外部并行总线电路181
9.2.3MCS51单片机读写外部RAM时序183
9.2.4MCS51单片机读写外部ROM时序186
9.3总线的连接与地址空间分配188
9.3.1总线的连接188
9.3.2线选法189
9.3.3译码法191
9.4静态数据存储器的扩展: SRAM篇195
9.4.1“扩容神器”——常用的静态RAM(SRAM)芯片195
9.4.2典型的外扩数据存储器的接口电路196
9.5程序存储器的扩展: ROM、EPROM、E2PROM篇199
9.5.1ROM的奥秘199
9.5.2EPROM的探索200
9.5.3常用的E2PROM芯片204
9.6EPROM和RAM的综合扩展209
9.6.1综合扩展的硬件接口电路210
9.6.2扩展存储器电路的软件设计212
第10章MCS51的触角世界216
10.1扩展I/O接口的设计216
10.1.1接口电路的作用——数据的中转站与速度协调官 217
10.1.2I/O端口的编址方法——给每个端口发“身份证”217
10.1.3I/O数据的传送方式218
10.1.4扩展I/O接口电路的方法219
10.2MCS51单片机与LED显示器电路接口224
10.2.1LED显示器接口原理224
10.2.2LED显示器电路设计实例226
10.3MCS51单片机与液晶接口230
10.3.1液晶显示器的分门别类231
10.3.2点阵字符型液晶显示模块大揭秘231
10.3.3单片机与LCD的接口及软件编程236
10.4MCS51单片机与键盘接口239
10.4.1键盘: 不只是按键那么简单239
10.4.2按键去抖: 让信号更稳定239
10.4.3键盘的接口: 独立式与行列式240
10.4.4键盘的工作方式244
10.4.5键盘与单片机交互三层次模型245
