1.单片机相关概念
1.CPU:中央处理器,数据运算、指令处理,CPU性能越高,完成指令处理和数据运算的速度越快
核心:指令解码执行+数据运算处理
2.MCU:微控制器,集成度比较高,将所有功能集成到芯片中(CPU、RAM、ROM、定时器、UART、IO),简单控制, 成本低
核心:高集成度 + 低成本
3.MPU:微处理器,集成度低,只有一块单独的CPU,需外接外设、存储模块,复杂应用领域,跑Linux操作系统,成本高
核心:高性能 + 低集成度
4.GPU:图形处理器,图形处理、图形渲染,GPU性能越好,图形显示的质量越好
核心:图形渲染+并行数据处理
5.NPU:神经网络处理器,AI推理、硬件加速,神经网络处理(卷积运算)-> 华为Mate60 达芬奇NPU AI自动优化照片
核心:高效处理神经网络运算
6.FPU:浮点数运算单元,完成浮点数的运算和处理(完全遵循IEEE 754),大部分集成在CPU内部
核心:高精度处理小数运算
7.SOC:片上系统,集成度比较高,将多个芯片集成到一块芯片上(存储芯片、外设芯片)
核心:多模块高度整合
2.RAM和ROM
1.外存:主要存放程序、代码、指令,掉电数据不丢失,读写速度慢,价格便宜(移动硬盘 1T 300)
2.内存:主要存放程序运行过程中的临时变量、掉电数据丢失,读写速度快,价格昂贵(内存条 16G 300)
3.ROM:Read-Only Memory,只读存储器,存放单片机程序,指令,掉电数据不丢失
4.RAM:Random Access Memory,随机访问存储器,存放临时变量、临时数据,掉电数据丢失
3.单片机芯片内部结构
1.CPU(中央处理器)
单片机的 “大脑”,负责解析和执行程序指令,处理数据运算(如加减、逻辑判断),协调其他模块工作。例如控制传感器数据的读取时机、判断按键是否按下。
2.RAM(随机存储器)
临时存储数据的 “工作台”,用于存放程序运行中产生的临时变量(如传感器采集的实时温度值)、中间结果。断电后数据会丢失,类似电脑的 “内存”。
3.ROM(只读存储器)
固化程序的 “仓库”,用于存储用户编写的程序代码(如控制 LED 闪烁的逻辑)和固定参数(如校准值)。断电后数据不丢失,类似电脑的 “硬盘”(单片机中常用 Flash 替代传统 ROM,可重复擦写)。
4.Timer(定时器)
精确计时的 “时钟”,通过内部计数实现定时功能。例如定时 100ms 触发一次 LED 闪烁,或记录传感器采集的时间间隔。
5.PWM(脉冲宽度调制器)
生成可调占空比脉冲的模块,通过改变高低电平的时间比例控制外设。例如调节 LED 亮度(占空比越高越亮)、控制电机转速。
6.IO(输入输出接口)
单片机与外部设备的 “桥梁”,分为输入(如读取按键状态、传感器信号)和输出(如驱动 LED、控制继电器)两种模式,是实现外部交互的核心。
7.中断系统
应对紧急事件的 “优先级响应机制”,当外部事件(如按键按下、定时器溢出)发生时,暂停当前程序,优先处理中断服务,完成后再返回原程序。例如紧急停车信号优先于正常运行逻辑。
8.UART(通用异步收发传输器)
实现串行通信的模块,通过两根线(TX 发送、RX 接收)与其他设备(如电脑、传感器)交换数据。例如单片机将温度数据发送到电脑显示,或接收上位机的控制指令。
9.三大总线
地址总线:用来寻找RAM中的地址,所能寻址的最大范围2^8,256byte,单向
数据总线:通过地址总线去获取数据,数据交互双向
控制总线:时序控制、IO控制、中断
4.原理图
1.MCU单片机芯片:
STC89C52RC、DIP40 封装:双列直插式,40个引脚,划分成4组(端口 寄存器 unsigned char P2;)
2.网络编号:在实际电路中的一个编号,避免物理连线,相同网络的编号的引脚在实际电路中是彼此互通
3.LED模块:
发光二极管:具有单向导通性,分为共阳极和共阴极二极管
共阳极发光二极管的特性:
将所有发光二极管的阳极接到电源正极(VCC),阴极接到单片机的引脚。此时发光二级管阳极会输出高电平(VCC 5V),如果发光二级阴极输出一个低电平(0V), 阳极和阴极之间会形成一个正向的电压差,满足发光二极管的单向导通性,所以电流就会从阳极流向阴极,发光二级就被点亮
5.位运算
1.|:将二进制中的对应位的bit进行比较,如果有一个bit为1,结果为1;如果都为0,结果为0;
应用场景:指定位置1
unsigned char t = 0x64;
将bit0和bit7置1:
t |= (1 << 0) | (1 << 7);
2. &:将二进制中的对应位的bit进行比较,如果全为1,结果为1;如果有一个0,结果为0;
应用场景:指定位清0
unsigned char t = 0xFF;
将bit 0 和 bit7 清0:
t &= ~(1 << 0);
t &= ~ (1 << 7);
3、^: 将对应位的bit进行比较,相同为0,相异为1
6.数码管
51单片机搭载一个4位共阴极数码管,每一位数码管可以显示一些独立数值,数码管同一时刻只能显示一位
位选:选中某一位数码管(将P1寄存器对应bit位置1)
段选:静态显示、动态显示