- 1·001-教程简介
- 2·002-51单片机-简介
- 3·003-51单片机-引脚功能
- 4·004-51单片机-最小系统
- 5·005-开发环境-硬件
- 6·006-开发环境-软件-概述
- 7·007-开发环境-软件-Keil安装
- 8·008-开发环境-软件-Keil激活
- 9·009-开发环境-软件-ISP
- 10·010-快速入门-编码&编译
- 11·011-快速入门-烧录
- 12·012-快速入门-案例解读
- 13·013-LED案例-闪烁
- 14·014-LED案例-闪烁-延时函数
- 15·015-LED案例-6T模式
- 16·016-LED案例-流水灯-需求说明
- 17·017-LED案例-流水灯-编码实现
- 18·018-VSCode环境-EIDE-安装
- 19·019-VSCode环境-EIDE-创建项目
- 20·020-VSCode环境-EIDE-编译项目
- 21·021-VSCode环境-EIDE-烧录项目
- 22·022-VSCode环境-EIDE-烧录项目问题说明
- 23·023-数码管-概述
- 24·024-数码管-静态显示-需求说明
- 25·025-数码管-静态显示-硬件设计-初步设计
- 26·026-数码管-静态显示-硬件设计-138译码器
- 27·027-数码管-静态显示-硬件设计-单片机引脚内部结构
- 28·028-数码管-静态显示-硬件设计-245驱动器
- 29·029-数码管-静态显示-硬件设计-完整原理图
- 30·030-数码管-静态显示-软件设计-思路分析
- 31·031-数码管-静态显示-软件设计-提示
- 32·032-数码管-静态显示-软件设计-编码实现
- 33·033-C89变量声明语法说明
- 34·034-数码管-动态显示-软件设计-思路分析
- 35·035-数码管-动态显示-软件设计-编码实现
- 36·036-模块化编程-规范说明
- 37·037-模块化编程-数码管改造
- 38·038-模块化编程-EIDE模版
- 39·039-模块化编程-header代码模版
- 40·040-独立按键-概述
- 41·041-独立按键-硬件设计
- 42·042-独立按键-软件设计-方案一
- 43·043-独立按键-软件设计-方案二
- 44·044-独立按键-软件设计-方案二-问题分析
- 45·045-独立按键-软件设计-方案三
- 46·046-独立按键-软件设计-规范化
- 47·047-矩阵按键-硬件设计
- 48·048-矩阵按键-引脚工作模式
- 49·049-矩阵按键-需求说明
- 50·050-矩阵按键-按键检测
- 51·051-矩阵按键-数码管显示
- 52·052-矩阵按键-数码管显示-亮度问题说明
- 53·053-矩阵按键-数码管显示-按键阻塞问题
- 54·054-矩阵按键-数码管显示-循环检测按键
- 55·055-蜂鸣器-概述
- 56·056-蜂鸣器-仿真
- 57·057-蜂鸣器-电感工作原理
- 58·058-蜂鸣器-瞬时高压产生原理
- 59·059-蜂鸣器-编码实现
- 60·060-中断系统-概述
- 61·061-中断系统-中断源
- 62·062-中断系统-中断服务程序
- 63·063-中断系统-中断优先级
- 64·064-中断系统-外部中断-硬件设计
- 65·065-中断系统-外部中断-使用说明
- 66·066-中断系统-外部中断-编码实现
- 67·067-定时器-概述
- 68·068-定时器-使用说明-设置工作方式
- 69·069-定时器-使用说明-设置脉冲计数器工作方式
- 70·070-定时器-使用说明-设置脉冲计数器工作方式-补充
- 71·071-定时器-使用说明-设置脉冲计数器初始值
- 72·072-定时器-使用说明-启动定时器
- 73·073-定时器-使用说明-中断服务程序
- 74·074-定时器-LED闪烁-实现思路
- 75·075-定时器-LED闪烁-编码实现
- 76·076-定时器-当前代码痛点
- 77·077-定时器-封装-思路分析
- 78·078-定时器-封装-编码-上
- 79·079-定时器-封装-编码-下
- 80·080-定时器-封装-使用说明
- 81·081-点阵LED-概述
- 82·082-点阵LED-静态显示-硬件设计-概述
- 83·083-点阵LED-静态显示-硬件设计-595工作原理
- 84·084-点阵LED-静态显示-软件设计-思路分析
- 85·085-点阵LED-静态显示-软件设计-方法定义
- 86·086-点阵LED-静态显示-软件设计-编码实现
- 87·087-点阵LED-静态显示-软件设计-定时器扫描
- 88·088-点阵LED-滚动显示-实现思路
- 89·089-点阵LED-滚动显示-编码实现
- 90·090-UART通信-基础概念
- 91·091-UART通信-基本定义
- 92·092-UART通信-通信协议-数据格式
- 93·093-UART通信-通信协议-双方约定
- 94·094-51单片机串口-概述
- 95·095-51单片机串口方式1-波特率-概述
- 96·096-51单片机串口方式1-波特率-定时器1-初始化配置
- 97·097-51单片机串口方式1-波特率-定时器1-初始值
- 98·098-51单片机串口方式1-发送数据-概述
- 99·099-51单片机串口方式1-接收数据-概述
- 100·100-51单片机串口方式1-中断说明
- 101·101-串口通信需求-硬件设计
- 102·102-串口通信需求-单字节命令-思路分析
- 103·103-串口通信需求-单字节命令-编码-初始化
- 104·104-串口通信需求-单字节命令-编码-接收数据
- 105·105-串口通信需求-单字节命令-编码-发送数据
- 106·106-串口通信需求-单字节命令-编码-中断冲突说明
- 107·107-串口通信需求-单字节命令-编码-中断冲突解决
- 108·108-串口通信需求-多字节命令-思路分析
- 109·109-串口通信需求-多字节命令-编码实现
- 110·110-IIC通信-概述
- 111·111-IIC通信-信号线
- 112·112-IIC通信-主从架构
- 113·113-IIC通信-空闲状态&起始&结束信号
- 114·114-IIC通信-确认信号
- 115·115-IIC通信-从机地址&读写标识
- 116·116-IIC通信-完整通信流程
- 117·117-IIC通信-基础驱动分析
- 118·118-IIC通信-基础驱动-起始信号
- 119·119-IIC通信-基础驱动-发送一个字节
- 120·120-IIC通信-基础驱动-接收确认信号
- 121·121-IIC通信-基础驱动-接收一个字节
- 122·122-IIC通信-基础驱动-发送确认信号
- 123·123-IIC通信-基础驱动-发送结束信号
- 124·124-EEPROM-概述
- 125·125-EEPROM-引脚说明
- 126·126-EEPROM-内存组织结构
- 127·127-EEPROM-写操作-ByteWrite
- 128·128-EEPROM-写操作-PageWrite
- 129·129-EEPROM-读操作-上
- 130·130-EEPROM-读操作-下
- 131·131-EEPROM-项目准备
- 132·132-EEPROM-函数定义
- 133·133-EEPROM-编码-写多个字节-上
- 134·134-EEPROM-编码-写多个字节-中
- 135·135-EEPROM-编码-写多个字节-下
- 136·136-EEPROM-编码-读多个字节
- 137·137-EEPROM-编码-测试
- 138·138-逻辑分析仪-使用说明
- 139·139-EEPROM-编码-写多个字节-循环写法
- 140·140-OLED屏幕-概述
- 141·141-OLED屏幕-驱动芯片SSD1315-概述
- 142·142-OLED屏幕-驱动芯片SSD1315-IIC接口
- 143·143-OLED屏幕-驱动芯片SSD1315-GDDRAM-组织结构
- 144·144-OLED屏幕-驱动芯片SSD1315-GDDRAM-寻址方式选择
- 145·145-OLED屏幕-驱动芯片SSD1315-GDDRAM-寻址方式-介绍
- 146·146-OLED屏幕-驱动芯片SSD1315-GDDRAM-显存和屏幕的映射关系
- 147·147-OLED屏幕-硬件原理图
- 148·148-OLED屏幕-软件实现-基础函数
- 149·149-OLED屏幕-软件实现-点亮屏幕
- 150·150-OLED屏幕-软件实现-清屏
- 151·151-OLED屏幕-软件实现-简单符号显示
- 152·152-OLED屏幕-软件实现-字模制作
- 153·153-OLED屏幕-软件实现-字模测试
- 154·154-OLED屏幕-软件实现-显示位置
- 155·155-OLED屏幕-软件实现-显示位置-测试
- 156·156-OLED屏幕-软件实现-完整编码
- 157·157-OLED屏幕-软件实现-清屏优化
- 158·158-OLED屏幕-展示数字-方案一
- 159·159-OLED屏幕-展示数字-方案二
- 160·160-18B20-概述
- 161·161-18B20-1Wire-通信协议-概述
- 162·162-18B20-1Wire-通信协议-初始化
- 163·163-18B20-1Wire-通信协议-写操作
- 164·164-18B20-1Wire-通信协议-读操作
- 165·165-18B20-通信流程
- 166·166-18B20-硬件设计
- 167·167-18B20-软件设计-初始化
- 168·168-18B20-软件设计-写字节
- 169·169-18B20-软件设计-读字节
- 170·170-18B20-软件设计-测试
- 171·171-DS1302-概述
- 172·172-DS1302-使用说明
- 173·173-DS1302写操作
- 174·174-DS1302-读操作
- 175·175-DS1302-寄存器说明
- 176·176-DS1302-硬件设计
- 177·177-DS1302-软件设计-项目创建
- 178·178-DS1302-软件设计-写字节
- 179·179-DS1302-软件设计-读字节
- 180·180-DS1302-软件设计-设置日期
- 181·181-DS1302-软件设计-获取日期-上
- 182·182-DS1302-软件设计-获取日期-下
- 183·183-DS1302-软件设计-测试
- 184·184-DS1302-软件设计-最终效果
内容简介:本套课程《51单片机入门到高手》是专为电子工程、自动化控制、嵌入式开发等领域的初学者和进阶者量身打造的系统化学习方案。课程内容涵盖51单片机的核心模块,从基础概念到实际应用,全面覆盖通用输入输出端口、中断系统、定时器、串口通信、数码管显示、LED控制、矩阵按键、蜂鸣器驱动、IIC通信、EEPROM存储、OLED屏幕驱动、温度传感器18B20、时钟芯片DS1302等多个关键技术点,帮助学员构建扎实的单片机开发能力。 课程概述 本课程以51单片机为核心,通过理论讲解与实践操作相结合的方式,帮助学员掌握单片机开发的基础知识和实战技能。课程从最基础的硬件结构、开发环境搭建开始,逐步深入到各类外设的应用与编程实现,适合零基础学员快速上手,并为后续学习更复杂的嵌入式系统打下坚实基础。 课程总节数 本课程共包含184节详细教学视频,涵盖从入门到精通的完整学习路径,每节课均配有代码示例与项目实践,确保学员能够边学边练,巩固所学知识。 整体课程时长 全课程总时长超过30小时,内容紧凑且富有逻辑性,学员可根据自身节奏灵活安排学习时间,轻松掌握51单片机开发全流程。 学习后能力提升价值 完成本课程后,学员将具备独立设计并实现基于51单片机的嵌入式系统的综合能力,包括但不限于:LED控制、数码管显示、按键检测、蜂鸣器驱动、串口通信、IIC协议实现、EEPROM读写、OLED显示、温度采集等核心功能。同时,课程还注重模块化编程思想的培养,提升代码可维护性和扩展性。 明确学习目标 本课程旨在帮助学员掌握51单片机的基本原理与开发流程,理解并熟练运用各种外设接口技术,最终实现复杂嵌入式系统的开发与调试。 精准适用人群 本课程适用于电子工程专业学生、嵌入式开发爱好者、自动化工程师以及希望转行进入嵌入式领域的技术人员。 完整课程大纲 课程内容覆盖51单片机从基础到高级的全部知识点,包括:单片机引脚功能、最小系统搭建、Keil开发环境配置、VSCode-EIDE使用、LED控制、数码管显示、独立按键与矩阵按键、蜂鸣器驱动、中断系统、定时器应用、UART通信、IIC协议、EEPROM存储、OLED屏幕驱动、18B20温度传感器、DS1302时钟芯片等,形成完整的单片机开发知识体系。









