第1章 微型计算机系统基本知识 1
1.1微型计算机和单片机概述 1
1.1.1微型计算机发展概况 1
1.1.2 80C51单片机概述 2
【复习思考题】 3
1.2计算机中数的表示方法及运算 4
1.2.1二进制数和十六进制数基本概念 4
1.2.2数制转换 6
1.2.3二进制数和十六进制数运算 8
1.2.4原码、反码和补码 10
【复习思考题】 13
1.3常用编码 13
1.3.1 8421 BCD码 13
1.3.2 ASCII码 14
【复习思考题】 15
1.4习题 15
第2章 80C51单片机片内结构和工作原理 17
2.1片内结构和引脚功能 17
2.1.1片内结构 17
2.1.2引脚功能 18
【复习思考题】 20
2.2存储空间配置和功能 20
2.2.1程序存储器(ROM) 21
2.2.2外部数据存储器(外RAM) 21
2.2.3内部数据存储器(内RAM) 22
2.2.4特殊功能寄存器(SFR) 23
2.2.5程序计数器PC 26
【复习思考题】 26
2.3 I/O端口结构及工作原理 27
【复习思考题】 29
2.4时钟和时序 29
2.4.1时钟电路和机器周期 29
2.4.2时序 30
【复习思考题】 33
2.5复位和低功耗工作方式 33
2.5.1复位方式 33
2.5.2低功耗工作方式 35
【复习思考题】 36
2.6习题 36
第3章 80C51指令系统 38
3.1指令系统基本概念 38
3.1.1指令基本格式 38
3.1.2指令系统中的常用符号 39
3.1.3寻址方式 39
3.1.4指令分类 41
【复习思考题】 42
3.2指令系统 42
3.2.1数据传送类指令 42
3.2.2算术运算类指令 48
3.2.3逻辑运算及移位指令 51
3.2.4位操作类指令 53
3.2.5控制转移类指令 54
【复习思考题】 57
3.3习题 57
第4章 汇编语言程序设计 63
4.1汇编语言程序设计基本概念 63
4.1.1汇编 63
4.1.2伪指令 64
4.1.3程序设计的基本步骤 65
【复习思考题】 66
4.2汇编程序设计举例 66
4.2.1顺序程序 66
4.2.2分支程序 67
4.2.3循环程序 69
4.2.4查表程序 72
4.2.5散转程序 74
【复习思考题】 74
4.3习题 74
第5章 C51程序设计 77
5.1 C51概述 77
【复习思考题】 80
5.2 C51数据与运算 80
5.2.1数据与数据类型 80
5.2.2变量及其定义方法 85
5.2.3运算符和表达式 90
5.2.4数据类型转换和运算顺序的优先级、结合性 93
【复习思考题】 96
5.3 C51基本语句 96
5.3.1语句基本概念 96
5.3.2选择语句 97
5.3.3循环语句 101
【复习思考题】 106
5.4 C51构造类型数据 106
5.4.1数组 106
5.4.2指针 109
【复习思考题】 114
5.5 C51函数 114
5.5.1函数概述 114
5.5.2函数的参数和返回值 116
5.5.3函数的调用 120
5.5.4常用库函数 122
【复习思考题】 126
5.6习题 126
第6章 80C51片内功能部件 129
6.1 80C51中断系统 129
6.1.1中断概述 129
6.1.2中断源和中断控制寄存器 130
6.1.3中断处理过程 132
6.1.4中断系统的应用 136
6.1.5中断C51编程 138
【复习思考题】 140
6.2 80C51定时/计数器 140
6.2.1定时/计数器概述 140
6.2.2定时/计数器的控制寄存器 141
6.2.3定时/计数器工作方式 142
6.2.4定时/计数器的应用 144
【复习思考题】 149
6.3 80C51串行口 149
6.3.1串行通信概述 149
6.3.2串行口特殊功能寄存器 151
6.3.3串行工作方式 153
【复习思考题】 161
6.4习题 161
第7章 80C51片外扩展 165
7.1并行扩展 165
7.1.1并行扩展概述 165
7.1.2并行扩展外ROM 167
7.1.3并行扩展外RAM 169
7.1.4并行扩展I/O口 171
【复习思考题】 174
7.2串行扩展 175
7.2.1串行扩展概述 175
7.2.2 80C51同步移位寄存器串行扩展 177
7.2.3 I2C串行总线 181
7.2.4虚拟I2C扩展AT24CXX系列E2 PROM 186
【复习思考题】 191
7.3习题 192
第8章 常用外围设备接口电路 194
8.1 LED数码管显示接口电路 194
8.1.1 LED数码管和编码方式 194
8.1.2静态显示方式及其典型应用电路 197
8.1.3动态显示方式及其典型应用电路 200
【复习思考题】 202
8.2 LCD 1602显示屏接口电路 202
【复习思考题】 207
8.3键盘接口电路 207
8.3.1键盘接口概述 208
8.3.2独立式按键及其接口电路 209
8.3.3矩阵式键盘及其接口电路 210
【复习思考题】 213
8.4 A/D转换接口电路 213
8.4.1 A/D转换的基本概念 213
8.4.2并行ADC0809及其接口电路 214
8.4.3串行ADC0832及其接口电路 217
【复习思考题】 220
8.5 D/A转换接口电路 221
8.5.1 D/A转换的基本概念 221
8.5.2 DAC 0832及其接口电路 222
【复习思考题】 226
8.6开关量驱动输出接口电路 226
【复习思考题】 228
8.7时钟DS 1302接口电路 228
【复习思考题】 235
8.8步进电动机接口电路 235
【复习思考题】 239
8.9习题 239
第9章 单片机常用开发工具 244
9.1 Keil C51编译软件介绍 244
9.1.1软件安装 244
9.1.2项目建立和设置 245
9.1.3程序编译运行 251
9.1.4常用窗口介绍 253
9.1.5程序调试实例 257
9.2 ProteusISIS仿真软件介绍 262
9.2.1用户编辑界面 262
9.2.2电路原理图设计和编辑 265
9.2.3虚拟仿真 273
9.2.4 Proteus与Keil联合仿真调试 276
9.3单片机应用虚拟仿真实例 277
9.3.1循环灯虚拟仿真 278
9.3.2示波器显示周期脉冲方波 278
9.3.3串行扩展虚拟仿真 279
9.3.4双机串行通信 282
9.3.5读写I2C AT24C02 282
9.3.6 LED数码管显示虚拟仿真 283
9.3.7 LCD 1602显示虚拟仿真 286
9.3.8键盘接口虚拟仿真 286
9.3.9并行A/D 0808虚拟仿真 287
9.3.10串行A/D 0832虚拟仿真 288
9.3.11 DAC0832虚拟仿真 289
9.3.12时钟1302虚拟仿真 290
9.3.13步进电动机虚拟仿真 291
附录 80C51反汇编指令表 292
参考文献 293