跳转到内容

51单片机课程介绍_哔哩哔哩_bilibili

00:07 00:07:03

00:07 00:07:13

常见问题

哪些产品是由单片机开发的?

凡是与控制或简单计算有关的电子设备,都可以用单片机来实现

00:08 00:08:12

  • 智能家居:智能插座、智能灯泡、智能门锁等
  • 智能穿戴:智能手表、智能手环
  • 电子玩具类:无人机、小型机器人
  • 汽车电子设备:发动机控制单元、车载系统等
  • 工业自动化设备:数据采集、伺服控制设备等

接下来逐一解释这些产品的模块构成。

00:09 00:09:50

00:12 00:12:00

  • 产业链视角:从芯片到产品的硬件产业链各环节都有招聘单片机开发工程师
    • 芯片原厂:ST、TI 等
    • 模组厂商:WiFi 模组、HA、2G/4G 模组
    • 消费电子:小米、华为、DJI、OPPO 等
    • 商业工业:海康、大华、大族等商房类和工业类企业
  • 芯片原厂:ST、TI、RK、全志、NXP、MTK、展讯、海思等
  • 模组厂商:移远、创通、华勤、中兴通讯等
  • 消费电子产品:小米、华为、OPPO、vivo、0000等
  • 商业及工业产品:商汤、旷视、天数、旷达、科大讯飞、优必选、大疆等
  • 汽车电子领域
    • 主机厂:比亚迪、广汽、上汽、吉利等
    • 供应商:马瑞利、博世、德尔福、大陆、宁德时代
  • 家电领域:美的、格力
  • 互联网厂家:阿里、腾讯、华为、小米、百度等(都有硬件相关业务)
  • 确定设计标准:判断产品级别(如消费级、汽车级、工业级),影响后续选型
    • 例:智能手表为消费级
  • 确定功能需求:明确产品功能及外设
    • 智能手表外设:屏幕、传感器、电池、振动器等
  • 进行方案选型:先选外设模块,再选芯片
    • 小家电用8位单片机
    • 音视频播放或流媒体用16位或32位单片机
  • 进行外形选型:选择屏幕接口、传感器厂商等
  • 开发调试测试认证试产、小批量、上市
  • 企业设计一款硬件产品的完整流程:
    • 需求分析:产品需求调研和方案设计
    • 硬件设计与软件编写:画电路板、写代码驱动模块、开发应用
    • 测试认证:上市前按地区做认证
    • 国内:商势认证
    • 欧洲:C
    • 美国:FCC认证
    • 市场上市:量产、小批量生产、出货销售
  • 硬件方案选型:选型方法与方案查找
  • 开发流程:企业硬件方案开发工程师配合
    • 角色:产品经理、项目经理、工业设计、硬件工程师、软件工程师等
    • 内容:各角色分工及不同阶段配合方式
  • 资源获取:芯片手册、使用文档、FAQ、原理图/源码/支持文档
  • 环境搭建:开发环境、仿真环境、验证环境、运行
  • 基础功能验证
    • 芯片基础功能验证
    • 外设功能验证、接口验证
    • 电源验证、供电验证
  • 产品开发:产品系统架构、确认功能、硬件开发
  • 集成、联调、测试、发布版本
  • 研发工程师使用新芯片流程
    • 资源获取:芯片手册、使用文档、示例代码、相关论坛、芯片原厂支持
      • 目的:遇到问题知晓找答案位置,解决不了时问谁
    • 开发环境搭建:拿到开发板后搭建芯片开发环境
  • 环境搭建:在开发板上验证芯片基础功能和外设支持
    • 拉取代码并在目标系统上运行
  • 基础功能验证:确认芯片支持的功能、外设及接口
  • 产品开发
    • 确定模块间通信协议(如创否iPhoneCSPI 等)
    • 搭建软件框架
    • 开发各模块业务代码
  • 设计硬件固件方案的关键考虑:
    • 是否上系统,还是直接用裸机
    • 选择合适的协议
    • 整个应用不同模块如何划分
  • 单片机产品由以下模块组成:
    • 电路板:包括最小系统(让芯片运行起来)和外围驱动电路
    • 软件固件:编写的代码刷入电路板运行
    • 外壳结构:产品外壳及相关结构
  • 电路板细分为两块:
    • 最小系统:使芯片能够运行
    • 外围驱动电路:驱动不同外设
  • 最小系统:芯片运行所需基础模块
    • 供电电路:提供电源
    • 时钟电路:提供时钟信号(如晶振电路)
    • 复位电路:复位功能
  • 有了这些模块,芯片即可运行
  • 功能实现:搭配不同外设电路
    • 外设驱动因需求不同:带/不带屏幕、传感器等
    • 例:STM32 芯片(课程用例)需这些基础才能跑起
  • 单片机定义:集成了处理器存储器外设接口等多功能于一体的微型计算机
    • 简称 MCU
    • 优点:体积小功耗低成本低,实现高效控制和处理任务
  • 51单片机:以 8051 为内核的系列单片机
    • 80C51系列主要产品:
      • Intel:80C3180C5187C5180C3280C5287C52
      • ATMEL:89C5189C5289C2051
      • STC、兆鼎、英飞凌等公司许多产品
    • 课程芯片:STC宏龙的 STC8052RC
    • 虽有更先进单片机(如 STM32/ESP32),但51单片机仍广泛应用于各种嵌入式系统
  • 单片机(MCU):集成了处理器存储器和各种功能于一体的通用计算单元
    • 优点:体积小、功耗低、成本低,实现高效控制和处理任务
    • 适用场景:小型电子产品计算需求(普通计算芯片无法满足)
  • 51单片机:以8051内核为基础开发的系列单片机(非单一型号)
    • 主要产品: - Intel:80C3180C5187C5180C3280C5287C52等 - ATMEL:89C5189C5289C2051等 - STC、华邦、英飞凌等公司众多产品
    • 课程用芯片STC的STC8052RC
  • 应用现状:虽有更先进单片机(如STM32/ESP32),但51单片机仍广泛用于各种嵌入式系统
  • 应用广泛原因:虽有STM32/ESP32等先进单片机,但51单片机仍用于小型、低性能要求、低成本场景
    • 性能强芯片不适合所有产品
  • 学习重点(而非简单功能如点亮LED、水灯、按键、串口): - 8位单片机使用方法 - 寄存器编程 - 外设原理协议原理(企业90%不用89C52,但这些通用)
    • 核心能力:快速掌握编程、上手项目、完成产品需求
  • 传统思维:点亮LED、流水灯、驱动按键、LCD等简单应用
  • 实际重点:学会八位单片机使用方法
    • 寄存器编程
    • 各类外设协议原理
  • 企业现实:90%-99%不会用到89C52这款芯片
    • 使用各种其他八位单片机
    • 不同芯片外围协议相似
      • 掌握原理即可通用
  • 讲解内容:
    • 丝印
    • 命名规则
    • 封装
    • 方向
    • 芯片手册
    • 芯片编程步骤
    • 最小系统
  • 丝印定义:不同单片机芯片表面印刷的英文字母和标记
    • 示例:STC(芯片厂商缩写,STC宏晶的缩写)
    • 型号89C52RC
    • 封装:如LQFP44(芯片封装类型)
  • 作用:通过这些文字识别芯片厂商、型号和封装
  • 封装:单片机芯片的不同封装形式。
    • 封装大小不同
  • 批次:生产时间信息。
  • 命名规则
    • STC:厂商名称(STC 宏晶)。
    • 89:兼容 8051 指令集的 51 单片机。
    • C:工作电压范围,3.3V - 5.5V。
    • 52:内部空间大小。
    • LQFP44:封装,44 个管脚。
  • STC厂家型号命名(以STC89C52RC为例)
    • STC:厂家名称(STC宏晶)
    • S0:内部8051指令集,包含外部51单片机
    • S1/S2/S3:内部Flash大小
      • S14K
      • S28K
      • S312K
    • C:工作电压3.3-5V
      • LE2.0-3.6V
    • RCRAM大小512字节
      • RD1280字节
    • 40:工作频率40MHz
    • LCF1280
    • 1:工业级温度范围 -40℃~85℃
    • 2:商业级温度范围 0℃~70℃
    • 引脚数44个
  • 以STC89C52RC为例
    • STC:厂家名称(STC宏晶)
    • S0/S1/S2:裸片类型
    • RCRAM大小
    • 40工作频率
    • LQFP封装类型
    • 44引脚数(44个引脚)
  • 工作温度范围
    • 工业级:-40℃~+85℃
    • 商用级:-40℃~+70℃
  • 芯片外形与封装:根据应用场景空间选择
    • 空间小→用小封装
    • 空间要求不严→可选更大封装
  • 方向判断:芯片丝印上有小圆点标记
    • 小圆点下方一号引脚
    • 逆时针方向排序引脚
  • 对应关系:实际实物IO与原理图位置匹配
    • 示例:右边图一号引脚位置,从右边逆时针排序
  • IO方向:是怎么去对应起来的(后续详解)
  • 芯片手册(LaterShare):了解芯片资源、配置和功能
    • 学习时非常重要,可了解芯片所有内容
    • 不同章节学习时打开手册讲解
  • 参数:工作电压、直中组屏(时钟频率)、blash(硬房大厕/Flash硬盘大小)等
  • 芯片手册内容:详细说明引脚定义Flash大小外设数量(如定时器ADC
    • 下载手册查看具体信息
  • 学习方法不需背诵(手册太多、不同芯片不同)
    • 遇到问题时,知道从手册中查找
  • 单片机听不懂人类语言
    • 需要编程方式与之通信
  • 不同于普通程序:编写代码 → 编译成二进制文件(固件)烧录到单片机 → 重新上电运行
    • 编程语言:主流C语言汇编(Python可但需内置解释器,对内存要求高,不适合主流单片机)

  • 最小系统定义:让芯片运行起来的最少要素
    • 1. 芯片本身
    • 2. 供电电路:给芯片供电
    • 3. 复位电路:让芯片复位
    • 4. 时钟电路:提供时钟让芯片运行
  • 课程版卡:设计了最小系统板
    • 包含芯片、时钟、复位电路及对应电路

STC89C51RC+RD系列最小应用系统电路

Section titled “STC89C51RC+RD系列最小应用系统电路”
  • mini核心板实物:STC89C51RC/STC89C52RC,正反面布局包含电源、时钟、复位、烧录电路
  • 电路图示意(ASCII艺术):
[电源] -- [时钟电路] -- [复位电路] -- [烧录电路] -- STC89C51RC+RD芯片
  • 芯片手册对应:明确列出电源 + 时钟 + 复位电路的最小要求
  • 烧录电路作用:PC生成固件后烧录至板卡运行
  • 中断源表格
中断源 触发条件 外部中断 内部中断 优先级 端口 状态 备注
DVT0 (外部中断0) 0->1 P3.2 - 0 EX0 INT0
DVT1 (外部中断1) 0->1 P3.3 - 0 EX1 INT1
Timer0 溢出 - T0 1 - TF0
Timer1 溢出 - T1 1 - TF1
UART 接收/发送完成 - RX/TX 2 - RI/TI
DVT2 (外部中断2) 0->1 P3.4 - 3 EX2 INT2
DVT3 (外部中断3) 0->1 P3.5 - 3 EX3 INT3
DVT4 (外部中断4) 0->1 P3.6 - 3 EX4 INT4
DVT5 (外部中断5) 0->1 P3.7 - 3 EX5 INT5
  • 优先级设置:通过PICON寄存器设置多级优先级(传统8051仅两档)
  • ISR编程示例(C语言中断函数):
void Timer0_Routine(void) interrupt 1 { /* ... */ }
void Timer1_Routine(void) interrupt 3 { /* ... */ }
void Uart_Routine(void) interrupt 4 { /* ... */ }
void interrupt0_ISR(void) interrupt 0 { /* ... */ }
void interrupt1_ISR(void) interrupt 2 { /* ... */ }
void interrupt2_ISR(void) interrupt 5 { /* ... */ }
  • 整体结构:从环境搭建到实际烧录LED的全流程
    • 1. 环境搭建
      • 软件下载、安装与破解:用于编写、编译代码
    • 2. 电路与原理图
      • 看懂元器件
      • 如何看懂原理图
      • 原理图与电路的关系
    • 3. 工程创建
      • 编译
      • 固件烧录
    • 4. 器件烧录
      • 点亮LED
      • 接线
      • 驱动安装
      • 效果验证

学习路线树状图:

学习路线
├── 软件下载
├── 安装与破解
├── 电路与原理图
│ ├── 看懂元器件
│ ├── 如何看懂原理图
│ └── 原理图与电路的关系
├── 工程创建
│ ├── 编译
│ └── 固件烧录
├── 器件烧录
│ ├── 点亮LED
│ ├── 接线
│ ├── 驱动安装
│ └── 效果
└── 软件下载
├── 软件下载
└── 安装与破解
  • 第六块:数码管驱动
    • 数码管驱动原理
    • IO不够时用扩展IO芯片扩展单片机IO
    • 驱动实现
  • 第七块:中断讲解
  • 第八块:定时器与计数器
  • I2C/SPI通信:讲解原理、用代码驱动实现,以及读写信号时序
  • PWM:PWM是什么及其作用,以推拉输出电机调速为例讲解
  • 看门狗与项目:看门狗功能及综合项目实践
  • 跟随教程:整套课程非常重要的一点,一定要跟随教程学习
  • 唯一建议一定要动手,动手+动手+动手
    • 学习单片机编程不动手只是看,无法发现问题
    • 动手做实验、尝试复现,才能上手
  • 学习目标: - 学会环境搭建固件烧录工程搭建 - 快速学会单片机寄存器开发 - 熟悉外设原理,学会外设驱动编程

00:04 00:04:55

  • 正式进入电路与原理图章节
    • 先回顾板卡上资源,加深对所有元器件的记忆
    • 目的:以后拿到不同电路板也能快速清楚
  • 讲解什么是原理图
  • 原理图与电路板的关系
    • 帮助理解电路板实际对应
  • 开发板实际模块布局(从左到右):
    • WiFi芯片 + WiFi Flash + WiFi晶振
    • WiFi外围电路:电容、电阻
    • 编码器 + 编码器外围电路
    • 温湿度传感器
    • 三个LED
    • 蜂鸣器
    • 滑动电阻
    • 数码管
    • 中间:51核心板 + 其接口
  • 复位电路:位于右边
  • 按键模块
    • 几个机械按键
    • 中间一个触摸按键及其外围电路
  • 上部:电容电阻等元器件
  • 右边:USB转TTL模块
  • 电机驱动模块
    • 步进电机
    • 直流电机
    • 外围电路(电容电阻)
  • 电源部分
    • 稳压电源输入
    • 5V转3.3V稳压电源
  • 开关

  • 485模块

  • 屏幕

  • 屏幕外围电路

  • 继电器

  • 一分频芯片(位于核心板下方)

  • 本节目标(三个重点):

    1. 原理图有什么用
    2. 怎么样去用(阅读方法)
  • 比喻理解:建房子为例
    • 原理图 = 建造房子的工程图(设计蓝图)
    • 电路板 = 建成的房子
    • PCB工程图 = 建造房子的效果图
  • 设计流程
    • 先绘制板卡原理图
    • 再根据原理图制作PCB(电路板)
  • 原理图→PCB→电路板流程:原理图设计后生成PCB工程,再经生产贴片得到实际电路板
  • 驱动示例(LED):要驱动电路板上LED,先在原理图中查找LED模块
    • 原理图按功能划分模块(如供电、WiFi、485、LED)
    • 对应板卡上实际模块,便于软件工程师定位驱动
  • 开发板LED布局:三颗灯珠与板卡上三颗LED一一对应

  • LED电路结构(以LED4为例):

    • LED → 电阻 → 3.3V电源
  • 点亮条件:输出低电平(0V)到LED引脚

    • 原因:LED两端产生电压差时灯珠发光
  • 驱动步骤

    1. 确定驱动信号:低电平
    2. 查找LED1连接位置(连接到廉价…)
  • 开发板LED连接:连接到51单片机的P2.7口

    • 要点亮LED:让P2.7输出低电平
      • 因为低电平驱动LED导通发光
  • 原理图实际用法(驱动任意模块通用步骤):

    1. 在原理图中找到对应模块
    2. 分析驱动该模块需要什么信号
    3. 根据信号编写编程代码
  • 后续:掌握此基础后进入编程章节

  • 本节课简要介绍原理图中各种符号的含义及其在电路中的作用。
  • 不会深入讲解,后续实验章节会详细讲解每个模块的原理。
  • 看不太懂也没关系,可以继续往下学习。
  • 电阻
    • 作用:对电流有限流作用。
    • 常见阻值:千欧 (KΩ) 级,兆欧 (MΩ) 级。
    • 封装:大小决定功率,越大功率越大。
  • 电容
    • 作用:用于储能、滤波、旁路等。
    • 分类:陶瓷电容、电解电容等。
    • 电解电容:有正负极性,不能接反。
    • 作用:退偶,减小噪声,提高稳定性。
  • 上拉电阻
    • 作用:将不定状态的信号线拉到高电平。
    • 典型阻值:4.7KΩ 或 10KΩ。
  • 二极管
    • 作用:单向导通,用于整流、开关等。
    • LED (发光二极管):正向导通发光,反向截止。
  • 三极管 (MOS管)
    • 作用:开关作用,控制电流。
    • N沟道MOS管:栅极高电平导通,低电平关闭。
    • P沟道MOS管:栅极低电平导通,高电平关闭。
  • 晶振:提供时钟信号。
  • 作用:为系统提供稳定的时钟频率。
  • USB:一种常见的通信接口标准。
  • 蜂鸣器:一种发声器件。
  • 继电器:一种电磁开关。
  • 传感器:将物理量转换为电信号。
  • 不同模块电源需求:电路板模块电压不同(如4.5V、5V、3.3V),需5V转3.3V稳压电源
    • 稳压电源作用:提供稳定电压输出,不受输入波动影响
      • 5V稳压:输入7V-25V,输出5V(效率低、发热大、不适合大电流)
      • 3.3V稳压:输入4.5V-15V,输出3.3V(效率高、发热小、适合小电流)
  • 电源符号电源符号表示5V或3.3V;GND符号表示地线
  • 电容作用:去除噪声(杂音)
  • 电容主要作用:去除电源噪声(杂音),让电源信号更干净
    • 实际电源信号有纹波干扰
    • 加电容后过滤干净
  • 不同容值搭配:针对高频低频干扰
    • 电源纹波用 μF级 + nF级 电容组合
    • 示例:47μF 可换 22μF 也行
  • 数据电路特点:干扰源较小,容值选择灵活
  • 通用选型:选一些通用的电容即可
    • 实际电路板设计调试时,若电源纹波较大,可适当调整电容优化
  • 5V转3.3V稳压芯片:中间部分即稳压芯片
  • 电源滤波:电源侧有两个电容,使电源更干净
  • 传感器接口:有接口要求,如接地
    • 具体接口后续详解
  • 上拉电阻接法:信号线经过电阻接到3.3V电源
    • 称为上拉电阻
  • 作用:单片机IO口启动时状态不确定,上拉电阻确保启动瞬间电压为3.3V
    • 把不确定信号线拉到高电平
  • 两个电阻的前置作用:将两个点的电平预置在高电平
    • 另外增加启动能力:电流通过电阻流下,提升IO启动能力
  • 电路构成:对应板卡上档子第一线(栅极对应位置)
    • 包括一个继电器
    • 右边一个二极管,主要作保护作用
  • 适用性:继电器电路,以及后续提到的电路
  • 续电器:线圈开合,带动触点。避免电压突变,对电子元件的损伤。
  • 保险丝:起到保护作用。
  • 电容:去除电源噪声,使电源信号更干净。
    • 实际电源信号有纹波和干扰。
    • 加电容后过滤。
  • 不同容值搭配:针对高频和低频干扰。
    • 电源纹波用 μF级+nF级 电容组合。
    • 例:47μF 可换 22μF
    • 数据电路特点:干扰源较小,容值选择灵活
  • 通用选型:通用电容即可。
    • 实际电路板设计调试时,若电源纹波大,可调整电容优化。
  • 5V转3.3V稳压芯片
  • 电源滤波:电源侧有电容。
  • 传感器接口:有接口要求(如接地),后续详解
  • 上拉电阻接法:信号线经过电阻接到 3.3V 电源。
    • 称为 上拉电阻
  • 作用:单片机IO口启动状态不确定,上拉电阻确保启动瞬间电压为 3.3V
    • 把不确定信号线 拉到高电平
  • 芯片手册内容:包含具体说明为什么采用某种接法,以及返回电路的连接方式
    • 绘制电路时一般参考手册
  • 电解电容:储能和释放能量
  • 电路结构:限流电阻 → LED → 电源
    • 限流电阻作用:避免电流过大烧坏LED
      • 同样起到限流作用
  • 电阻封装:有很多不同封装形式,网卡三种常见封装为主,大家认识其样子
  • 三极管/MOS管
    • 示例:FNT491(MOS管样子)
    • 金正(三极管):也有其他封装,用到的是之前提到的那种
    • 建议搜索查看样子
  • 从本节课开始,正式进入IO口章节的学习
  • 标志着进入编程实际操作阶段