51单片机 DAY_1 1. 描述 CPU、MCU、MPU、GPU、NPU、FPU、SOCCPU中央处理器通用运算控制核心负责执行各类通用指令完成逻辑判断、顺序运算通用性强但并行计算、浮点运算、AI 运算效率较低是所有计算设备的基础运算单元。MCU微控制器单片机单芯片集成 CPU、片内 RAM、程序 Flash、IO 口、定时器、串口、中断等全套外设专为嵌入式控制场景设计低成本、低功耗无需外接大量外设即可独立工作多用于小家电、传感器控制。MPU微处理器仅集成高性能 CPU 核心无片内大容量存储与基础外设必须外接 RAM、Flash、外设芯片可运行 Linux、安卓等大型操作系统算力高于 MCU用于开发板、智能设备主板。GPU图形处理器拥有大量并行计算核心专门处理图像渲染、纹理填充、视频解码等并行矩阵运算也可用于通用并行计算加速。NPU神经网络处理器面向 AI 深度学习专用处理器内置卷积、矩阵乘等神经网络硬件加速单元高效完成图像识别、语音推理等 AI 任务。FPU浮点运算单元CPU 配套辅助模块专门处理浮点数小数运算无 FPU 时 CPU 只能软件模拟浮点运算速度大幅下降常用于算法、机器人、仿真计算。SoC片上系统高度集成化单芯片系统在一颗芯片内整合 CPU、GPU、NPU、存储、射频、各类外设接口集成度极高手机、智能手表、车载芯片均为 SoC 方案。2. 单片机最小系统包括单片机最小系统是芯片上电后可正常运行程序的最简电路由四部分组成单片机主控芯片电源电路提供稳定工作电压搭配滤波电容稳压降噪复位电路上电 / 手动复位将芯片寄存器初始化保证程序从头执行时钟振荡电路晶振 起振电容为单片机提供系统时钟决定指令执行速度。3. STC 芯片内部结构以 STC89C51 系列 51 内核芯片为例内部结构如下8 位 CPU 运算核心完成指令解析与运算Flash 程序存储器存放用户程序断电数据不丢失支持反复擦写片内 RAM 数据存储器临时存储运行变量、堆栈断电数据丢失特殊功能寄存器 SFR控制 IO、定时器、串口、中断等外设4 组并行 I/O 口P0/P1/P2/P3通用输入输出引脚定时器 / 计数器 T0、T1用于定时延时、外部脉冲计数UART 串行通信模块实现串口收发通信多级中断系统外部中断、定时器中断、串口中断片内振荡电路支持外部晶振或内置 IRC 内部时钟。4. 内存和外存特点内存主存如片内 RAM、电脑内存条直接与 CPU 通过总线相连读写速度极快断电后存储数据全部丢失容量偏小单位存储成本高作用存放当前正在运行的程序、临时变量、缓存数据。外存辅存如 Flash、EEPROM、硬盘不直接连接 CPU需通过接口中转读写速度慢于内存断电后数据永久保存存储容量大单位存储成本更低作用长期固化程序、保存配置、静态数据。5. RAM 和 ROM 特性RAM随机存取存储器可读可写任意地址均可随时读写断电数据丢失读写速度快分为静态 SRAM单片机片内 RAM、动态 DRAM电脑内存用途程序运行时临时存放变量、堆栈。ROM只读存储器现主流为 Flash ROM正常运行模式下仅可读擦写需要专用操作断电数据永久保存读取速度中等存在擦写寿命上限分类掩膜 ROM、一次性 OTP、Flash、EEPROM用途存储单片机固件程序、固定常量、设备参数。6. CPU 与 RAM 之间三大总线及作用地址总线 AB单向传输CPU 向 RAM 发送存储单元地址指定需要读写的位置总线位数决定最大寻址空间。数据总线 DB双向传输负责 CPU 与 RAM 之间的数据交互写操作时数据从 CPU 传输至 RAM读操作时数据从 RAM 传回 CPU总线宽度代表单次可传输的数据位数。控制总线 CB双向混合信号线传输读写控制指令包含读信号、写信号、片选信号等控制硬件执行读操作或写操作。7. 如何实现数码管的显示数码管由 7 段发光二极管 小数点 dp 构成分为共阴极、共阳极两类有两种显示实现方式静态显示每一个数码管的段选引脚独立占用一组 IO 口直接输出对应数字段码即可点亮优点是亮度高、无闪烁、程序简单缺点是占用 IO 引脚过多不适合多位数码管。动态扫描显示所有数码管段选引脚并联共用一组 IO每位数码管公共端位选单独控制循环依次点亮每一位数码管依靠人眼视觉暂留实现多位同时显示的效果大幅节约 IO 资源是项目主流方案。8. 数码管动态显示原理硬件连接全部数码管段选引脚并联接同一组 IO 口每个数码管公共端位选单独分配 IO 引脚控制。扫描流程先关闭所有位选输出第一位数字对应的段码打开该位选并短暂延时随后关闭当前位切换下一位段码、开启对应位选循环往复扫描每一位数码管。视觉原理人眼存在约 20ms 视觉暂留效应扫描切换速度足够快时肉眼无法分辨数码管交替点亮视觉上认为所有数码管同时常亮。优缺点极大节省单片机 IO 引脚数码管位数过多时会出现轻微亮度闪烁。9. 指定位清零和指定位置 1 如何实现采用位运算操作仅修改目标 bit不影响端口其他引脚以单片机 IO 端口为例指定 bit 清零使用按位与运算符 掩码中目标位设为 0其余位为 1 示例将 P1 口第 2 位清零P1 ~(1 2);原理1 与任意 bit 相与数值不变0 与任意 bit 相与结果为 0。指定 bit 置 1使用按位或运算符 |掩码中目标位设为 1其余位为 0 示例将 P1 口第 3 位置 1P1 | (1 3);原理0 与任意 bit 相或数值不变1 与任意 bit 相或结果为 1。补充51 单片机支持 sbit 位定义可直接单独操作引脚sbit P1_2 P1^2; P1_2 0; // 指定位清零sbit P1_3 P1^3; P1_3 1; // 指定位置110. 什么是外设寄存器外设寄存器全称特殊功能寄存器 SFR是单片机内部片内外设配套的内存映射寄存器每个外设IO 口、定时器、串口、中断分配一组固定地址的寄存器CPU 通过读写对应地址寄存器配置外设工作模式、读取外设运行状态、输出硬件控制信号是软件程序与底层硬件交互的接口修改寄存器数值会直接改变硬件电路工作状态。 例IO 口寄存器 P0、定时器模式寄存器 TMOD、串口控制寄存器 SCON 都属于外设寄存器。11. 控制 LED 和数码管分别用到了哪几个外设寄存器控制 LED 用到的外设寄存器P0、P1、P2、P3 端口锁存寄存器输出高低电平控制 LED 亮灭IO 模式配置寄存器P0M0、P0M1 等配置引脚推挽输出 / 开漏输出调节驱动能力。控制数码管用到的外设寄存器段选端口寄存器Px输出数字段码控制数码管各段亮灭位选端口寄存器Py控制每一位数码管公共端通断实现动态扫描IO 模式配置寄存器PxM0、PxM1提升引脚驱动电流提高数码管显示亮度。