第一章 计算机基础知识 4
1.1 计算机中数的表示方法及运算 4
一 机器数和真值 4
二 原码、反码和补码 5
三 补码运算 7
四 原码的乘、除运算 8
1.2 数字电子计算机中常用编码 10
一 BCD码及十进制调整 10
二 ASCII码及国内通用字符编码 11
1.3 数字电子计算机的基本工作原理 13
一 数字电子计算机的基本结构 13
二 计算机软件 15
三 衡量计算机性能的主要技术指标 16
1.4 微型计算机概述 17
一 微处理器、微型计算机和微型计算机系统 17
二 微型计算机结构 18
三 微处理器的基本结构 19
四 指令执行过程 22
1.5 单片微型计算机 22
一 单片机的特点 23
二 单片机的主要品种系列 23
习题和思考题 24
第二章 微型计算机的存贮器 27
2.1 只读存贮器ROM 27
一 只读存贮器的结构及分类 27
二 只读存贮器典型产品举例 30
2.2 随机存取存贮器RAM 32
一 RAM的基本结构 32
二 静态基本存贮电路 33
三 动态基本存贮电路 34
四 典型RAM芯片举例 35
2.3 微型计算机存贮器的组成与扩展 37
一 存贮器芯片的选择 37
二 存贮器芯片组的连接 38
2.4 CPU与存贮器的接口 41
一 CPU与ROM的接口 41
二 CPU与RAM的接口 41
2.5 盒式磁带及软磁盘存贮器 41
一 盒式磁带作为外存贮器 42
二 软盘存贮器 42
习题和思考题 44
第三章 微型计算机的输入/输出及中断方式3.1 I/O接口电路概述 46
一 I/O接口电路的作用 46
二 接口与端口的差别 47
三 外设的编址方式 47
3.2 输入/输出传送方式 49
一 无条件传送 49
二 查询式传送 49
三 中断传送方式 50
四 直接存贮器存取(DMA)方式 51
3.3 中断概述 52
一 中断源 52
二 中断的分类 52
三 中断的开放与关闭 52
四 中断优先级和中断源的判别 53
3.4 中断处理过程和中断系统 54
一 中断请求 54
二 中断响应 54
三 中断处理 54
四 中断返回 56
习题和思考题 56
第四章 MCS-51单片机的结构和原理 57
4.1 MCS-51系列单片机的结构 57
一 MCS-51单片机的基本组成 57
二 MCS-51系列 58
三 8051单片机的内部结构 58
4.2 8051单片机的引脚及其功能 65
4.3 MCS-51单片机的工作方式 67
一 复位方式 67
二 程序执行方式 68
三 单步执行方式 68
四 掉电和节电方式 68
五 编程和校验方式 69
4.4 MCS-51单片机的时序 69
一 机器周期和指令周期 70
二 MCS-51指令的取指/执行时序 70
三 访问外部ROM和外部RAM的时序 71
4.5 MCS-51单片机外部存贮器的扩展 72
一 程序存贮器的扩展 73
二 数据存贮器的扩展 74
习题和思考题 75
第五章 MCS-51单片机的指令系统 76
5.1 指令和指令程序 76
一 指令和助记符 76
二 指令的字节数 77
5.2 寻址方式 78
一 寄存器寻址 79
二 直接寻址 79
三 立即寻址 80
四 寄存器间接寻址 80
五 变址寻址 81
六 相对寻址 82
七 位寻址 83
5.3 数据传送指令 84
一 内部RAM单元之间的数据传送指令 84
二 涉及外部存贮器的数据传送指令 86
三 堆栈操作指令 88
四 数据交换指令 88
5.4 算术运算指令 89
一 加法指令 89
二 带进位加法指令 90
三 加1指令 91
四 带借位减法指令和减1指令 91
五 乘、除指令和其它运算指令 92
5.5 逻辑运算及移位指令 95
一 逻辑与运算指令 95
二 逻辑或运算指令 95
三 逻辑异或运算指令 96
四 累加器清零及取反指令 96
五 移位指令 97
5.6 控制转移指令 98
一 无条件转移指令 98
二 条件转移指令 100
三 子程序调用及返回指令 103
四 空操作指令 105
5.7 布尔变量操作指令 105
一 位传送指令 105
二 位置位指令 106
三 位运算指令 106
四 位控制转移指令 107
习题和思考题 109
第六章 汇编语言程序设计 111
6.1 汇编语言源程序的格式 111
一 标号 112
二 操作数 112
6.2 伪指令 113
一 ORG(汇编起始命令) 113
二 END(汇编结束命令) 113
三 EQU(等值命令) 113
四 DATA(数据地址赋值命令) 114
五 DB(定义字节指令) 114
六 DW(定义字命令) 115
七 DS(定义空间命令) 115
八 BIT(位地址符号命令) 115
6.3 汇编语言源程序的人工汇编 116
6.4 MCS-51程序设计举例 117
一 简单程序 118
二 分支程序 119
三 循环程序 125
四 查表程序 129
五 子程序 131
六 运算程序 135
习题和思考题 143
第七章 MCS-51单片机的并行接口 145
7.1 MCS-51的中断系统及其控制 145
一 中断系统的一般功能 145
二 MCS-51中断源及中断标志位 146
三 中断允许和中断允许寄存器IE 148
四 两级优先和中断优先级寄存器IP 148
五 MCS-51的中断响应 149
六 中断响应时间 150
七 中断请求的撤除 151
八 MCS-51中断系统初始化 152
7.2 MCS-51外部中断源的扩展 152
一 借用定时/计数器溢出中断作为外部中断 153
二 用查询方式扩展中断源 153
三 用8259可编程中断控制器扩展中断源 155
7.3 MCS-51内部I/O口及其应用 160
一 I/O口直接用于输入/输出 160
二 将外设当作数据存贮器来连接 161
三 8位I/O口改组为非8位端口 165
7.4 MCS-51并行I/O口的扩展 168
一 用8243输入/输出扩展器扩展I/O口 168
二 用8255A可编程并行接口芯片扩展I/O口 170
三 用8155通用接口芯片扩展I/O口 176
7.5 并行口应用——单片机显示/键盘系统 181
一 LED数码显示器的控制与编程 181
二 非编码键盘与单片机的接口 184
三 显示/键盘系统 187
7.6 MCS-51内部定时/计数器及其应用 189
一 MCS-51内部定时/计数器的工作方式 189
二 MCS-51内部定时/计数器的控制 190
三 MCS-51内部定时/计数器的初始化 193
四 应用举例 194
五 电脑时钟 197
习题和思考题 201
第八章 单片机与数模(D/A)及模数(A/D)转换器的接口8.1 D/A转换器 204
8.2 MCS-51单片机与D/A转换器的接口 207
一 DAC 0832数模转换器 207
二 DAC 0832和MCS-51单片机的连接 208
三 8031单片机和12位D/A转换器的接口 211
四 D/A转换器的应用 213
8.3 A/D转换器 215
一 逐次比较型A/D转换器 215
二 双积分型A/D转换器 218
8.4 MCS-51单片机与A/D转换器接口 220
一 ADC 0809模数转换芯片 220
二 ADC 0809和8031的连接 222
三 对12位A/D转换器的接口 224
8.5 数据采集和处理系统 226
一 数据采集和处理系统的硬件 226
二 数据采集和处理系统的软件 226
习题和思考题 227
第九章 MCS-51系统的串行接口 230
9.1 串行通信的基本知识 230
一 串行通信的两种基本方式 230
二 串行通信中数据的传送方向 232
三 并串变换和串行接口 233
9.2 MCS-51单片机的串行接口 234
一 MCS-51单片机串行口的控制 234
二 MCS-51单片机串行口的工作方式 236
9.3 MCS-51单片机串行口的应用 238
一 MCS-51单片机串行通信的波特率 238
二 串行口方式0用作扩展并行I/O口 239
三 串行口方式1和方式3的发送和接收 241
四 多机通信 244
9.4 MCS-51单片机RS-232串行接口 249
9.5 用USART器件扩展MCS-51单片机串行口 251
一 Intel 8251A通用同步/异步接口芯片特性 251
二 8251A的结构和引脚功能 251
三 8251A的控制字格式 253
四 8251A的初始化 255
五 8251A与MCS-51单片机的连接 255
习题和思考题 256
附录 MCS-51系列单片机的指令表 257