嵌入式学习 51单片机基础

嵌入式系统定义

以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统。


51单片机发展及厂商

时间 厂商/型号 特点
1980 Intel MCS-51系列(8051) 工业控制领域,MCU转型到CPU
- Atmel AT89C51 兼容MCS-51架构
- Philip P89V51(增强型) 支持ISP在线编程
- STC宏晶半导体(STC89C51等) 广泛用于教学和低成本开发

核心概念对比

处理器类型
缩写 全称 功能特点 应用场景
CPU Central Processing Unit 数据运算、指令处理 通用计算
MCU Micro Controller Unit 高度集成(CPU+RAM+ROM+外设),低成本 简单控制(家电、传感器)
MPU Micro Processing Unit 低集成度(需外接存储/外设),支持复杂系统 Linux/高端嵌入式设备
GPU Graphics Processing Unit 图形渲染加速 游戏、图像处理
NPU Neural Processing Unit AI推理、神经网络加速(如华为达芬奇NPU) 智能终端
FPU Floating Point Unit 浮点数运算(遵循IEEE 754) 科学计算
其他术语
  • SOC:System On Chip,片上系统(集成多芯片功能,如手机处理器)。

存储类型对比

类型 特点 典型用途 示例
外存 掉电不丢失,速度慢,成本低 存储程序/代码 硬盘(1T约300元)
内存 掉电丢失,速度快,成本高 运行时临时数据存储 内存条(16G约300元)
ROM 只读存储器,存程序指令 固化程序(如单片机代码) Flash ROM
RAM 随机存取存储器,存临时变量 运行时数据缓存 SRAM/DRAM

单片机内部结构

主要模块
  • 核心单元:CPU(运算/控制)
  • 存储单元:ROM(程序存储)、RAM(数据缓存)
  • 外设模块:Timer(定时)、PWM(脉宽调制)、IO(输入输出)、UART(串口通信)、中断系统。
三大总线
总线类型 功能 方向 示例参数
地址总线 寻址RAM空间(范围2^n) 单向 8位总线→256字节
数据总线 传输数据 双向 8位并行传输
控制总线 时序/中断/IO控制信号 双向 读写信号线

补充说明

  • 浮点运算:FPU通常集成于CPU内,提升科学计算效率。
  • SOC应用:如手机芯片集成CPU+GPU+NPU+基带,实现多功能一体化。

(注:表格和分级标题优化了信息呈现,关键参数和对比清晰标出。)

芯片信息表

属性 描述
型号 STC89C52RC
封装形式 DIP40(双列直插式,40引脚)
端口分组 4组(P0、P1、P2、P3),每组8位,对应寄存器为unsigned char P2等

LED模块特性说明

类型 连接方式 电平要求 导通条件
共阳极 阳极接VCC,阴极接单片机引脚 阴极输出低电平(0V) 阳极(5V)与阴极(0V)形成压差
共阴极 阴极接GND,阳极接单片机引脚 阳极输出高电平(5V) 阳极(5V)与阴极(0V)形成压差

关键概念补充

网络编号

在电路设计中,相同网络编号的引脚表示电气连通,无需物理连线直接连接。例如:

  • 若P2.0和LED阴极均为网络编号"NET1",则两者实际已导通。

寄存器操作示例

通过直接赋值控制端口电平(以P2为例):

c 复制代码
P2 = 0x00;  // P2所有引脚输出低电平(共阳极LED点亮)
P2 = 0xFF;  // P2所有引脚输出高电平(共阳极LED熄灭)

数码管基础概念

数码管是一种常见的显示设备,由多个LED发光二极管组成,通常分为共阴极和共阳极两种类型。共阴极数码管的阴极连接在一起,阳极独立控制;共阳极则相反。51单片机通过位选和段选信号控制数码管的显示内容。


4位共阴极数码管

  • 结构:包含4个独立的数码管单元,每个单元可显示0-9或部分字母。
  • 特点:同一时刻仅能显示一位数字,通过快速切换位选实现多位显示(动态扫描)。

位选与段选

  • 位选:选择当前操作的数码管位。

    • 51单片机通过P1寄存器控制,将对应位设置为1(共阴极)或0(共阳极)。

    • 示例代码(位选第二位):

      c 复制代码
      P1 = 0x02; // 0000 0010,选中第二位
  • 段选:控制当前选中位的显示内容。

    • 通过P0或其他端口发送段码(共阴极为例):

      c 复制代码
      // 显示数字0的段码(a~dp对应P0.0~P0.7)
      unsigned char segCode[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; // 0~9
      P0 = segCode[0]; // 显示数字0

静态显示与动态显示

  • 静态显示:

    • 每个数码管位独立连接驱动电路,所有位同时显示,无需扫描。
    • 优点:亮度高、无闪烁;缺点:占用I/O资源多。
  • 动态显示:

    • 通过快速轮询位选和段选,利用视觉暂留效应实现多位显示。

    • 示例流程:

      c 复制代码
      while (1) {
          for (int i = 0; i < 4; i++) {
              P1 = 1 << i;         // 位选第i位
              P0 = segCode[data[i]]; // 段选数据
              delay_ms(5);         // 短暂延时
          }
      }
    • 优点:节省I/O;缺点:需精确控制延时,否则易闪烁。


共阴极数码管驱动注意事项

  • 限流电阻:每个段选信号需串联电阻(通常220Ω)。
  • 消隐处理:切换位选时关闭段选,避免残影。
  • 驱动能力:若电流不足,需使用三极管或专用驱动芯片(如74HC595)。

参考段码表(共阴极)

数字 段码(a~dp) 二进制
0 0x3F 0011 1111
1 0x06 0000 0110
2 0x5B 0101 1011
... ... ...
9 0x6F 0110 1111

通过合理配置位选、段选及显示模式,可实现稳定高效的多位数码管显示。

相关推荐
辣知15 分钟前
辣知·化智87 两千年前庄子的高维智慧
学习
智购科技自动售卖机厂家23 分钟前
双摄像头方案F1-score只有0.85,排查发现是上下视角的融合逻辑写反了~YH
python·单片机·嵌入式硬件·算法·eclipse
xian_wwq25 分钟前
【学习笔记-一文读懂系列】读懂GBZ-195-2026《人工智能 工业智能体参考架构》
笔记·学习
llilian_1633 分钟前
脉冲时间间隔及计数如何精准测试?
功能测试·嵌入式硬件·51单片机·软件工程
路上有只喵39 分钟前
认识元器件 · 牛角型电解电容· 规格书解读
嵌入式硬件
weixin_4526006943 分钟前
高精密运放——D8629
单片机·嵌入式硬件·dc-dc 转换器·水/气表阀门·共享单车锁舌电机
南某人急了1 小时前
理论篇2——电容、电感的阻抗
学习·硬件工程
硅基手札1 小时前
SPI技术系列 12 · SPI 设备驱动实战
linux·驱动开发·单片机·嵌入式硬件·mcu·性能优化·系统架构
深圳市青牛科技实业有限公司1 小时前
GC4928|8‑28V 带霍尔三相 BLDC 栅极,OA 设备专用驱动芯片
单片机·嵌入式硬件
国科安芯1 小时前
开放指令集的空间之路:RISC-V微控制器在商业航天中的生态价值与自主性评述
嵌入式硬件·mcu·risc-v·低轨卫星·商业航天·抗辐射