第1章 单片机数据传输接口概述 1
1.1 单片机并行数据接口 1
1.2 单片机串行数据接口 2
1.2.1 异步数据传输接口 2
1.2.2 同步数据传输接口 3
1.2.3 单片机的全双工串口 4
1.3 并行数据接口扩展 6
1.3.1 外部程序存储器扩展 6
1.3.2 外部数据存储器扩展 10
1.3.3 外围设备I/O空间扩展 15
1.4 串行数据接口扩展 24
1.5 数据接口扩展中应注意的问题 25
1.5.1 并行数据接口扩展中的地址分配 25
1.5.2 串行数据接口扩展中应注意的问题 28
第2章 串行数据传输接口RS-232/422/485 30
2.1 RS-232/422/485接口技术规范 30
2.1.1 RS-232-C接口标准 30
2.1.2 RS-422接口标准 31
2.1.3 RS-485接口标准 33
2.2 实例1——单片机的RS-232-C传输接口实现 33
2.2.1 RS-232-C传输接口电路设计 33
2.2.2 单片机与PC机通信程序设计 34
2.2.3 单片机多机通信程序设计 40
2.3 实例2——单片机的RS-485传输接口实现 47
2.3.1 RS-485传输接口电路设计 47
2.3.2 单片机RS-485数据传输接口程序设计 48
2.4 实例3——利用82C51进行单片机串口扩展 55
2.4.1 串口扩展芯片82C51简介 55
2.4.2 单片机串行接口扩展模块电路设计 58
2.4.3 单片机串行接口扩展模块程序设计 60
2.5 实例4——关于RS-422A串行通信接口 62
第3章 USB总线接口 64
3.1 USB总线协议分析 65
3.1.1 USB总线协议概述 65
3.1.2 USB总线数据传输信息包分析 67
3.2 USB总线接口设备的开发 70
3.2.1 USB总线接口设备的枚举过程 70
3.2.2 USB总线控制器的选择 71
3.2.3 USB总线接口方案设计 71
3.3 USB总线接口器件 72
3.3.1 带RISC内核的USB控制器CY7C63001 72
3.3.2 基于8位并行数据接口的USB总线接口芯片PDIUSBD12 74
3.4 实例1——基于PDIUSBD12的通用USB数据传输接口模块 78
3.4.1 USB数据传输接口模块的电路设计 78
3.4.2 USB数据传输接口模块数据传输协议 80
3.4.3 USB数据传输接口模块单片机部分程序设计 84
3.4.4 USB数据传输接口模块PC机应用程序设计 92
3.5 实例2——通用USB接口模块在数据采集系统中的应用 93
3.5.1 数据采集系统电路设计 93
3.5.2 仅占单片机一个外部数据端口的海量数据存储模块 100
3.5.3 混合电平系统设计中的注意事项 103
3.5.4 USB数据传输接口模块数据交换程序设计 105
第4章 I2C总线接口 110
4.1 I2C总线协议 111
4.1.1 I2C总线的基本特性 111
4.1.2 I2C总线上的时钟信号 111
4.1.3 I2C总线上的数据传输 112
4.1.4 I2C总线的地址与寻址 114
4.1.5 I2C总线的竞争与仲裁 115
4.2 I2C总线接口(协议)的软件模拟 117
4.3 实例1——基于I2C总线的时钟模块X1203 121
4.3.1 实时时钟芯片X1203 121
4.3.2 X1203的电路设计 127
4.3.3 X1203读写程序与代码分析 128
4.4 实例2——基于I2C总线的数字温度传感器LM75A 133
4.4.1 I2C数字温度传感器LM75A 133
4.4.2 LM75A应用电路的设计 138
4.5 实例3——I2C总线IC卡读卡器模块 138
4.5.1 IC卡简介 138
4.5.2 AT24Cxx系列I2C总线接口存储卡 140
4.5.3 读卡器模块电路设计 144
4.5.4 读卡器模块程序设计 145
4.6 实例4——I2C总线接口8位模数/数模转换器PCF8591 147
4.6.1 PCF8591简介 147
4.6.2 PCF8591在单片机系统中的应用 152
4.6.3 单片机对PCF8591的控制程序及代码分析 153
第5章 SPI和Microwire串行总线接口 155
5.1 SPI及Microwire串行总线协议 155
5.1.1 SPI串行总线协议 155
5.1.2 Microwire串行总线协议 158
5.2 SPI及Microwire串行总线器件 160
5.2.1 SPI串行总线器件 160
5.2.2 Microwire串行总线器件 162
5.3 实例1——SPI接口LCD显示模块EDM1079 164
5.3.1 EDM1079简介 164
5.3.2 EDM1079应用电路设计 166
5.3.3 EDM1079应用程序设计 166
5.4 实例2——SPI接口语音录放模块ISD4104 169
5.4.1 ISD4104简介 169
5.4.2 ISD4104的SPI接口及其指令系统 172
5.4.3 ISD4104的典型应用 174
5.5 实例3——SPI接口时钟日历芯片DS1302 177
5.5.1 DS1302简介 177
5.5.2 DS1302 SPI接口读写操作 179
5.5.3 DS1302的典型应用 182
5.6 实例4——SPI接口12位A/D转换器TLC2543 188
5.6.1 TLC2543简介 188
5.6.2 TLC2543工作原理及读写时序 189
5.6.3 TLC2543的典型应用 193
5.7 实例5——3线串行接口10位D/A转换器TLC5615 196
5.7.1 TLC5615简介 196
5.7.2 TLC5615的内部结构和工作原理 197
5.7.3 TLC5615的典型应用 199
5.8 实例6——Microwire接口EEPROM存储器NM93Cx6 200
5.8.1 NM93Cx6简介 200
5.8.2 NM93Cx6指令集及读写时序 202
5.8.3 NM93Cx6在MCS-51单片机系统中的应用 205
第6章 1-Wire总线接口 211
6.1 单总线技术概述 211
6.1.1 单总线芯片简介 211
6.1.2 单总线技术的特点及其应用 214
6.2 单总线数据通信协议 216
6.2.1 单总线通信信号类型 217
6.2.2 单总线通信的初始化 218
6.2.3 单总线通信的ROM命令 219
6.2.4 单总线器件的ROM搜索 220
6.2.5 单总线通信的功能命令 225
6.3 实例1——基于单总线通信协议的小环境温度监测系统 225
6.3.1 单总线数字温度传感器DS18B20 225
6.3.2 由DS18B20构成的小环境温度监测系统 230
6.3.3 温度监测系统软件设计 232
6.4 实例2——单总线接口模数转换器 238
6.4.1 单总线四通道模数转换器DS2450 238
6.4.2 DS2450与单片机的典型接口设计 245
6.4.3 DS2450控制程序设计分析 246
6.5 实例3——串行接口单总线驱动器 249
6.5.1 串行接口单总线驱动器DS2480B 249
6.5.2 基于DS2480B的单片机单总线系统电路设计 254
6.5.3 基于DS2480B的单片机单总线系统程序设计 255
第7章 CAN总线接口 258
7.1 CAN协议规范 259
7.1.1 CAN的基本工作原理 259
7.1.2 CAN协议规范概述 260
7.1.3 报文传输的帧结构 263
7.1.4 报文的校验 266
7.1.5 报文位流编码 267
7.1.6 错误处理与故障界定 267
7.1.7 位定时要求 268
7.1.8 同步 269
7.2 实例1——CAN控制器接口PCA82C250及其应用 270
7.2.1 CAN控制器接口PCA82C250 270
7.2.2 PCA82C250的典型应用 272
7.3 实例2——基于PCA82C200的智能CAN总线通信模块 273
7.3.1 82C200简介 273
7.3.2 82C200的工作原理及参数配置 276
7.3.3 基于82C200的CAN总线通信模块 283
7.3.4 82C200控制程序设计 285
7.4 实例3——独立CAN控制器Intel 82527及其应用 290
7.4.1 Intel 82527简介 290
7.4.2 Intel 82527内部寄存器及其设置 294
7.4.3 Intel 82527在MCS-51单片机系统中的应用 301
7.4.4 Intel 82527的应用程序设计 304
7.5 实例4——基于SJA1000的CAN总线接口模块 307
7.5.1 SJA1000简介 307
7.5.2 SJA1000内部寄存器及其参数设置 310
7.5.3 基于AT89C52和SJA1000的CAN总线接口模块 316
7.5.4 SJA1000应用程序设计 318
第8章 其他数据传输接口 324
8.1 实例1——基于uPD6121和uPC2800的红外收发模块 324
8.1.1 uPD6121和uPC2800简介 325
8.1.2 红外发射模块的电路设计及工作原理 330
8.1.3 红外接收模块的电路设计及工作原理 331
8.2 实例2——NB9148/NB9149通用红外遥控收发模块 332
8.2.1 NB9148简介 332
8.2.2 基于NB9148的红外遥控发射器 336
8.2.3 基于NB9149的红外遥控接收器 336
8.3 实例3——基于nRF401的无线数据传输模块 340
8.3.1 nRF401简介 340
8.3.2 nRF401应用过程中的注意事项 342
8.3.3 采用nRF401的无线数传模块的电路设计 343
8.4 实例4——基于DM9008的嵌入式系统以太网接口模块 345
8.4.1 DM9008简介 346
8.4.2 DM9008在MCS-51单片机系统中的应用 353
8.4.3 DM9008嵌入式以太网接口模块程序设计 355
8.5 实例5——RTL8019AS在单片机网络接口中的应用 358
8.5.1 RTL8019AS简介 358
8.5.2 由AT89C52和RTL8019实现的以太网接口模块 364
8.5.3 RTL8019AS网络接口模块控制程序设计 367