第一章 微型计算机基础 1
第一节 微型计算机概述 1
一、微型计算机的概念 1
二、微型计算机的发展概况 4
三、微型计算机的应用 6
第二节 微型机中常用的数制与编码 8
一、微型机中常用的数制 8
二、不同数制间的转换 10
三、微型计算机中常用的编码 12
第三节 微型计算机运算基础 14
一、二进制数的运算 14
二、带符号数的表示 18
三、补码运算 21
第四节 微型计算机基本结构 23
一、微型计算机基本构成 24
二、指令执行过程 29
三、微型计算机系统组成 31
第五节 单片微型计算机概述 32
一、单片机的发展历史 33
二、单片机的发展趋势 33
三、单片机的内部结构 34
四、典型单片机产品 35
五、单片机的特点和应用 37
第二章 MCS-51单片机的结构和工作原理 41
第一节 MCS-51系列单片机的结构 41
一、MCS-51单片机的基本组成 41
二、MCS-51单片机的应用特性 42
第二节 8051单片机内部结构和功能 43
一、中央处理器CPU 43
二、布尔处理器 46
三、片内存储器结构 46
四、输入/输出(I/O)端口 51
五、定时器/计数器(T/C) 54
六、串行口 55
第三节 MCS-51单片机的引脚功能 55
一、信号引脚介绍 55
二、信号引脚的第二功能 56
第四节 MCS-51单片机的工作方式 57
一、复位方式 57
二、程序执行方式 58
三、单步执行方式 58
四、掉电和低功耗方式 59
五、EPROM编程、校验和加密方式 60
第五节 MCS-51单片机的时序 62
一、振荡器和时钟电路 62
二、时序定时单位 63
三、MCS-51指令的取指/执行时序 63
四、访问外部ROM和RAM的时序 64
第三章 半导器存储器 67
第一节 概述 67
一、微机存储器的分类 67
二、半导器存储器分类 67
三、半导器存储器的指标 68
第二节 随机读写存储器RAM 69
一、RAM的结构 69
二、静态RAM的基本存储电路 70
三、动态RAM的基本存储电路 71
四、典型RAM芯片介绍 71
第三节 只读存储器ROM 73
一、掩模ROM 73
二、可编程只读存储器PROM 74
三、可擦除只读存储器EPROM 75
四、典型ROM芯片介绍 76
第四节 存储器和MCS-51单片机的连接 78
一、选取存储器芯片的原则 78
二、存储器和MCS-51单片机连接的基本方法 78
三、外部RAM与MCS-51单片机的连接 82
四、外部ROM与MCS-51单片机的连接 83
五、同时扩展ROM和RAM存储器 84
第四章 MCS-51指令系统 87
第一节 指令及其表示方式 87
一、指令的基本概念 87
二、指令和指令助记符 88
三、指令的字节 数和指令周期 88
第二节 寻址方式 89
一、立即寻址 89
二、直接寻址 90
三、寄存器寻址 91
四、寄存器间接寻址 91
五、变址寻址 92
六、相对寻址 92
七、位寻址 93
第三节 数据传送指令 93
一、内部数据传送指令 94
二、外部数据传送指令 95
三、堆栈操作指令 96
四、数据交换指令 96
第四节 算术运算指令 97
一、加法指令 97
二、减法指令 99
三、BCD调整指令 99
四、乘除运算指令 100
第五节 逻辑运算指令 101
一、逻辑“与”运算指令 101
二、逻辑“或”运算指令 101
三、逻辑“异或”运算指令 102
四、累加器“清零”及“取反”指令 102
五、移位指令 103
第六节 控制转移指令 103
一、无条件转移指令 104
二、条件转移指令 104
三、子程序调用及返回指令 106
四、空操作指令 107
第七节 位操作指令 107
一、位传送指令 107
二、位置位/复位指令 107
三、位运算指令 108
四、位控制转移指令 108
第五章 汇编语言程序设计 111
第一节 汇编语言程序设计基础 111
一、汇编语言与机器语言 111
二、汇编语言的格式 111
三、伪指令 112
四、汇编语言源程序的汇编 114
五、汇编语言程序设计的一般步骤 114
第二节 MCS-51程序设计举例 115
一、简单程序设计 115
二、分支程序设计 116
三、循环程序设计 118
四、查表程序设计 120
五、子程序设计 121
六、散转程序设计 124
七、运算程序设计 126
第六章 MCS-51中断系统 133
第一节 输入/输出的基本概念 133
一、使用I/O接口的原因 133
二、I/O接口的功能 133
三、I/O接口传输信息的种类和结构 134
四、I/O接口的寻址方式 135
第二节 输入/输出的工作方式 136
一、无条件传送方式 136
二、查询式传送方式 137
三、中断传送方式 139
四、DMA传送方式 140
第三节 中断技术 142
一、中断的必要性 142
二、中断源 143
三、中断的分类 143
四、中断系统的功能 143
五、中断处理过程 144
六、中断优先级 145
第四节 MCS-51的中断系统 147
一、MCS-51的中断源和中断标志 147
二、MCS-51对中断源的控制 149
三、MCS-51对中断源的响应和撤除 150
四、MCS-51中断系统的初始化 152
第五节 MCS-51对中断源的扩展 153
一、使用内部定时器/计数器扩展外部中断源 153
二、使用查询法扩展外部中断源 153
三、采用8259A扩展外部中断源 155
第七章 并行I/O接口扩展 164
第一节 MCS-51并行I/O口的应用及扩展 164
一、MCS-51内部并行I/O口的应用 164
二、简单I/O接口扩展 166
三、采用8255A扩展I/O端口 167
四、采用8155扩展I/O端口 173
第二节 MCS-51对外部设备的接口 178
一、MCS-51对LED的接口 178
二、MCS-51对键盘的接口 183
三、键盘/显示系统 187
第三节 MCS-51内部定时器/计数器 188
一、MCS-51对内部定时器/计数器的控制 188
二、定时器/计数器的工作方式 190
三、MCS-51对内部定时器/计数器的初始化 192
四、应用举例 193
第八章 MCS-51单片机和D/A、A/D的接口 196
第一节 D/A转换器 196
一、D/A转换原理 197
二、DAC0832简介 199
三、DAC0832和8051的连接 201
四、12位DAC1208和8051的连接 202
第二节 A/D转换器 204
一、A/D转换原理 204
二、ADC0809简介 206
三、ADC0809与8051的接口 208
四、12位A/D转换器AD574A和8051的接口 211
第三节 A/D和D/A转换中若干技术问题 216
一、零点和满量程调节 、符号处理 216
二、采样/保持及多路切换技术 220
三、光电耦合和干扰的去除 222
第九章 MCS-51系统的串行通信 226
第一节 串行通信的基础 226
一、串行通信的分类 226
二、串行通信的制式 229
三、串行通信的调制/解调 230
四、串行通信中串行I/O数据的实现 230
第二节 MCS-51单片机的串行接口 233
一、串行口的结构 233
二、串行接口的工作方式 235
三、串行通信中波特率的设置 240
第三节 MCS-51串行口的应用举例 242
一、编程方法提要 242
二、串行口方式0扩展并行I/O口 243
三、串行口在其他方式下的应用举例 246
四、串行口多机通信原理及应用 249
第四节 串行通信标准接口简介 254
一、EIA-RS-232C标准接口 255
二、RS-422A标准接口 257
第五节 MCS-51串行口的扩展 258
一、8251A的结构和引脚功能 258
二、8251A的初始化编程 263
三、8251A和MCS-51单片机的接口 263
第十章 单片机应用系统研制方法 267
第一节 单片机应用系统的设计过程 267
一、总体设计 267
二、硬件设计 268
三、软件设计 268
四、系统的调试、运行和维护 269
第二节 单片机开发系统及应用 269
一、单片机的开发与开发工具 269
二、单片机开发系统的功能 270
第三节 单片机数据采集系统 271
一、系统的组成 271
二、数据采集 273
三、显示系统 274
第四节 步进电机控制 276
一、步进电机的工作原理 276
二、步进电机的单片机控制 277
第五节 单片机多点监测系统 280
一、8243简介 280
二、MCS-51单片机与8243接口 281
三、监测系统硬件结构及控制程序 283
附录 287
附录Ⅰ 常用集成电路引脚图 287
附录Ⅱ ASCII字符表 290
附录Ⅲ MCS-51系列单片机指令表 291
参考文献 299