第1章 单片机硬件系统 1
1.1 计算机、微型机、单片机及单片机应用系统概述 1
1.1.1 单片机及单片机应用系统 1
目录 1
1.1.2 MCS-51系列单片机 5
1.2 MCS-51单片机结构和原理 6
1.2.1 MCS-51单片机的引脚及内部结构 6
1.2.2 MCS-51单片机的内部数据存储器 10
1.2.3 MCS-51单片机的内部程序存储器 15
1.3.1 P0口 16
1.3 MCS-51单片机的并行端口结构 16
1.3.2 P1口 18
1.3.3 P2口 18
1.3.4 P3口 18
1.4 时钟电路与复位电路 19
1.4.1 时钟电路与时序 19
1.4.2 单片机的复位电路 21
1.5 单片机的工作过程 22
1.6.3 实训步骤 23
1.6.2 实训设备 23
1.6.1 实训目的 23
1.6 单片机应用系统开发过程的实验说明 23
1.6.4 实训分析与总结 26
1.7 习题 27
第2章 单片机开发系统 28
2.1 单片机开发系统的功能 28
2.1.1 在线仿真功能 28
2.1.2 调试功能 29
2.1.3 辅助设计功能 29
2.2.1 硬件调试方法 30
2.2 单片机应用系统的调试 30
2.1.4 程序固化功能 30
2.2.2 软件调试方法 32
2.3 LCA51仿真软件使用实训 32
2.3.1 AEDK51W/320W仿真机 32
2.3.2 LCA51软件简介及安装 34
2.3.3 LCA51单片机开发系统软件 35
2.3.4 LCA51软件调试 48
2.3.5 实训 50
3.1.1 指令格式 52
3.1 指令概述 52
第3章 MCS-51指令系统 52
3.1.2 汇编指令中的符号约定 53
3.2 指令系统的寻址方式 54
3.3 指令系统 56
3.4 指令功能训练 62
3.4.1 实验目的 62
3.4.2 实验设备 63
3.4.3 实验步骤与要求 63
3.5 思考题 74
3.6 习题 74
4.1 概述 76
第4章 汇编语言程序设计 76
4.2 简单程序设计 77
4.3 分支程序设计 78
4.3.1 分支程序结构 78
4.3.2 分支程序实例 79
4.4 循环程序设计 85
4.4.1 循环程序结构 85
4.4.2 循环程序实例 86
4.5 查表程序 93
4.6.1 子程序实例 94
4.6 子程序设计与堆栈技术 94
4.6.2 堆栈结构 97
4.6.3 子程序设计与堆栈技术应用实例 98
4.7 实用汇编子程序举例 100
4.7.1 代码转换程序 100
4.7.2 算术运算子程序 101
4.7.3 查找、排序程序 105
4.8 实用汇编子程序举例 107
4.9 习题 116
5.1.1 中断的概念 118
5.1 中断系统 118
第5章 中断系统与定时/计数器 118
5.1.2 中断系统的硬件结构和中断源 119
5.1.3 中断控制 120
5.1.4 中断响应 122
5.1.5 中断的嵌套 123
5.1.6 中断系统应用实例 123
5.2 89C51/80C51的定时/计数器 124
5.2.1 定时/计数器的基本组成与操作方式 124
5.2.2 定时/计数器的工作方式 128
5.3 外部中断源扩展 130
5.3.2 使用硬件申请和软件查询法扩展外部中断源 131
5.3.1 利用定时/计数器溢出中断扩展外部中断源 131
5.3.3 用串行口进行外部中断扩展 132
5.3.4 应用中断控制器8259扩展外部中断源 132
5.4 中断系统及定时/计数器应用实例 132
5.5 习题 138
第6章 单片机系统扩展 139
6.1 最小应用系统及系统扩展 139
6.1.1 单片机最小应用系统 139
6.2.1 单片机程序存储器概述 140
6.1.2 单片机系统扩展 140
6.2 程序存储器扩展 140
6.2.2 程序存储器芯片 141
6.2.3 单片机扩展EPROM典型电路 145
6.2.4 单片机扩展外部程序存储器实训(改变灯的闪烁频率) 146
6.3 数据存储器扩展 148
6.3.1 单片机RAM概述 148
6.3.2 数据存储器扩展常用芯片 149
6.3.3 数据存储器扩展典型电路 150
6.3.4 SRAM6264数据存储器扩展实训(数据块排队结果显示) 152
6.4 OKS1245(128K×8)带锁的数据存储器扩展实训 154
6.5 基于2864A的外部数据/程序存储器的扩展实训 157
6.6 基于138、245、573的并行I/O口扩展实训 159
6.7 8255扩展I/O口的实训 161
6.7.1 8255的结构及操作方式 161
6.7.2 8255扩展I/O口实训 164
6.8 8155扩展I/O口的实训 166
6.8.1 8155的结构及操作方式 166
6.8.2 8155扩展I/O口实训 170
6.9 习题 173
7.1.1 LED显示器 174
第7章 单片机人机交流接口 174
7.1 单片机与显示接口 174
7.1.2 LED显示器和接口 176
7.2 基于14495硬件译码LED显示口的实训 177
7.3 ULN2803A\138\573软译码动态显示接口实训 181
7.4 基于164软件译码LED串行显示口的实训 185
7.5 单片机与键盘接口 188
7.5.1 键输入必解决的问题 188
7.5.2 矩阵键盘 189
7.6 基于245、573线反转法键盘接口的实训 191
7.7 基于164扫描法键显接口的实训 195
7.8 基于8155软件译码键显接口的实训 199
7.9 基于8279键盘显示接口的实训 204
7.10 基于BC7281A键盘显示接口实训 209
7.11 单片机与微型打印机接口 215
7.12 习题 220
第8章 单片机的测控接口 221
8.1 A/D转换器及与单片机接口 221
8.1.1 A/D转换器概述 221
8.1.2 典型A/D转换器芯片ADC0809 221
8.1.3 MCS-51单片机与ADC0809接口连接 223
8.2 基于A/D570芯片的转换接口实训 224
8.3 基于AD574芯片的转换接口实训(简易波形采集与回放) 230
8.4 基于MAX1274串行A/D的转换接口实训 237
8.5 D/A转换器及其与单片机接口 241
8.5.1 D/A转换器概述 241
8.5.2 典型的D/A转换器芯片DAC0832 242
8.5.3 D/A转换器接口 243
8.6 典型D/A芯片DAC0832的接口实训(灯的循环渐变暗) 244
8.7 基于TIP521的开关量接口实训(控制继电器) 246
8.8 习题 253
9.1 串行通信基础 254
第9章 单片机串行口通信技术 254
9.1.1 串行通信的分类 255
9.1.2 串行通信的制式 256
9.1.3 串行通信的接口电路 257
9.2 MCS-51的串行接口 260
92.1 MCS-51串行口结构 260
9.2.2 MCS-51串行的工作方式 262
9.2.3 MCS-51串行口的波特率 265
9.3 方式1的双机通信查询方式编程实践 266
9.4 方式1的双机通信中断方式编程实践 273
9.5 方式2的多机通信查询方式编程实践 280
9.6 方式3的多机通信中断方式编程实践 289
9.7 PC机与单片机之间的通信编程实践 298
9.7.1 PC机与单片机的接口连接 298
9.7.2 PC机与单片机通信的软件编程 299
9.8 习题 301
第10章 单片机应用系统设计开发 302
10.1 单片机应用系统设计过程 302
10.2 提高系统可靠性的常用方法 304
10.3 单片机应用系统设计综合实例 307