第1章 51单片机学习路线 001
1.1 单片机学习环境搭建 001
1.1.1 编程软件KeilC 001
1.1.2 程序下载软件STC-ISP 003
1.1.3 STC8单片机学习板 006
1.1.4 个测试程序 006
1.2 单片机基本知识 014
1.2.1 C语言基本概念 014
1.2.2 单片机硬件基本原理 016
1.2.3 软、硬件接口-特殊功能寄存器 019
1.3 单片机学习进阶 022
1.3.1 单片机学习的几个阶段 022
1.3.2 单片机项目开发流程 023
第2章 51单片机C语言编程 024
2.1 编程基础 024
2.1.1 数的进制 024
2.1.2 常量和变量 025
2.1.3 数据的基本类型 027
2.1.4 数据的构造类型 028
2.1.5 运算符 031
2.1.6 条件语句 034
2.1.7 开关语句 035
2.1.8 循环语句 035
2.1.9 注释语句 037
2.2 KeilC软件应用 037
2.2.1 基本C程序结构 037
2.2.2 复杂C程序结构 040
2.2.3 Keil C51常用函数库 041
2.2.4 程序调试 045
2.3 常用算法 046
2.3.1 通信数据校验 046
2.3.2 频谱分析FFT 048
2.3.3 自动控制PID 050
第3章 STC8单片机硬件结构 052
3.1 时钟 052
3.1.1 时钟控制 052
3.1.2 系统复位 054
3.1.3 看门狗复位 054
3.1.4 省电模式 055
3.2 中断 057
3.2.1 中断基础知识 057
3.2.2 STC8系列单片机中断列表 058
3.2.3 中断相关寄存器 059
3.3 存储器 062
3.3.1 程序存储器 062
3.3.2 数据存储器 062
3.3.3 EEPROM 063
3.4 I/O口 065
3.4.1 I/O口结构 065
3.4.2 I/O口模式配置 067
3.4.3 流水灯控制实例 067
3.5 定时器/计数器 069
3.5.1 定时器/计数器工作模式 069
3.5.2 定时器相关寄存器配置 071
3.5.3 LED数码管驱动示例 074
3.6 比较器 077
3.6.1 比较器功能说明 077
3.6.2 比较器相关寄存器配置 077
3.6.3 比较器中断功能测试 078
3.7 ADC模数转换 080
3.7.1 A/D转换器 080
3.7.2 ADC相关寄存器配置 081
3.7.3 直流电压测量示例 082
3.8 PWM定时器 084
3.8.1 PWM功能简介 084
3.8.2 用PWM实现16位DAC(数模转换) 084
第4章 51单片机通信接口 087
4.1 串口通信 087
4.1.1 串口通信基本原理 087
4.1.2 串口相关寄存器配置 088
4.1.3 串口通信示例 090
4.2 I2C通信 093
4.2.1 I2C通信基本原理 093
4.2.2 I2C总线相关寄存器配置 093
4.2.3 LM75A测温实例 096
4.3 SPI通信 102
4.3.1 SPI通信基本原理 102
4.3.2 SPI相关寄存器配置 104
4.3.3 K型热电偶测温实例 104
第5章 单片机硬件接口扩展和外部存储扩展 110
5.1 开关量输入/输出 110
5.1.1 开关量输入 110
5.1.2 开关量输出 114
5.1.3 开关量数量扩展 116
5.2 模拟量输入/输出 119
5.2.1 模拟量输入转换 119
5.2.2 外接AD转换电路 122
5.2.3 外接DA转换电路 124
5.2.4 电子秤电路应用实例 127
5.3 PWM功能应用 129
5.3.1 转速测量 129
5.3.2 DC 4~20mA信号输出调试工具 131
5.4 数据存储 141
5.4.1 TF卡 141
5.4.2 U盘 149
第6章 单片机与功能模块配合应用 154
6.1 串口接口模块 154
6.1.1 NFC模块PN532 154
6.1.2 GPS模块ATGM336H 158
6.1.3 红外体温计模块GY-614V 161
6.1.4 红外点阵测温MLX90640模块 163
6.2 其他接口模块 170
6.2.1 加速度传感器MMA7361 170
6.2.2 铂电阻测温MAX31865 171
6.2.3 超声波测距模块JSN-SR04T 176
第7章 以太网通信 178
7.1 W5500网络通信 178
7.1.1 W5500简介 178
7.1.2 W5500驱动程序 180
7.1.3 TCP-Server通信测试 188
7.1.4 TCP-Client通信测试 191
7.1.5 UDP通信测试 192
7.2 DM9000A网络通信 195
7.2.1 DM9000A简介 195
7.2.2 DM9000A驱动程序 200
7.2.3 以太网帧格式 203
7.2.4 软件TCP/IP协议栈 206
7.2.5 网络通信编程 213
第8章 无线通信 218
8.1 蓝牙遥控实例 218
8.1.1 电路设计 218
8.1.2 单片机编程 219
8.1.3 手机编程 221
8.2 WiFi遥控实例 229
8.2.1 电路设计 229
8.2.2 单片机编程 230
8.2.3 手机编程 231
8.3 GPRS遥控实例 234
8.3.1 电路设计 234
8.3.2 单片机编程 235
8.3.3 手机遥控 237
8.4 无线通信网络简介 238
8.4.1 无线通信网络应用 238
8.4.2 长距离无线通信LoRa 238
8.4.3 窄带物联网NB-IoT 239
第9章 电子爱好者工具DIY实例 241
9.1 可调直流稳压电源和白光烙铁控制器 241
9.1.1 电路设计 241
9.1.2 人机接口—串口触摸屏 243
9.1.3 单片机编程 245
9.2 USB接口虚拟万用表 250
9.2.1 电路设计 250
9.2.2 单片机C51编程 252
9.2.3 Android手机编程 260
参考文献 268