第1章 单片机基础知识1
1.1单片机概述1
1.1.1单片机的发展1
1.1.2单片机的发展趋势3
1.1.3单片机的特点4
1.1.4单片机的分类5
1.1.5单片机的应用5
1.2 51系列单片机的内部结构6
1.2.1单片机内部结构6
1.2.2 STC89C51RC单片机内部结构特点8
1.2.3 51系列单片机引脚特性9
1.3单片机存储器组织11
1.3.1程序存储器12
1.3.2数据存储器12
1.4单片机中断系统20
1.4.1关于中断的概念20
1.4.2 51单片机的中断系统21
1.4.3中断处理过程25
1.4.4中断请求的撤除26
1.4.5中断优先控制和中断嵌套26
1.4.6中断系统的应用27
1.5单片机定时器/计数器27
1.5.1定时器/计数器概述28
1.5.2定时器/计数器的控制28
1.5.3定时器/计数器的4种工作方式29
1.5.4定时器/计数器的应用31
1.6单片机串行接口33
1.6.1 51单片机串行口的结构与控制33
1.6.2 51单片机串行口4种工作方式35
1.6.3 51单片机串行口波特率设置方法38
1.7单片机指令系统40
1.7.1指令的格式41
1.7.2寻址方式42
1.7.3 51单片机指令简介44
1.8单片机应用系统的设计48
1.8.1单片机应用系统的构成方式49
1.8.2单片机应用系统设计的基本要求49
1.8.3单片机应用系统硬件设计概述51
1.8.4应用系统的软件设计52
本章小结52
思考题53
第2章 数据通信基础知识55
2.1数据通信的基本概念56
2.1.1基本术语56
2.1.2通信技术指标57
2.2数据通信方式59
2.2.1单片机串行数据通信方式60
2.2.2单片机串行数据通信的同步方式61
2.3数据编码技术64
2.3.1数字信号的模拟信号编码64
2.3.2数字数据的数字信号编码66
2.3.3模拟数据的数字信号编码67
2.4数据传输68
2.4.1基带传输68
2.4.2宽带传输68
2.4.3频带传输68
2.5多路复用技术68
2.5.1频分多路复用69
2.5.2时分多路复用69
2.5.3波分多路复用69
2.5.4码分多路复用70
2.6数据交换技术70
2.6.1电路交换71
2.6.2报文交换71
2.6.3分组交换72
2.6.4高速交换技术73
2.7传输介质74
2.7.1同轴电缆74
2.7.2双绞线74
2.7.3光纤75
2.7.4无线介质传输76
2.7.5传输介质的选择76
2.8差错控制技术77
2.8.1概述77
2.8.2数据通信中的数据校验78
本章小结80
思考题81
第3章 工业控制网络基础知识82
3.1工业控制网络的发展82
3.2工业控制网络的特点和分类83
3.2.1工业控制网络的特点83
3.2.2工业控制网络的分类84
3.2.3工业控制网络中传输信息的特点84
3.2.4工业控制网络中信息传输延迟的因素85
3.3现场总线概述85
3.3.1现场总线的本质85
3.3.2现场总线的特点86
3.4通用计算机网络概述87
3.4.1计算机网络的概念和功能87
3.4.2计算机网络的基本组成88
3.4.3计算机网络的拓扑结构89
3.4.4计算机网络的分类92
3.5计算机网络体系结构与协议94
3.5.1 ISO/OSI参考模型95
3.5.2七层协议的作用96
3.6工业控制网络与普通计算机网络的区别100
3.7计算机总线概述101
3.7.1总线的定义101
3.7.2总线的分类102
本章小结103
思考题103
第4章CAN实验设备和器材使用简介104
4.1 CAN总线简介104
4.1.1什么是CAN总线104
4.1.2 CAN总线的特点104
4.1.3 CAN总线与RS485总线比较105
4.2 CAN总线入门的有效途径106
4.3学习CAN总线的知识准备106
4.4 CAN总线实验的器材和工具107
4.4.1 Keil C51集成开发环境107
4.4.2串口下载软件stcispv4.79notsetup.EXE108
4.4.3 CPU和CAN模块实验板介绍113
4.4.4 LED显示模块、键盘输入/输出模块实验板116
4.4.5电源电路119
本章小结119
思考题120
第5章CAN局域网技术及其规范简介121
5.1 CAN的基本概念121
5.2 CAN的分层结构123
5.3 CAN总线中的逻辑电平125
5.4报文传送、帧格式和帧类型125
5.4.1报文传送125
5.4.2 CAN总线的帧格式126
5.4.3 CAN总线的帧类型126
5.4.4帧格式中各场的作用与实现129
5.5 CAN总线仲裁过程和优先级的决定131
5.5.1 CAN总线的仲裁过程131
5.5.2位仲裁132
5.5.3数据帧和远程帧的优先级132
5.5.4标准格式和扩展格式的优先级133
5.6报文重发与位填充134
5.6.1报文重发134
5.6.2位填充134
5.6.3发送节点的工作135
5.6.4接收节点的工作135
5.7错误帧的种类和错误处理
135
5.7.1位错误136
5.7.2格式错误136
5.7.3错误帧的输出136
5.7.4错误处理机制137
5.8位定时与同步138
5.8.1位定时138
5.8.2位同步140
5.9 CAN组网142
本章小结144
思考题146
第6章CAN总线控制器和驱动器介绍147
6.1 CAN协议控制器SJA1000的特点和功能148
6.1.1 SJA1000与PCA82C200具体区别148
6.1.2 SJA1000主要新增的功能149
6.2 SJA1000的基本结构150
6.2.1 SJA1000内部功能模块说明151
6.2.2 SJA1000引脚功能和工作模式152
6.3 SJA1000的BasicCAN模式153
6.3.1 BasicCAN模式下的地址分配153
6.3.2 BasicCAN模式下复位时各寄存器的值155
6.3.3 BasicCAN模式下的寄存器介绍157
6.4 SJA1000的PeliCAN模式169
6.4.1 PeliCAN地址列表169
6.4.2 PeliCAN模式寄存器复位值171
6.4.3 PeliCAN模式下的寄存器介绍174
6.4.4接收缓冲器188
6.4.5接收过滤器190
6.4.6 RX报文计数器(RMC)193
6.4.7 RX缓冲器起始地址寄存器(RBSA)194
6.5 CAN收发器PCA82C250/82C251194
6.5.1 PCA82C250的主要特性194
6.5.2 PCA82C250的硬件结构195
6.5.3 PCA82C250的功能描述196
本章小结197
思考题198
第7章CAN总线智能节点的设计199
7.1 CAN网络节点结构和SJA1000的应用结构图199
7.2 CAN节点硬件系统设计200
7.2.1 SJA1000与单片机的连接200
7.2.2 SJA1000与PCA82C250的接口201
7.2.3 PCA82C250外围电路202
7.2.4电源电路202
7.3控制SJA1000的基本功能和寄存器202
7.3.1控制SJA1000的基本功能和寄存器202
7.3.2发送缓冲器和接收缓冲器203
7.4 SJA1000的验收滤波器原理和应用204
7.4.1单滤波204
7.4.2双滤波205
7.4.3验收滤波器程序的设计206
7.5 CAN控制器中位定时参数设置的一般方法210
7.6 CAN通信协议的制定212
7.6.1信息标识符分配方案212
7.6.2应用层信息帧格式216
7.6.3数据交换方法217
7.7 CAN智能节点软件系统设计220
7.7.1 CAN智能节点的软件结构220
7.7.2建立CAN通信的步骤和流程220
7.7.3 CAN初始化程序的设计方法221
7.7.4 CAN接收程序设计方法223
7.7.5 CAN发送程序设计方法226
本章小结236
思考题237
第8章CAN总线节点的自发自收程序设计实例238
8.1 CAN总线节点自发自收的硬件电路连接238
8.1.1 CAN控制器的全局自检测和局部自检测238
8.1.2 CAN总线节点自发自收的硬件电路239
8.2 CAN总线节点的硬件电路的调试方法239
8.3实验内容和步骤240
8.4 CAN自发自收程序设计245
8.4.1头文件的编写245
8.4.2程序文件的编写248
本章小结256
思考题256
第9章 两节点CAN总线通信设计实例257
9.1两节点CAN总线的简单通信设计257
9.1.1两节点CAN总线硬件电路设计257
9.1.2两节点CAN总线简单通信的软件设计257
9.1.3两节点CAN总线简单通信的调试260
9.1.4两节点CAN总线通信程序261
9.2主从式点对点的CAN通信278
9.2.1主从式CAN通信的硬件电路设计278
9.2.2主从式CAN通信的软件设计279
9.2.3主从式CAN通信的调试281
9.2.4主从式CAN通信的程序清单282
9.3传送温度信号的CAN总线通信设计291
9.3.1传送温度信号的CAN总线通信硬件电路设计291
9.3.2传递温度信号的CAN总线通信软件设计295
9.3.3传送温度信号的CAN总线通信调试296
9.3.4传送温度信号的CAN通信程序297
本章小结324
思考题324
第10章 多节点CAN总线通信设计实例325
10.1基于CAN总线的LED照明控制系统结构325
10.2 CAN总线的LED照明控制系统的硬件设计326
10.2.1主节点键盘设计326
10.2.2主节点显示设计327
10.2.3从节点LED照明驱动设计327
10.3 CAN总线的LED照明控制系统的软件设计329
10.3.1 CAN总线的LED照明控制系统的通信协议329
10.3.2主节点软件结构329
10.3.3基于CAN总线的LED照明控制系统程序330
本章小结357
思考题357
参考文献358