第1章 认识增强型8051系列单片机 1
1.1 STC15单片机指令系统 1
1.2 内置时钟、复位电路、软件复位 3
1.3 可配置I/O 4
1.4 A/D转换器 5
1.5 多组高速UART通信串口 5
1.6 多路CCP/PCA/PWM 6
1.7 大容量片内数据存储器(SRAM) 6
1.8 丰富的中断请求源 6
1.9 EEPROM功能 7
1.10 STC15系列单片机学习思路 7
第2章 C语言编程技巧 9
2.1 语句短小不代表高效 10
2.1.1 i=i+1和i++ 10
2.1.2 i++和++i 11
2.2 指针 18
2.2.1 指针与变量 18
2.2.2 指针作用 22
2.2.3 指针变量结构 27
2.2.4 指针意义 30
总结 32
第3章 单片机中断系统 33
3.1 概念 33
3.1.1 中断概念 33
3.1.2 单片机系统的中断概念 35
3.2 8051单片机中断相关寄存器 35
3.2.1 中断允许寄存器IE 35
3.2.2 中断优先级 37
3.3 定时器中断 40
3.3.1 定时器相关寄存器 40
3.3.2 定时器中断模式与初始化 43
3.4 外部中断 48
3.4.1 外部中断触发方式 48
3.4.2 外部中断与扫描式按键区别 50
3.5 UART串口中断 55
3.5.1 串口波特率及初始化 55
3.5.2 串口收发示例程序 57
3.6 中断过程中的数据存储 60
第4章 无驱动多位数码管控制 64
4.1 硬件制作 64
4.2 硬件原理 69
4.2.1 单片机I/O口的电气特性 69
4.2.2 传统三极管驱动的数码管显示电路 69
4.2.3 无驱动点亮数码管原理 72
4.2.4 单片机I/O配置 72
4.3 程序详解 73
4.3.1 一位数码管的传统控制与动态控制 73
4.3.2 4位数码管显示 76
4.3.3 完整显示输出程序(数码管显示部分) 78
4.3.4 按键功能 82
第5章 无驱动8×8点阵控制 84
5.1 硬件制作 84
5.2 硬件原理 88
5.2.1 单组8×8点阵工作原理 88
5.2.2 传统两组8×8点阵控制方案 92
5.3 程序详解 94
5.3.1 两组8×8点阵全亮程序 94
5.3.2 点阵编码原理 96
5.3.3 数据处理与显示缓存 100
5.3.4 完整功能程序 100
第6章 迷你时钟 104
6.1 硬件制作 104
6.2 硬件原理 109
6.2.1 LCD1602液晶原理 109
6.2.2 DS1302时钟芯片 116
6.3 程序详解 122
6.3.1 程序结构 122
6.3.2 显示缓存数组Play_buf功能 123
6.3.3 LCD1602显示程序 124
6.3.4 按键程序 124
6.3.5 定时器0中断函数 125
6.3.6 闹钟部分 127
第7章 智能温控系统 128
7.1 硬件制作 128
7.2 硬件原理 132
7.2.1 继电器 132
7.2.2 温度传感器DS18B20 133
7.2.3 单片机EEPROM 137
7.3 程序详解 142
7.3.1 温度读取 142
7.3.2 温度数据处理 143
7.3.3 按键功能 144
7.3.4 数据处理 144
7.3.5 显示函数 145
7.3.6 EEPROM程序 145
7.3.7 制冷功率控制(继电器控制) 147
第8章 手势遥控车 148
8.1 硬件制作 148
8.2 硬件原理 157
8.2.1 L239D电机驱动芯片 157
8.2.2 ADXL345加速度模块 159
8.2.3 蓝牙UART串口模块 161
8.2.4 锂电池与降压模块 162
8.3 程序详解 162
8.3.1 ADXL345模块3轴数据读取 162
8.3.2 3轴数据处理 163
8.3.3 串口初始化和串口发送程序 163
8.3.4 3轴数据分析 165
8.3.5 控制指令 167
8.3.6 小车制动命令接收程序 169
8.3.7 小车控制程序 169
第9章 极光 171
9.1 硬件制作 171
9.1.1 元件材料 171
9.1.2 原理图及PCB 172
9.2 硬件原理 176
9.2.1 灯珠控制电路原理 176
9.2.2 颜色变化原理(PWM控制方案) 177
9.2.3 PWM相关寄存器 177
9.2.4 PWM初始化设置 181
9.3 程序详解 181
9.3.1 灯珠控制程序 181
9.3.2 颜色变化方案 183
9.3.3 呼吸灯模式显示原理 186
9.3.4 波浪式动画显示原理 188
9.3.5 模式切换 190
第10章 12864液晶屏频谱显示 192
10.1 硬件制作 192
10.2 硬件原理 196
10.2.1 A/D转换器 196
10.2.2 与A/D转换相关的寄存器 196
10.2.3 A/D转换电路 199
10.2.4 A/D测试程序 199
10.2.5 12864液晶屏简介 202
10.2.6 12864液晶屏时序及指令 203
10.2.7 12864液晶屏显示原理 206
10.2.8 频谱显示原理 208
10.3 程序详解 209
第11章 8×8×8光立方 211
11.1 硬件制作 211
11.2 硬件原理 220
11.2.1 光立方灯珠控制原理 220
11.2.2 UART串口 223
11.3 程序详解 226
11.3.1 内置动画显示模式 226
11.3.2 联机显示模式 230
11.3.3 模式切换 232
11.4 光立方动画设计 233
参考文献 236