- 002-51单片机-简介
- 003-51单片机-引脚功能
- 004-51单片机-最小系统
- 005-开发环境-硬件
- 006-开发环境-软件-概述
- 007-开发环境-软件-Keil安装
- 008-开发环境-软件-Keil激活
- 009-开发环境-软件-ISP
- 010-快速入门-编码&编译
- 011-快速入门-烧录
- 012-快速入门-案例解读
- 013-LED案例-闪烁
- 014-LED案例-闪烁-延时函数
- 015-LED案例-6T模式
- 016-LED案例-流水灯-需求说明
- 017-LED案例-流水灯-编码实现
- 018-VSCode环境-EIDE-安装
- 019-VSCode环境-EIDE-创建项目
- 020-VSCode环境-EIDE-编译项目
- 021-VSCode环境-EIDE-烧录项目
- 022-VSCode环境-EIDE-烧录项目问题说明
- 023-数码管-概述
- 024-数码管-静态显示-需求说明
- 025-数码管-静态显示-硬件设计-初步设计
- 026-数码管-静态显示-硬件设计-138译码器
- 027-数码管-静态显示-硬件设计-单片机引脚内部结构
- 028-数码管-静态显示-硬件设计-245驱动器
- 029-数码管-静态显示-硬件设计-完整原理图
- 030-数码管-静态显示-软件设计-思路分析
- 031-数码管-静态显示-软件设计-提示
- 032-数码管-静态显示-软件设计-编码实现
- 033-C89变量声明语法说明
- 034-数码管-动态显示-软件设计-思路分析
- 035-数码管-动态显示-软件设计-编码实现
- 036-模块化编程-规范说明
- 037-模块化编程-数码管改造
- 038-模块化编程-EIDE模版
- 039-模块化编程-header代码模版
- 040-独立按键-概述
- 041-独立按键-硬件设计
- 042-独立按键-软件设计-方案一
- 043-独立按键-软件设计-方案二
- 044-独立按键-软件设计-方案二-问题分析
- 045-独立按键-软件设计-方案三
- 046-独立按键-软件设计-规范化
- 047-矩阵按键-硬件设计
- 048-矩阵按键-引脚工作模式
- 049-矩阵按键-需求说明
- 050-矩阵按键-按键检测
- 051-矩阵按键-数码管显示
- 052-矩阵按键-数码管显示-亮度问题说明
- 053-矩阵按键-数码管显示-按键阻塞问题
- 054-矩阵按键-数码管显示-循环检测按键
- 055-蜂鸣器-概述
- 056-蜂鸣器-仿真
- 057-蜂鸣器-电感工作原理
- 058-蜂鸣器-瞬时高压产生原理
- 059-蜂鸣器-编码实现
- 060-中断系统-概述
- 061-中断系统-中断源
- 062-中断系统-中断服务程序
- 063-中断系统-中断优先级
- 064-中断系统-外部中断-硬件设计
- 065-中断系统-外部中断-使用说明
- 066-中断系统-外部中断-编码实现
- 067-定时器-概述
- 068-定时器-使用说明-设置工作方式
- 069-定时器-使用说明-设置脉冲计数器工作方式
- 070-定时器-使用说明-设置脉冲计数器工作方式-补充
- 071-定时器-使用说明-设置脉冲计数器初始值
- 072-定时器-使用说明-启动定时器
- 073-定时器-使用说明-中断服务程序
- 074-定时器-LED闪烁-实现思路
- 075-定时器-LED闪烁-编码实现
- 076-定时器-当前代码痛点
- 077-定时器-封装-思路分析
- 078-定时器-封装-编码-上
- 079-定时器-封装-编码-下
- 080-定时器-封装-使用说明
- 081-点阵LED-概述
- 082-点阵LED-静态显示-硬件设计-概述
- 083-点阵LED-静态显示-硬件设计-595工作原理
- 084-点阵LED-静态显示-软件设计-思路分析
- 085-点阵LED-静态显示-软件设计-方法定义
- 086-点阵LED-静态显示-软件设计-编码实现
- 087-点阵LED-静态显示-软件设计-定时器扫描
- 088-点阵LED-滚动显示-实现思路
- 089-点阵LED-滚动显示-编码实现
- 090-UART通信-基础概念
- 091-UART通信-基本定义
- 092-UART通信-通信协议-数据格式
- 093-UART通信-通信协议-双方约定
- 094-51单片机串口-概述
- 095-51单片机串口方式1-波特率-概述
- 096-51单片机串口方式1-波特率-定时器1-初始化配置
- 097-51单片机串口方式1-波特率-定时器1-初始值
- 098-51单片机串口方式1-发送数据-概述
- 099-51单片机串口方式1-接收数据-概述
- 100-51单片机串口方式1-中断说明
- 101-串口通信需求-硬件设计
- 102-串口通信需求-单字节命令-思路分析
- 103-串口通信需求-单字节命令-编码-初始化
- 104-串口通信需求-单字节命令-编码-接收数据
- 105-串口通信需求-单字节命令-编码-发送数据
- 106-串口通信需求-单字节命令-编码-中断冲突说明
- 107-串口通信需求-单字节命令-编码-中断冲突解决
- 108-串口通信需求-多字节命令-思路分析
- 109-串口通信需求-多字节命令-编码实现
- 110-IIC通信-概述
- 111-IIC通信-信号线
- 112-IIC通信-主从架构
- 113-IIC通信-空闲状态&起始&结束信号
- 114-IIC通信-确认信号
- 115-IIC通信-从机地址&读写标识
- 116-IIC通信-完整通信流程
- 117-IIC通信-基础驱动分析
- 118-IIC通信-基础驱动-起始信号
- 119-IIC通信-基础驱动-发送一个字节
- 120-IIC通信-基础驱动-接收确认信号
- 121-IIC通信-基础驱动-接收一个字节
- 122-IIC通信-基础驱动-发送确认信号
- 123-IIC通信-基础驱动-发送结束信号
- 124-EEPROM-概述
- 125-EEPROM-引脚说明
- 126-EEPROM-内存组织结构
- 127-EEPROM-写操作-ByteWrite
- 128-EEPROM-写操作-PageWrite
- 129-EEPROM-读操作-上
- 130-EEPROM-读操作-下
- 131-EEPROM-项目准备
- 132-EEPROM-函数定义
- 133-EEPROM-编码-写多个字节-上
- 134-EEPROM-编码-写多个字节-中
- 135-EEPROM-编码-写多个字节-下
- 136-EEPROM-编码-读多个字节
- 137-EEPROM-编码-测试
- 138-逻辑分析仪-使用说明
- 139-EEPROM-编码-写多个字节-循环写法
- 140-OLED屏幕-概述
- 141-OLED屏幕-驱动芯片SSD1315-概述
- 142-OLED屏幕-驱动芯片SSD1315-IIC接口
- 143-OLED屏幕-驱动芯片SSD1315-GDDRAM-组织结构
- 144-OLED屏幕-驱动芯片SSD1315-GDDRAM-寻址方式选择
- 145-OLED屏幕-驱动芯片SSD1315-GDDRAM-寻址方式-介绍
- 146-OLED屏幕-驱动芯片SSD1315-GDDRAM-显存和屏幕的映射关系
- 147-OLED屏幕-硬件原理图
- 148-OLED屏幕-软件实现-基础函数
- 149-OLED屏幕-软件实现-点亮屏幕
- 150-OLED屏幕-软件实现-清屏
- 151-OLED屏幕-软件实现-简单符号显示
- 152-OLED屏幕-软件实现-字模制作
- 153-OLED屏幕-软件实现-字模测试
- 154-OLED屏幕-软件实现-显示位置
- 155-OLED屏幕-软件实现-显示位置-测试
- 156-OLED屏幕-软件实现-完整编码
- 157-OLED屏幕-软件实现-清屏优化
- 158-OLED屏幕-展示数字-方案一
- 159-OLED屏幕-展示数字-方案二
- 160-18B20-概述
- 161-18B20-1Wire-通信协议-概述
- 162-18B20-1Wire-通信协议-初始化
- 163-18B20-1Wire-通信协议-写操作
- 164-18B20-1Wire-通信协议-读操作
- 165-18B20-通信流程
- 166-18B20-硬件设计
- 167-18B20-软件设计-初始化
- 168-18B20-软件设计-写字节
- 169-18B20-软件设计-读字节
- 170-18B20-软件设计-测试
- 171-DS1302-概述
- 172-DS1302-使用说明
- 173-DS1302写操作
- 174-DS1302-读操作
- 175-DS1302-寄存器说明
- 176-DS1302-硬件设计
- 177-DS1302-软件设计-项目创建
- 178-DS1302-软件设计-写字节
- 179-DS1302-软件设计-读字节
- 180-DS1302-软件设计-设置日期
- 181-DS1302-软件设计-获取日期-上
- 182-DS1302-软件设计-获取日期-下
- 183-DS1302-软件设计-测试
- 184-DS1302-软件设计-最终效果
一、课程体系分阶段
基础篇
单片机基础知识:51单片机硬件结构(CPU、存储器、I/O端口)16、引脚功能及最小系统搭建6。
开发环境搭建:Keil5 C51软件安装与项目创建26、STC-ISP程序烧录工具使用26。
基础实验:LED闪烁与流水灯控制26、数码管静态显示6,通过代码逐行解析掌握C语言语法与位操作78。
进阶篇
核心功能模块:
中断系统(外部中断、定时器中断)48、定时器/计数器配置(PWM生成、精准计时)47。
串口通信(UART协议)34、I2C总线通信与SPI协议7。
外设驱动:LCD液晶屏显示7、步进电机控制3、ADC/DAC转换78。
实战篇
综合项目开发:
电子钟(结合定时器与数码管)68、循迹避障小车(集成传感器与电机驱动)36。
智能温控系统(通过ADC读取温度传感器数据)7、多机通信系统8。
二、推荐学习资源
视频教程:
尚硅谷《51单片机入门到高手》系列(硬件设计、代码调试全流程演示)6。
江协科技51单片机教程(配套课件与代码注释)12。
书籍:
《新概念51单片机C语言教程》:分入门、提高、开发、拓展四阶段,含实验代码与视频讲解5。
《51单片机C语言编程从入门到精通》:逐行代码解析与硬件电路设计案例7。
三、学习建议
硬件准备:普中/STC开发板26、常用模块(LED、数码管、传感器等)38。
技能衔接:掌握数字电路基础(逻辑门、寄存器)1、熟练C语言指针与内存管理47。
实践方法:从“点灯”到复杂项目逐步迭代,结合数据手册调试硬件28。
