第1章 最新8051单片机和无线收发芯片1.1 最新8051单片机简介 1
1.1.1 传统8051单片机 2
1.1.2 单片机的发展之路 4
1.1.3 最新单片机C8051F31X 9
1.2 无线收发芯片简介 13
1.2.1 CC1100无线收发芯片 13
1.2.2 nRF905无线收发芯片 15
1.2.3 nRF2401无线收发芯片 17
第2章 建立自己的最新单片机开发平台2.1 硬件平台选择 20
2.1.1 开发平台选择 20
2.1.2 C51RF-3100教学系统简介 22
2.1.3 其他主流无线单片机开发系统系列介绍 23
2.2 软件开发环境选择 26
2.2.1 软件开发前的准备 26
2.2.2 Keil C51开发环境简介 26
2.2.3 Keil C51安装 28
2.2.4 uVision2集成开发环境 32
2.2.5 创建第一个Keil C51应用程序 38
2.3 组建自己的单片机教学开发平台 44
第3章 C51语言 46
3.1 标识符与关键字 46
3.2 C51程序设计的基本语法 47
3.2.1 数据类型 47
3.2.2 常量与变量 49
3.2.3 运算符与表达式 49
3.2.4 基本语句 51
3.3 函数 53
3.4 数组 57
3.5 指针 58
3.6 结构 60
3.7 C51语言的应用 61
第4章 最新8051单片机C8051F31X4.1 最新单片机C8051F31X概述 63
4.2 C51指令完全兼容的CIP-51微控制器 64
4.2.1 CIP-51微控制器 64
4.2.2 指令系统 66
4.2.3 存储结构 68
4.2.4 复位与电源管理 72
4.3 C8051F31X数字I/O端口 77
4.3.1 I/O介绍 77
4.3.2 I/O初始化 88
4.3.3 I/O教学实验 89
4.4 C8051F31X中断系统 91
4.4.1 中断源和中断向量 92
4.4.2 中断优先级 94
4.4.3 中断响应时间 94
4.4.4 中断寄存器 94
4.4.5 外部中断 100
4.4.6 中断撤除 100
4.4.7 I/O与中断综合实验:外部中断 101
4.5 C8051F31X定时器/计数器 103
4.5.1 定时器/计数器的工作原理 104
4.5.2 定时器/计数器0、1介绍 105
4.5.3 定时器/计数器2介绍 112
4.5.4 定时器/计数器3介绍 115
4.5.5 可编程计数器阵列 119
4.5.6 定时器/计数器实验 122
4.5.7 I/O与定时器/计数器综合实验:BEEP 125
4.6 C8051F31X时钟管理 127
4.6.1 微控制器(CPU)时序以及相关概念 128
4.6.2 可编程内部振荡器 129
4.6.3 外部振荡器驱动电路 130
4.6.4 系统时钟选择 132
4.6.5 外部示例 132
4.6.6 RTC时钟实验 133
4.7 C8051F31X串行通信 147
4.7.1 串行通信基础 148
4.7.2 C8051F31X串口UART0 150
4.7.3 增强的波特率发生器 150
4.7.4 串行通信工作方式 152
4.7.5 UART多机通信 154
4.7.6 UART寄存器以及相关设置 155
4.7.7 波特率设置 156
4.7.8 UART0实验 159
4.8 C8051F31X的模/数(A/D)转换 162
4.8.1 模/数转换概论 162
4.8.2 C8051F31X的模/数转换器 163
4.8.3 工作方式 165
4.8.4 模拟多路选择器 167
4.8.5 可编程窗口检测器 168
4.8.6 寄存器 171
4.8.7 模/数转换实验:A/D 178
第5章 无线通信起步 182
5.1 无线通信基础 182
5.1.1 无线通信的概念 182
5.1.2 无线通信与有线通信的区别 183
5.1.3 影响无线通信的因素 184
5.2 无线通信的实现 186
5.2.1 无线射频芯片介绍 186
5.2.2 利用单片机+射频芯片实现无线通信 188
5.2.3 CPU控制无线模块收发的方法 190
5.2.4 无线射频芯片通信配置 194
5.3 无线平台的建立 213
5.3.1 无线平台的选择 213
5.3.2 组建自己的无线开发平台 214
第6章 学习无线数据通信 216
6.1 认识无线节点模块 216
6.2 数据包装 217
6.3 如何保证数据通信的准确性 218
6.4 理解全双工/半双工无线通信 219
6.4.1 全双工方式 219
6.4.2 半双工方式 220
6.5 实例:遥控远方的LED闪烁 220
6.5.1 LED原理 220
6.5.2 遥控LED实验 221
第7章 无线数字显示和数据传输7.1 了解无线数字显示器 231
7.2 了解主机和无线节点的电路设计 232
7.3 主机和节点无线交换数据的C51源代码 232
7.4 无线遥控音乐源代码解剖 235
7.5 综合应用 245
7.5.1 无线家庭 245
7.5.2 控制灯开关 246
7.5.3 无线音乐门铃 246
第8章 实战设计无线自动水表读表系统8.1 无线抄表的概念和系统组成 247
8.2 设计无线水表抄表终端 248
8.2.1 无线部分 248
8.2.2 抄表终端整体设计 248
8.3 设计无线水表 250
8.4 典型无线演示系统C51源代码分析 251
8.4.1 无线抄表终端 251
8.4.2 无线水表 258
第9章 实战设计简单无线传感器网络系统9.1 无线传感器的基本概念 262
9.2 构建一个简单的无线传感器网络 263
9.3 避免无线数据包装传输冲突的技术关键 263
9.4 无线网络的硬件组成 265
9.4.1 中心模块 265
9.4.2 采集模块 265
9.5 无线温度传感器网络的C51源代码 266
9.5.1 中心模块的流程图 266
9.5.2 中心模块的源代码 267
9.5.3 采集模块的流程图 276
9.5.4 采集模块源代码 277
第10章 实战井下无线实时定位系统10.1 井下无线实时定位系统概述 281
10.2 井下无线实时定位系统原理 282
10.3 无线定位节点的设计技术(无线模块) 283
10.3.1 中心模块 283
10.3.2 节点模块 283
10.4 无线定位监视系统(S3100) 284
10.5 具有无线唤醒功能和无线节点低功耗设计 284
10.6 井下无线实时定位系统的C51源代码分析 288
10.6.1 主机流程图 288
10.6.2 主机源程序 288
10.6.3 节点流程图 294
10.6.4 节点源程序 295
附录A C1编译器的扩展关键字 300
附录B C51库函数 302
附录C CIP-51指令一览表 303
参考文献 307