-------------------------------------------
教程简介:
51单片机凭借简单的架构和成熟的生态系统,是嵌入式开发入门学习的理想选择。通过学习51单片机,可以轻松掌握微控制器的核心概念,理解嵌入式系统的基本原理,并熟悉软硬件协同工作的方式,为后续学习奠定坚实的基础!
本套教程涵盖51单片机各大核心模块:通用输入输出端口、中断系统、定时器、串口通信等,这些概念在更高级的微控制器,如STM32中都是通用的,因此学完51单片机,能够更快地上手这些更复杂的微控制器。
教程采用案例式教学,案例驱动讲解如数码管、LED点阵、按键、蜂鸣器、OLED屏幕等,逐行手敲代码,通过案例将理论与实践相结合,让初学者更加深入地理解单片机中的核心概念。还是尚硅谷一贯的风格:保姆式讲解,败家式赠送。除了视频,配套的资料:代码、笔记、软件,一个都不能少,一站式服务,全部打包带走,学习无忧!
-------------------------------------------
教程目录:
001.教程简介
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-软件设计-最终效果