第1章 绪论 1
1.1电子计算机的发展概述 1
1.1.1电子计算机的问世及其经典结构 1
1.1.2微型计算机的组成及其应用形态 2
1.2单片机的发展过程及产品近况 3
1.2.1单片机的发展过程 3
1.2.2单片机产品近况 4
1.3单片机的特点及应用领域 5
1.3.1单片机的特点 5
1.3.2单片机的应用 5
1.4单片机应用系统开发简介 6
1.4.1单片机应用系统的开发 6
1.4.2单片机应用系统开发过程 6
1.4.3单片机开发方式的发展 7
思考题与习题 7
第2章80C51单片机的结构与原理 9
2.1 80C51单片机的外特性 9
2.1.1引脚功能 9
2.1.2外部总线 10
2.2 80C51单片机的内部结构 11
2.2.1 80C51单片机的组成 11
2.2.2时钟电路与时序 12
2.2.3复位与复位电路 14
2.2.4并行I/O端口 15
2.3 80C51单片机的存储器组织 18
2.3.1程序存储器 18
2.3.2数据存储器 19
2.3.3特殊功能寄存器 21
2.4串行接口 23
2.4.1计算机通信技术基础 23
2.4.2串行接口的内部结构 24
2.4.3串行接口的工作方式 26
2.4.4串行口的初始化 28
思考题与习题 28
第3章80C51的指令系统 30
3.1指令格式及常用符号 30
3.1.1汇编语言指令格式 30
3.1.2本章中符号的定义 31
3.2 80C51的寻址方式 31
3.2.1立即寻址 31
3.2.2寄存器寻址 32
3.2.3寄存器间接寻址 33
3.2.4直接寻址 33
3.2.5变址寻址 34
3.2.6相对寻址 34
3.2.7位寻址 35
3.2.8寻址方式小结 36
3.3 80C51的指令系统简介 36
3.4数据传送类指令(29条) 36
3.4.1 8位数据传送指令 37
3.4.2 16位数据传送指令 38
3.4.3外部数据传送指令 39
3.4.4查表指令 39
3.4.5堆栈指令 40
3.4.6数据交换类指令 41
3.4.7数据传送类指令小结 42
3.4.8数据传送类指令练习题 42
3.5算术运算类指令(24条) 43
3.5.1加法指令 44
3.5.2减法指令 47
3.5.3无符号数乘法指令 48
3.5.4无符号数除法指令 48
3.6逻辑运算与循环类指令(24条) 48
3.6.1逻辑运算类指令 48
3.6.2累加器循环移位 50
3.7控制转移类指令(17条) 52
3.7.1无条件转移指令 52
3.7.2条件转移指令 54
3.7.3调用与返回指令 56
3.7.4空操作指令 57
3.7.5控制转移类指令应用实例 57
3.8位操作类指令(17条) 58
3.8.1位传送指令 58
3.8.2位状态设置指令 58
3.8.3位逻辑运算指令 59
3.9伪指令 59
3.10本章小结 61
思考题与习题 62
第4章 汇编语言程序设计 64
4.1程序编制的方法和技巧 64
4.1.1汇编语言程序设计的步骤 64
4.1.2编制程序的方法和技巧 65
4.1.3汇编语言的语句格式 66
4.2基本程序结构 66
4.2.1顺序结构程序设计 66
4.2.2分支结构程序设计 68
4.2.3循环分支结构程序设计 71
4.3子程序设计 75
4.3.1子程序的调用与返回 75
4.3.2保存与恢复寄存器内容 76
4.3.3子程序的参数传递 77
4.3.4编写子程序时应注意的问题 77
4.3.5常用子程序 77
思考题与习题 80
第5章80C51的中断系统与定时器/计数器 81
5.1 80C51的中断系统 81
5.1.1中断及中断嵌套的概念 81
5.1.2中断请求源和中断控制 82
5.1.3中断处理过程 85
5.1.4应用举例 86
5.2 80C51单片机的定时器/计数器 87
5.2.1定时器计数器的结构与工作原理 88
5.2.2定时器计数器的工作方式 90
5.2.3定时器计数器的初始化 92
5.2.4应用举例 93
思考题与习题 95
第6章80C51的C语言程序设计 96
6.1单片机C语言概述 96
6.1.1 C51程序开发过程 96
6.1.2 C51程序结构 97
6.2 C51的数据类型与运算 98
6.2.1 C51的数据类型 98
6.2.2 C51数据的存储类型 99
6.2.3 80C51硬件结构的C51定义 100
6.2.4 C51的运算符和表达式 102
6.3 C51流程控制语句 103
6.3.1 C51选择语句 104
6.3.2 C51循环语句 105
6.4 C51的指针和函数 107
6.4.1一般指针 107
6.4.2基于存储器的指针 108
6.4.3 C51函数的定义 108
6.4.4 C51函数的调用与参数传递 108
6.4.5 C51的库函数 110
6.5综合编程 118
6.5.1定时器应用举例 118
6.5.2串行通信 119
思考题与习题 121
第7章80C51系统扩展技术 122
7.1程序存储器的扩展设计 122
7.1.1访问外部程序存储器的时序 122
7.1.2 EPROM接口设计 123
7.1.3 E2 PROM接口设计 125
7.2数据存储器的扩展设计 129
7.2.1 80C51访问外部RAM的定时波形 129
7.2.2数据存储器的扩展设计 130
7.2.3 RAM的掉电保护 131
7.3显示器接口扩展技术 132
7.3.1 LED结构与原理 132
7.3.2动态显示程序设计 133
7.4键盘接口设计 136
7.4.1键盘工作原理 136
7.4.2键盘接口设计 137
7.5模数(A/D)和数模(D/A)转换器电路接口设计 140
7.5.1 D/A转换器与8031的接口设计 141
7.5.2 A/D转换器与8031的接口设计 145
7.5.3采样、保持和滤波 148
思考题与习题 149
第8章 单片机产品设计 151
8.1概述 151
8.1.1单片机产品设计 151
8.1.2单片机产品设计与调试的一般原则 151
8.2传感器接口电路 154
8.2.1概述 154
8.2.2传感器接口电路 155
8.3单片机产品的抗干扰技术 157
8.3.1干扰源及其传播途径 157
8.3.2电源产品的抗干扰措施 158
8.3.3地线产品 160
8.3.4 A/1D和D/A转换器的抗干扰措施 161
8.3.5长线传输干扰的排除 163
8.3.6几种元器件的抗干扰措施 163
8.4.8位A/D、 D/A转换产品的设计实例 165
8.4.1产品的硬件设计 165
8.4.2产品软件设计 169
思考题与习题 178
参考文献 180