目录 1
序 1
前言 1
第1章 概述 1
1.1 单片机的基本概念 1
1.2 单片机的发展简史 1
1.3 单片机的发展趋势 2
1.4 单片机的特点及应用 4
1.4.1 单片机的组成及特点 4
1.4.2 单片机的分类 4
1.5 MCS-51系列单片机 5
1.4.3 单片机的应用 5
第2章 MCS-51单片机硬件结构、工作原理及指令系统 7
2.1 MCS-51单片机的内部结构和外部引脚功能 7
2.1.1 MCS-51单片机的内部结构 7
2.1.2 MCS-51单片机的外部引脚功能 8
2.2 MCS-51单片机的存储器结构 9
2.2.1 内部数据存储器及其数据操作 10
2.2.2 特殊功能寄存器及其数据操作 12
2.2.3 程序存储器及其数据操作 14
2.2.4 外部数据存储器及其数据操作 15
2.3 MCS-51单片机的指令系统 16
2.3.1 寻址方式 17
2.3.2 数据传送类指令 20
2.3.3 算术运算类指令 24
2.3.4 逻辑运算类指令 31
2.3.5 控制转移类指令 33
2.3.6 位操作类指令 38
2.4 输入/输出端口 42
2.4.1 并行端口及应用举例 42
2.4.2 串行端口 48
2.5 定时器/计数器 55
2.5.1 控制寄存器 55
2.5.2 定时器/计数器的工作方式 57
2.5.3 定时器/计数器的设计方法及应用举例 59
2.6 中断的概念及MCS-51系列单片机的中断系统 64
2.6.1 中断的概念 65
2.6.2 MCS-51系列单片机的中断系统 67
2.7 单片机时钟与复位 73
2.7.1 时钟 73
2.7.2 复位 74
2.8 单片机的工作方式 75
2.8.1 程序执行方式 76
2.8.2 单步执行方式 76
2.8.3 掉电和节电方式 76
2.8.4 EPROM编程和校验方式 77
3.2 系统扩展常用芯片 78
3.2.1 译码器 78
3.1 系统扩展概述 78
第3章 MCS-51单片机的系统扩展 78
3.2.2 缓冲器 79
3.2.3 锁存器 81
3.3 定时器/计数器的扩展 82
3.3.1 8253的结构和工作原理 82
3.3.2 8253控制寄存器的格式 84
3.3.3 8253的工作模式 84
3.4 外部中断源的扩展 87
3.4.1 用定时器/计数器扩展外部中断源 88
3.4.2 用8259可编程中断控制器扩展中断源 88
3.5.1 I/O扩展概述 89
3.5 I/O端口的扩展 89
3.5.2 用8255A可编程并行接口芯片扩展I/O口 90
3.5.3 用8251A可编程串行接口芯片扩展I/O口 98
第4章 存储器扩展技术 106
4.1 存储器的分类 106
4.2 RAM、ROM、EPROM和E2PROM的扩展 106
4.3 E2PROM的编程和校验方式 108
第5章 MCS-51汇编语言与程序设计基础 111
5.1 汇编语言简介 111
5.2 伪指令 111
5.3 程序设计 113
5.3.1 顺序结构程序 113
5.3.2 分支程序 115
5.3.3 循环程序设计 116
5.3.4 查表程序设计 118
5.3.5 位操作程序 120
5.3.6 数制转换程序 121
5.3.7 子程序 122
第6章 MCS-51单片机接口技术 125
6.1 单片机接口技术基础 125
6.1.1 单片机接口的主要作用 125
6.1.2 单片机接口的控制方式 126
6.1.3 常用的外设及接口 126
6.2 键盘接口技术 127
6.2.1 开关接口与防抖动 127
6.2.2 小键盘与单片机的接口 128
6.2.3 矩阵键盘与单片机接口 131
6.3 拨盘接口技术 132
6.3.1 拨盘的结构与原理 132
6.3.2 拨盘的接口方法 133
6.4 显示器接口技术 136
6.4.1 LED显示器的结构与种类 136
6.4.2 LED显示器的控制方式 137
6.5 A/D转换电路接口技术 140
6.5.1 A/D转换原理 140
6.5.2 ADC0809与单片机的接口 144
6.5.3 AD574A与单片机的接口 148
6.5.4 5G14433(MC14433)与单片机的接口 151
6.6 D/A转换电路接口技术 153
6.6.1 D/A转换原理 153
6.6.2 DAC0832与单片机的接口 154
6.6.3 AD7520与单片机的接口 159
6.6.4 DAC1208与单片机的接口 160
6.6.5 应用实例 162
6.7 串行通信总线标准及接口技术 168
6.7.1 RS-232C标准串行总线接口及应用 168
6.7.2 RS-485标准串行总线接口及应用 170
6.7.3 SPI总线接口技术及其实例——X25045芯片的应用 174
6.8 IC卡接口技术 180
6.8.1 SLE4442引脚定义及功能 180
6.8.2 SLE4442的特点及操作命令 181
6.8.3 SLE4442的传输协议 181
6.8.4 SLE4442应用实例 183
6.9 USB通用串行总线 189
6.9.1 总线拓扑结构 190
6.9.2 USB的主机 191
6.9.3 USB的设备 191
6.9.4 USB的“分时复用” 191
6.9.5 电源 192
6.9.6 总线协议 192
6.9.7 可靠性 192
6.9.8 数据流种类 192
6.9.9 USB主机:硬件和软件 194
6.10 以太网通信技术 194
6.10.1 以太网与TCP/IP协议基础 195
6.10.2 单片机与以太网通信实例 199
第7章 单片机C语言编程基础及应用 202
7.1 单片机C语言编程基础 202
7.1.1 Keil C51扩展关键字 202
7.1.2 内存区域 203
7.1.3 存储模式 203
7.1.4 存储种类和存储器类型声明 204
7.1.5 变量的数据类型 204
7.1.6 位变量与声明 204
7.1.7 Keil C51指针 204
7.1.8 Keil C51函数 205
7.2 C语言与汇编语言混合编程 206
第8章 自动控制规律 211
8.1 常规数字控制器的实现 211
8.1.1 差分变换法 212
8.1.2 零阶保持器法 213
8.1.3 双线性变换法 213
8.2 数字PID控制器及其算法 214
8.2.1 基本的PID控制器 214
8.2.2 改进的PID控制器 215
8.3 自适应控制规律 217
8.3.1 自适应控制的概念 218
8.3.2 模型参考自适应控制系统 218
8.4 模糊控制规律 219
8.4.1 模糊控制器的组成 219
8.3.3 在线辨识自适应控制系统 219
8.4.2 模糊控制器的实现步骤 220
8.4.3 模糊控制技术的发展 223
第9章 单片机应用系统设计 227
9.1 单片机应用系统的开发流程 227
9.1.1 确定任务 227
9.1.2 总体设计 228
9.1.3 硬件设计与制作 228
9.1.4 软件设计 231
9.1.5 应用系统的联机调试 232
9.2 应用实例 233
9.2.1 MCS-51单片机数据采集系统 233
9.1.6 程序固化 233
9.2.2 以MCS-51单片机为核心的恒压调速供水系统 246
9.2.3 以MCS-51单片机为核心的公共汽车电脑报站器 253
第10章 单片机抗干扰及实用技术 256
10.1 干扰的主要来源与分类 256
10.1.1 单片机控制系统中干扰的主要来源 256
10.1.2 干扰的分类 257
10.2 干扰对控制系统造成的后果 258
10.3 硬件抗干扰措施 259
10.3.1 供电系统的抗干扰措施 259
10.3.2 过程通道的抗干扰措施 261
10.3.3 抗空间干扰的措施 266
10.3.4 印刷电路板的抗干扰设计 269
10.4.1 软件滤波 270
10.3.5 其他抗干扰设计 270
10.4 软件抗干扰措施 270
10.4.2 陷阱技术 277
10.4.3 “看门狗”(Watchdog)技术 280
10.4.4 数据备份与自恢复技术 281
第11章 单片机应用系统开发工具 283
11.1 Insight SE-52 Plus单片机仿真开发系统 283
11.1.1 MedWin集成开发环境的安装 284
11.1.2 MedWin集成开发环境的设置 284
11.1.3 用MedWin开发应用程序 286
11.1.4 MedWin调试实例 289
11.1.5 MedWin的断点功能 295
11.1.6 MedWin的菜单命令 296
11.1.7 MedWin窗口中的本地菜单 303
11.1.8 Insight SE系列仿真器仿真头使用说明 303
11.1.9 Insight SE系列仿真器的设置 304
11.2 TOP852通用编程器 305
11.2.1 TOP852的安装 305
11.2.2 软件操作 307
11.2.3 读写EPROM、E2PROM 309
11.2.4 读写单片机 311
11.2.5 测试SRAM 311
11.2.6 读写串口存储器 312
11.2.7 读写可编程逻辑器件 313
参考文献 314