第1章 单片机与嵌入式技术概述 1
1.1嵌入式系统概述 1
1.1.1嵌入式系统的定义 1
1.1.2嵌入式系统的特点 2
1.1.3嵌入式系统的组成 3
1.1.4嵌入式操作系统 5
1.2嵌入式系统的发展与应用 6
1.2.1单片机与嵌入式 6
1.2.2微处理器的基本特点 7
1.2.3微处理器的三个应用时代 8
1.2.4从单片机到嵌入式系统 8
1.2.5从嵌入式系统到物联网 8
1.2.6嵌入式系统的应用 9
1.3小结 10
1.4思考与拓展 10
第2章 MCS-51和CC2530微处理器系统 11
2.1 MCS-51和CC2530微处理器 11
2.1.1 MCS-51微处理器 11
2.1.2 CC2530微处理器 14
2.1.3 CC2530开发平台 20
2.1.4 CC2530开发环境 24
2.1.5安装开发环境 26
2.1.6小结 27
2.1.7思考与拓展 27
2.2项目开发基本调试 27
2.2.1 IAR for 8051开发环境 28
2.2.2 IAR for 8051程序调试 30
2.2.3开发实践:实现一个工程项目 36
2.2.4小结 38
2.2.5思考与拓展 38
第3章 CC2530接口技术开发 39
3.1 CC2530 GPIO应用开发 39
3.1.1微处理器GPIO 39
3.1.2 CC2530与GPIO 40
3.1.3开发实践:智能手机信号灯控制 43
3.1.4小结 47
3.1.5思考与拓展 47
3.2 CC2530外部中断应用开发 47
3.2.1微处理器的中断 48
3.2.2开发实践:电梯楼层按键检测设计 54
3.2.3小结 58
3.2.4思考与拓展 58
3.3 CC2530定时器应用开发 58
3.3.1定时器 59
3.3.2 CC2530定时器 60
3.3.3开发实践:脉冲发生器设计 65
3.3.4小结 69
3.3.5思考与拓展 69
3.4 CC2530 ADC应用开发 69
3.4.1 A/D转换 69
3.4.2 CC2530与A/D转换 71
3.4.3开发实践:电子秤设计 75
3.4.4小结 78
3.4.5思考与拓展 78
3.5 CC2530电源管理应用开发 78
3.5.1嵌入式系统的电源管理 79
3.5.2 CC2530的电源管理 81
3.5.3开发实践:低功耗智能手环设计 84
3.5.4小结 90
3.5.5思考与拓展 90
3.6 CC2530看门狗应用开发 91
3.6.1看门狗 91
3.6.2开发实践:车辆控制器复位重启设计 94
3.6.3小结 98
3.6.4思考与拓展 98
3.7 CC2530串口通信技术应用开发 98
3.7.1串口 98
3.7.2 CC2530串口 102
3.7.3开发实践:智能工厂的设备交互系统设计 108
3.7.4小结 112
3.7.5思考与拓展 113
3.8 CC2530 DMA通信技术应用开发 113
3.8.1 DMA 113
3.8.2 CC2530与DMA 118
3.8.3 CC2530的DMA配置 124
3.8.4开发实践:设备间高速数据传送 126
3.8.5小结 130
3.8.6 思考与拓展 130
3.9综合应用开发:计算机CPU温度调节系统设计与实现 130
3.9.1理论回顾 130
3.9.2开发实践:计算机CPU温度调节系统 133
3.9.3小结 148
3.9.4思考与拓展 148
第4章 嵌入式系统 149
4.1 ARM嵌入式开发平台 149
4.1.1嵌入式ARM 150
4.1.2嵌入式ARM的组成及结构 153
4.1.3 STM32系列处理器 154
4.1.4 STM32开发平台 156
4.1.5小结 158
4.1.6思考与拓展 158
4.2工程创建与调试 158
4.2.1 IAR for ARM开发环境 158
4.2.2 STM32标准函数库 160
4.2.3 IAR开发环境的使用 173
4.2.4 IAR程序的开发及在线调试 174
4.2.5开发实践:实现一个工程项目 182
4.2.6 小结 183
4.2.7思考与拓展 183
第5章 STM32嵌入式接口开发技术 184
5.1 STM32的GPIO应用开发 184
5.1.1 GPIO工作模式 184
5.1.2 STM32的GPIO 185
5.1.3 STM32 GPIO寄存器 190
5.1.4开发实践:车辆指示灯控制设计 196
5.1.5小结 202
5.1.6思考与拓展 202
5.2 STM32外部中断应用开发 202
5.2.1中断的基本概念与定义 203
5.2.2 STM32中断应用概述 203
5.2.3 STM32的外部中断机制 208
5.2.4开发实践:按键抢答器设计 213
5.2.5小结 216
5.2.6思考与拓展 217
5.3 STM32定时器应用开发 217
5.3.1定时器基本原理 217
5.3.2 STM32定时器 217
5.3.3开发实践:电子时钟设计 226
5.3.4小结 229
5.3.5思考与拓展 230
5.4 STM32的A/D转换应用开发 230
5.4.1 A/D转换 230
5.4.2 STM32的A/D转换器 231
5.4.3开发实践:充电宝电压指示器设计 240
5.4.4小结 245
5.4.5思考与拓展 245
5.5 STM32电源管理技术应用开发 245
5.5.1嵌入式电源管理 245
5.5.2 STM32电源管理技术 246
5.5.3电源管理库函数的使用 250
5.5.4电源管理配置 250
5.5.5开发实践:无线鼠标节能设计 252
5.5.6小结 255
5.5.7思考与拓展 255
5.6 STM32看门狗应用开发 255
5.6.1看门狗基本原理 256
5.6.2 STM32看门狗 256
5.6.3 STM32看门狗库函数的使用 261
5.6.4开发实践:基站监测设备自复位设计 264
5.6.5小结 267
5.6.6思考与拓展 267
5.7 STM32串口通信技术应用开发 268
5.7.1串口 268
5.7.2 STM32的USART 269
5.7.3 STM32串口库函数 277
5.7.4开发实践:工业串口服务器设计 278
5.7.5小结 282
5.7.6 思考与拓展 283
5.8 STM32 DMA应用开发 283
5.8.1 DMA 283
5.8.2 STM32 DMA介绍 284
5.8.3 STM32 DMA库函数使用 292
5.8.4开发实践:系统数据高速传输设计 296
5.8.5小结 301
5.8.6思考与拓展 301
5.9综合应用开发:充电桩管理系统设计与实现 301
5.9.1理论回顾 301
5.9.2开发实践:充电桩管理系统 305
5.9.3小结 325
5.9.4思考与拓展 325
第6章 嵌入式高级接口开发技术 326
6.1 STM32 LCD技术应用开发 326
6.1.1显示器 326
6.1.2 STM32 FSMC接口技术 328
6.1.3 STM32 FSMC库函数 336
6.1.4 ILI93xx LCD原理 338
6.1.5开发实践:可视对讲屏幕驱动设计 342
6.1.6小结 357
6.1.7思考与拓展 357
6.2 STM32I2C通信技术应用开发 357
6.2.1 I2C总线 357
6.2.2 STM32的I2C原理 361
6.2.3 STM32I2C库函数的使用 366
6.2.4温湿度传感器 367
6.2.5开发实践:档案库房环境监控系统设计 371
6.2.6小结 381
6.2.7思考与拓展 381
6.3 STM32 SPI通信技术应用开发 381
6.3.1 SPI协议 381
6.3.2 Flash 392
6.3.3开发实践:高速动态数据存取设计 398
6.3.4小结 409
6.3.5思考与拓展 409
6.4综合应用开发:智能防盗门锁设计与实现 410
6.4.1理论回顾 410
6.4.2开发实践:智能防盗门锁 412
6.4.3小结 430
6.4.4思考与拓展 431
参考文献 432