第1章MCS-51单片机的结构和工作原理 1
1.1概述 1
1.2中央处理器CPU 3
1.2.1运算器 3
1.2.2控制器 4
1.3 MCS-51单片机外部特性 5
1.3.1引脚功能 5
1.3.2引脚的第二功能 6
1.4 MCS-51单片机时钟电路及CPU的工作时序 7
1.4.1时钟电路 7
1.4.2 CPU的工作时序 8
1.5 MCS-51单片机存储器分类及配置 11
1.5.1程序存储器 11
1.5.2数据存储器 12
1.6布尔处理器 18
1.7并行1/O接口 19
1.8 MCS-51单片机的工作方式 19
1.8.1复位方式 19
1.8.2单步执行方式 21
1.8.3程序执行方式 22
1.8.4低功耗方式 22
1.8.5 EPROM编程、检查与擦除方式 24
思考题与习题 25
第2章80C51单片机的指令系统 27
2.1概述 27
2.1.1程序设计语言和指令 27
2.1.2指令格式 28
2.2寻址方式 28
2.2.1指令系统中使用的常用符号 28
2.2.2 80C51单片机指令系统的寻址方式 29
2.3 80C51单片机的指令系统 33
2.3.1数据传送指令 34
2.3.2算术运算指令 39
2.3.3逻辑运算指令 44
2.3.4控制转移指令 47
2.3.5位操作(布尔处理)指令 52
2.4汇编语言程序设计 54
2.4.1汇编语言及其语句格式 54
2.4.2汇编语言伪指令 55
2.4.3汇编语言程序设计的步骤 58
2.4.4顺序结构程序设计 58
2.4.5分支程序设计 59
2.4.6查表程序设计 61
2.4.7散转程序设计 62
2.4.8循环程序设计 63
2.4.9子程序 65
2.4.10运算程序设计 67
2.4.11代码转换程序 71
思考题与习题 73
第3章单片机的中断系统、定时/计数器和串行口 77
3.1单片机的中断系统 77
3.1.1中断系统概念 77
3.1.2 MCS-51中断系统结构 78
3.1.3中断系统的初始化及应用 86
3.2 80C51的定时器/计数器 88
3.2.1定时器/计数器 88
3.2.2定时器/计数器的工作方式 92
3.2.3定时器/计数器初始化和应用举例 94
3.3 80C51的串行口 101
3.3.1串行通信基本知识 102
3.3.2申行接口的组成和特性 104
3.3.3串行通信接口的工作方式 106
3.3.4波特率设计 112
3.3.5 80C51串行口双机异步通信 114
思考题与习题 122
第4章MCS-51单片机系统扩展 125
4.1系统三总线的产生 125
4.1.1片外三总线结构 125
4.1.2系统扩展的实现 126
4.2存储器扩展 126
4.2.1 8位数据/地址锁存器74LS273/373 127
4.2.2 8位并行数据输入/输出锁存器8212/8282 128
4.2.3地址译码方法 130
4.2.4外部程序存储器扩展 132
4.2.5外部数据存储器扩展 136
4.2.6外部程序/数据共用存储器 138
4.3并行接口的扩展 139
4.3.1 I/O口的直接输入/输出 139
4.3.2用74系列器件扩展并行I/O口 140
4.3.3带RAM和定时器的可编程并行I/O扩展接口8155A 141
4.4模/数(A/D)转换器接口的扩展 146
4.4.1 A/D转换原理 147
4.4.2双积分式A/D转换器MC14433 148
4.4.3 MC14433与89C51单片机的接口电路及编程 151
4.4.4逐次逼近式A/D转换器ADC0809 152
4.4.5 89C51单片机与ADC0809的接口方法 155
4.4.6 12位ADC芯片——AD574 159
4.4.7 89C51单片机与AD574的接口 161
4.5数/模(D/A)转换器接口的扩展 162
4.5.1 D/A转换的工作原理 162
4.5.2 D/A转换器的主要性能指标 162
4.5.3 8位DAC芯片——DAC0832 163
4.5.4 89C51单片机与DAC0832的接口 165
4.5.5 12位DAC芯片——DAC1208 168
4.5.6 89C51/80C51单片机与DAC1208的接口 170
4.6键盘输入接口电路 170
4.6.1键盘的工作原理 170
4.6.2键盘的工作方式 172
4.6.3 89C51单片机的键盘接口电路 173
4.7显示器接口电路 175
4.7.1 LED显示器 175
4.7.2 89C51单片机与LED显示器的接口电路 178
4.7.3 LCD液晶显示器 181
4.7.4 89C51单片机与LCD显示器的接口电路 182
4.8可编程键盘/显示器接口8279 186
4.8.1 8279内部结构 187
4.8.2 8279的引脚功能 189
4.8.3 8279的工作方式 190
4.8.4 8279的编程与控制 192
4.8.5 8279的数据格式 195
4.8.6 8279的FIFO状态字 196
4.8.7 89C51单片机与8279键盘/显示器接口 196
思考题与习题 198
第5章Proteus应用指南 201
5.1 Proteus ISIS工作界面 201
5.1.1 ISIS命令工具栏 203
5.1.2原理图编辑窗口 204
5.1.3预览窗口 205
5.1.4对象选择器 205
5.1.5 ISIS模式选择工具栏 206
5.1.6仿真控制按钮 208
5.1.7 ISIS旋转、镜像控制按钮 208
5.2原理图设计 208
5.2.1原理图设计的方法和步骤 209
5.2.2 ISIS鼠标使用规则 209
5.2.3原理图设计过程 209
5.3 Proteus VSM电路仿真分析 216
5.3.1虚拟仪器 217
5.3.2 Proteus信号发生器 219
5.3.3探针 221
5.3.4仿真图表分析 222
5.3.5电源与地 223
5.3.6交互式电路仿真 224
5.4 Proteus软件与Keil C联合仿真 225
5.4.1 C51程序 226
5.4.2 Keil C上机的基本方法 227
5.4.3 Keil C的μVision3编写程序注意事项 234
5.4.4 Keil C中的51单片机中断编程 236
5.4.5 Proteus与Keil C联合仿真 239
5.4.6 Proteus 51汇编源码调试方法 248
第6章 基于Proteus仿真的单片机实验 256
6.1 51系列单片机输出 256
6.2 51系列单片机输入输出 259
6.3单片机控制无译码的七段数码管显示 261
6.4单片机控制多位LED显示 265
6.5单片机控制16×64点阵显示汉字 270
6.6单片机控制独立式键盘 276
6.7单片机控制矩阵式键盘 281
6.8单片机串行端口输出 286
6.9单片机串行端口输入 290
6.10单片机控制的电子万年历 292
6.11单片机控制步进电机 304
6.12单片机控制简易数字电压表 307
6.13单片机控制带存储功能的电子琴 311
附录A ASCII字符表 326
附录B MCS-51指令表 327
附录C MCS-51系列单片机指令表 331
附录D MCS-51指令矩阵(汇编/反汇编表) 334
参考文献 335