嵌入式硬件——51单片机

📖 文章目录

1 频率单位换算

2 C 语言位运算(单片机核心)

3 处理器芯片概念区分

4 存储器概念:内存 vs 外存

5 三极管基础

6 共阴极 4 位数码管动态显示

7 51 单片机最小系统

8 硬件整体思维导图

9 小结


1 频率单位换算

频率和周期互为倒数关系:\(T=\frac1f\)

单位 换算关系
HZ 基础单位
KHZ 1KHZ = 10^3HZ
MHZ 1MHZ = 10^3KHZ = 10^6HZ
GHZ 1GHZ = 10^3MHZ= 10^6KHZ = 10^9HZ

示例: 频率 2.1GHZ=2100000000\HZ

周期:T = 1/(2.1*10^9)≈0.5ns

💡 提示:51 单片机常用晶振:11.0592MHZ,专门适配串口波特率。


2 C 语言位运算(单片机核心)

单片机 IO 口操作几乎全部依赖位运算,是单片机开发重中之重。

2.1 按位或 |

规则 :对应 bit 位,有 1 则 1,全 0 才 0 应用场景:指定位置 1,其余位保持不变

复制代码
char t = 0xF4;   // 1111 0100
char n = 0x32;   // 0011 0010
t | n;           // 1111 0110 = 0xF6

// 标准写法:将第n位置1
P2 |= (1 << n);

2.2 按位与 &

规则 :对应 bit 位,全 1 才 1,有 0 则 0 应用场景:指定位清 0,其余位保持不变

复制代码
char t = 0xF4;   // 1111 0100
char n = 0x32;   // 0011 0010
t & n;           // 0011 0000 = 0x30

// 标准写法:将第n位清0
P2 &= ~(1 << n);

2.3 按位取反 ~

规则:二进制每一位全部翻转,0 变 1,1 变 0

复制代码
char t = 0xF4;
char n = 0x32;
~(t & n);
// t&n = 0x30(00110000),取反结果:0xCF(11001111)

2.4 按位异或 ^

规则:对应 bit 位,相同为 0,相异为 1,常用于电平翻转

复制代码
char t = 0xF4; //1111 0100
char n = 0x32; //0011 0010
t ^ n;         //1100 0110 = 0xC6

2.5 移位运算 << / >>

  • << 按位左移:二进制向左移动 n 位,低位补 0
  • >> 按位右移:分为逻辑右移、算术右移、循环右移
IO 口实操代码示例
复制代码
unsigned char P2 = 0x00;
P2 |= (1 << 0);         // bit0置1
P2 |= (1 << 7);         // bit7置1
P2 |= (1<<2) | (1<<3);  // bit2、bit3同时置1

unsigned char P2 = 0xFF;
P2 &= ~(1 << 0);        // bit0清0
P2 &= ~(1 << 6);        // bit6清0

P1 &= ~(0x0F << 0);     // P1低4位清零

✨ 位运算速记口诀:置 1 用或|,清 0 用与非& ~,翻转用异或^


3 处理器芯片概念区分

缩写 全称 简单说明 典型使用场景
CPU Central Processing Unit 中央处理器,完成运算、指令处理 电脑 CPU
MCU Micro Controller Unit 微控制器(单片机),外设全部集成在芯片内部,成本低 51、STM32,裸机控制开发
MPU Micro Processing Unit 微处理器,只有 CPU 核心,需要外接外设,成本高 嵌入式 Linux (A53 等)
GPU Graphics Processing Unit 图形处理器,图像渲染、图形运算 电脑独立显卡
NPU Neural Processing Unit 神经网络处理器,用于 AI 推理加速 手机 AI 拍照
FPU Floating Point Unit 浮点运算单元,专门处理浮点数运算,集成于 CPU 内部 浮点运算加速
SOC System On Chip 片上系统,集成 CPU/GPU/NPU 等多个模块,体积小功耗低 手机主控芯片,跑 Linux 系统

💡快速区分:

  • MCU(单片机):外设内置,做简单控制,裸机开发;
  • MPU/SOC:资源强大,运行 Linux 操作系统,做复杂业务。

4 存储器概念:内存 vs 外存

类型 特点 实例
内存 (RAM) 存放程序运行时的变量;掉电数据丢失;读写速度快,价格高 电脑内存条
外存 存储程序、代码指令;掉电数据保留;读写速度慢,价格低廉 硬盘、Flash

CPU 简单工作流程:

  1. CPU 负责数据运算;
  2. CPU 通过地址总线寻找 RAM 中变量的地址;
  3. CPU 通过数据总线完成数据读写,将运算结果存入 RAM。

CPU 与 RAM 交互三大总线:地址总线、数据总线、控制总线


5 三极管基础

三极管引脚:基极、发射极、集电极

  1. 制造材料:锗管、硅管
  2. 分类:NPN 型、PNP 型
  3. 两大用途:
    • 数字电路:开关控制,饱和区导通,截止区关断
    • 模拟电路:电流放大
三极管类型 导通条件 关断条件 箭头标识
NPN 基极高电平 → 导通 基极低电平 → 关断 箭头向外
PNP 基极低电平 → 导通 基极高电平 → 关断 箭头向内

小技巧:箭头由 P 指向 N;箭头朝外为 NPN,朝内为 PNP。


6 共阴极 4 位数码管动态显示

动态显示原理:利用人眼视觉暂留效应,高速轮询每一位数码管,人眼视觉上看到多位同时点亮。

  1. 位选:由 4 个 NPN 三极管控制,对应 P1 寄存器低 4 位;给基极高电平,三极管导通,选中对应数码管。
  2. 段选:由 P0 寄存器控制,输出高电平点亮数码管对应发光段。

执行流程:

第一位数码管显示数字 → 快速切换,第二位显示数字 → 高速循环轮询。


7 51 单片机最小系统

最小系统:能够让单片机正常运行工作,需要的最少元器件集合。

  • 电源
  • 晶振 :给单片机提供时钟节拍;51 常用晶振 11.0592MHZ,专门适配串口波特率。
  • 复位电路

8 硬件整体思维导图

9 小结

  1. 位运算是单片机 IO 操作的核心,熟练掌握置 1、清零操作写法。
  2. MCU 单片机适合简单裸机控制;MPU/SOC 一般运行 Linux 操作系统。
  3. 三极管经常当做电子开关,用于数码管、继电器驱动电路。
  4. 4 位数码管依靠人眼视觉暂留做动态扫描显示。
  5. 51 最小系统三要素:电源、晶振、复位。
相关推荐
Logic1019 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
周洲08309 小时前
STM32 串口底层深度解析|USART 中断标志、硬件 FIFO,乱码根源底层定位
stm32·单片机·嵌入式硬件
女神下凡14 小时前
芯参谋(29):UFS UMCP 软件设计规范
arm开发·单片机·嵌入式硬件
RISCV_Explorer15 小时前
RISC-V电源管理与低功耗实战——WFI指令、电源域划分与唤醒路径设计
单片机·嵌入式硬件·risc-v
zd84510150015 小时前
支持双向输入信号的开关量电路
单片机·嵌入式硬件
齐落山大勇16 小时前
【裸机程序】IMX 6ULL的中断机制的理解
单片机·嵌入式硬件
cu14316 小时前
细谈GM8229的具体功能与其应用
c语言·c++·人工智能·单片机
HRTOS17 小时前
HRTOS 任务优先级与调度模式说明
单片机·嵌入式硬件·系统架构·51单片机
Logic10118 小时前
C语言/数据结构位运算题解:异或XOR找出弹子游戏机中数量为奇数的数字——只出现奇数次
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
嵌入式分享19 小时前
嵌入式分享#19:《嵌入式外设调试思路》--I2C设备篇
单片机·嵌入式硬件