芯片大脑:CPU与MCU全解析

DAY1

CPU :中央处理器,负责通用计算,逻辑判断,程序运行。

MCU :单片机 = CPU+内存+外设+接口集成在一块芯片里面,用来做控制(51,stm32都是MCU)。

MPU :微处理器,只强运算,不带外设,跑系统用(手机/电脑的主核)。

GPU :图像处理器,专门做图像的渲染,并进行计算。

NPU :神经网络处理器,专门加速AI的计算。

FPU :浮点运算单元,专门算小数/浮点数。

SOC :系统级芯片,把CPU ,GPU, NPU 内存,接口全部集成,手机芯片就是。

  1. RAM和ROM 区别

RAM:随机存储器

掉电丢失数据,

读写速度快,

程序运行的时候用。

ROM:只读存储器,现在多指Flash

掉电数据不丢失,

有程序代码,常量,

单片机程序就烧在这

一句话:RAM运行用 ROM存储用

  1. 什么是外设寄存器?(对硬件进行操控)

单片机里,控制外设的"开关/参数",是一段特殊地址。

比如:控制GPIO输入和输出,中断,串口,定时器,都是写寄存器来实现。

· CPU 和外设的 "桥梁" :CPU 不能直接控制 IO 口、定时器,必须通过寄存器(比如写 P0 寄存器控制 IO,写 TH0 控制定时器初值);

· 临时数据处理站 :CPU 处理数据时,先把数据从 RAM 读到寄存器,处理完再写回 RAM,靠寄存器的高速提升效率;

· 状态监控站 :寄存器能实时反映外设状态(比如 TF0=1 表示定时器 0 溢出,RI=1 表示串口收到数据),CPU 通过读寄存器知道外设情况。

  1. 操作LED用到那几个寄存器(51)

P0 P1 P2 P3(端口寄存器) 控制输出高低电平

如果是推免/开漏装置配置,还会用到:

· PxMOD 模式寄存器

· PxDIR 方向寄存器(设为输出)

不同单片机名字不一样,但本质都是:方向寄存器+数据寄存器。

  1. 什么是GPIO?

通用输入输出口,是单片机最基础的引脚。

功能:输入和输出。

DAY2

  1. GPIO 输入输出的功能;

输入:单片机读取外部电平(高/低),比如按键。传感器。

输出:单片机控制外部电平,驱动LED,继电器,蜂窝器等。

  1. 什么是中断?

CPU在正常执行程序的时候,突然被外部或内部事件打断,转而去处理这个紧急事件,处理完后再回到原来的地方继续执行。

  1. 什么是中断源?

能发出中断请求,触发中断的事件/设备,比如外部按键,定时器益处,串口接收数据等。

  1. 单片机中有几个中断源?分别是哪几个?

外部中断0/1-----INT0/INT1

定时中断0/1-----T0/T1

串口中断:UART

  1. 什么是外部中断?

由单片机外部引脚(如INT0/INT1)触发的中断,比如按键按下,外部信号的变化。

  1. 51单片机有几个定时器?自增型还是自减型?

两个分别是T1/T0;

是自增型的(加1计数器),从初值往上加,溢出触发中断。

  1. 什么是PWM?

脉冲宽度限制

一串固定频率,高电平时间可变的方波,用来模拟输出不同的电压,控制电机转速,LED的亮度等。

  1. 什么是PWM周期?

一个完整方波的时间(高电平+低电平)

周期决定PWM的频率。

  1. 什么是PWM的占比?

一个周期内,高电平的时间占总周期的比例。

占空比越大,平均电压越高。

  1. 有源和无源蜂鸣器?

有源蜂鸣器:

内部带震荡电路,给直流电压电流 ,只能发出一种音调。

无源蜂鸣器:

内部无震荡,必须给方波(PWM)才响,可以通过改变频率发出不同的音调,音乐。

DAY3:

  1. 上拉电阻一般大小控制在 4.7-10k欧(提供默认高电平;增强驱动帮助高电平一方补充电流;防止悬空,电压不高不低)

  2. 计算定时器的初值:

·200Hz 方波周期 5ms,占空比 50% → 每 2.5ms 翻转一次电平;

·12MHz 晶振 → 12 分频后 1MHz → 每 1µs 计数器 + 1;

·2.5ms 需要 2500 次计数 → 定时器初值 = 65536 - 2500 = 63036;

·每次定时器溢出中断时,翻转蜂鸣器 IO → 得到 200Hz、50% 占空比的方波。

中断:

|------------|-------------------------|-------------------------|
| 特性 | 串口中断 | 定时器中断 |
| 触发源 | 外部(串口数据收发) | 内部(定时器计数溢出) |
| 触发时机 | 随机(主机什么时候发指令不确定) | 固定(按预设时间触发,如 2.5ms 一次) |
| 核心作用 | 异步通信(不阻塞 CPU,接收 / 发送数据) | 精准定时 / 计数(实现方波、延时、频率控制) |
| 中断标志位 | RI(接收中断)/TI(发送中断) | TF0/TF1(定时器 0/1 溢出标志) |
| 你的代码中 | 接收主机指令到 recv_buffer | 蜂鸣器频率控制(200/400/600Hz) |

|--------------|--------------------------------|-------------------------------|
| 区分维度 | 外部中断 0(INT0) | 外部中断 1(INT1) |
| 硬件引脚 | 固定接 P3.2 引脚 | 固定接 P3.3 引脚 |
| 触发源 | 接需要 "最高优先级" 的外部硬件(如急停按键、重要传感器) | 接优先级稍低的外部硬件(如普通按键、报警信号) |
| 中断号 / 优先级 | 中断号 0,默认优先级最高 | 中断号 2,默认优先级低于 INT0 |
| 典型场景 | 急停按键(按下立刻断电)、火灾传感器(触发立刻报警) | 普通功能按键(切换数码管显示模式)、门磁传感器(开门提醒) |

|--------------|------------------------|---------------------------------------|
| 区分维度 | 定时器 0(T0) | 定时器 1(T1) |
| 核心功能 | 专注 "基础定时"(如高频方波、精准延时) | 除了定时,还常用作 "串口波特率发生器" |
| 中断号 / 优先级 | 中断号 1,默认优先级高于 T1 | 中断号 3,默认优先级低于 T0 |
| 你的代码场景 | 蜂鸣器 200Hz 方波(定时 2.5ms) | 数码管动态扫描(定时 1ms 切换位选)、串口波特率(如 9600bps) |
| 附加用途 | 单独计数(如统计按键按下次数) | 串口通信必须依赖 T1 产生波特率(51 单片机常用) |

|----------------------|----------------|------------------------------------------|
| 51 芯片组成部分 | 类比电脑部件 | 核心作用 |
| 中央处理器(CPU) | 电脑 CPU | 执行指令、运算、控制整个芯片的工作(芯片的 "大脑") |
| 程序存储器(ROM/Flash) | 电脑硬盘(存系统 / 软件) | 存放你写的代码(如数码管、温度采集程序),掉电不丢失 |
| 数据存储器(RAM) | 电脑内存 | 临时存储运行中的数据(如全局变量 g_n、数码管缓存 buf),掉电丢失 |
| 定时器 / 计数器 | 电脑闹钟 / 秒表 | 实现精准定时(如蜂鸣器 200Hz 方波、延时函数) |
| 通用 IO 口(P0/P1/P2/P3) | 电脑 USB / 显示器接口 | 连接外部硬件(数码管、LED、蜂鸣器、DS18B20),输入 / 输出电平 |
| 串行口(UART) | 电脑网线 / 蓝牙 | 实现串口通信(如和主机交互 Modbus 指令、发送温度数据) |
| 中断系统 | 电脑弹窗提醒 | 响应外部 / 内部事件(如串口接收指令、定时器溢出),不用一直轮询 |
| 总线系统(地址 / 数据 / 控制) | 电脑主板总线 | 连接 CPU、存储器、外设,传输数据和控制信号 |
| 时钟电路 | 电脑主板晶振 | 提供芯片工作的 "节拍"(如 12MHz 晶振,12 分频后 1µs 机器周期) |

相关推荐
gihigo19981 天前
基于51单片机的TB6600步进电机驱动程序
stm32·单片机·51单片机
清风6666662 天前
基于51单片机的的智能电动车充电桩系统设计
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业
zmj3203242 天前
51单片机
单片机·嵌入式硬件·51单片机
智者知已应修善业2 天前
【51单片机4个IO实现16按键可扩展独立按键64矩阵驱动显示矩阵原值】2023-5-8
c++·经验分享·笔记·算法·51单片机
zmj3203242 天前
MCS-51单片机
单片机·嵌入式硬件·51单片机
Redemption3 天前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机
4caf14 天前
【51单片机】26/4/2 --0416
单片机·嵌入式硬件·51单片机
jghhh015 天前
基于TMS320F28033的20MHz手持式双踪袖珍示波器设计与实现
stm32·嵌入式硬件·51单片机
F137298015575 天前
WD5208S 非隔离降压功率开关:集成650V MOSFET,220V降12V,5V,700MA
stm32·单片机·嵌入式硬件·51单片机