51 单片机--day1

一、频率与主频

频率单位换算:

进制为 1000 倍递进:

  • 1KHZ = 10³HZ
  • 1MHZ = 10³KHZ = 10⁶HZ
  • 1GHZ = 10³MHZ = 10⁹HZ
  • 1THZ = 10³GHZ = 10¹²HZ
  • 换算规则:小转大 ÷1000,大转小 ×1000
主频与周期关系
  • 主频:CPU 工作时钟频率
  • 周期与频率互为倒数:周期 = 1 / 频率 例:2.1GHZ = 2.1×10⁹HZ,单周期约 0.5ns
51 常用晶振
  • STC89C52/STC89C52RC 常用:12.0000MHZ、11.0592MHZ

二、51 单片机硬件基础

芯片型号与封装
  • 开发板:HC6800-MS、普中 51-MS
  • 芯片:STC89C52RC、AT89C51、P89V51 等,源自 Intel MCS-51(8051 架构,8 位单片机)
  • 封装:40 引脚双列直插式
  • IO 分组:4 组 GPIO(P0/P1/P2/P3),每组 8 个引脚
  • 电路网络编号:相同编号代表导线连通,简化绘图布线
电阻数字标注规则(LED 配套)

三位数字标注:前两位有效数字,末位代表 10 的次方

  • 102:10×10²=1KΩ
  • 103:10×10³=10KΩ
外设寄存器

拥有固定硬件地址,用于直接操控硬件;C 语言通过指针宏定义访问

示例:#define P2 *((unsigned char *)A0)

  • P2=0xFF:全部引脚输出高电平 11111111
  • P2=0x00:全部引脚输出低电平 00000000
STC 芯片内部结构(文档 STC89C52 系列)
  1. 核心:8 位 8051 架构 CPU
  2. 存储单元:ROM(存放程序代码)、RAM(运行变量)
  3. 时钟模块:支持 12M/11.0592M 晶振,提供主频
  4. 外设资源:4 组 8 位 GPIO(P0、P1、P2、P3)、定时器、中断模块、UART 串口
  5. 寄存器组:各类外设寄存器(固定地址,控制硬件)
  6. 配套外设驱动接口:可外接 LED、按键、蜂鸣器、数码管、LCD 等外设
单片机最小系统包括
  1. STC89C52 主控芯片(MCU)
  2. 晶振电路(常用 12.0000MHZ、11.0592MHZ 晶振,提供主频时钟)
  3. 复位电路
  4. 电源供电电路
  5. 基础 GPIO 引脚(P0/P1/P2/P3 四组 IO 口)

三、C 语言位运算(单片机核心操作)

数据类型 unsigned char 为 8 位,bit0 最低位 LSB,bit7 最高位 MSB

按位或 |
  • 规则:有 1 则 1,全 0 才 0;用途:指定位置 1
cs 复制代码
t |= (1 << n); // 将第n位单独置1
t |= (1<<2)|(1<<3); // 同时置多位
按位与 &
  • 规则:全 1 才 1,有 0 则 0;用途:指定位清 0
cs 复制代码
t &= ~(1 << n); // 将第n位清零,其余不变
移位运算符
  • <<左移、>> 右移,用于快速构造掩码
按位异或 ^
  • 规则:相同为 0,相异为 1;多用于引脚电平翻转

四、数码管驱动原理

  • 硬件:4 位共阴极数码管,NPN 三极管做位选(P10~P13),段选控制单段点亮
  • 动态显示原理:利用人眼视觉暂留,分时快速点亮每一位数码管,间隔短延时刷新,视觉上同时显示多数字
数码管动态显示原理

依靠人眼视觉暂留效应实现多位同时显示,步骤:

  1. 选中第一位数码管,输出对应数字段码,短暂延时(如 delay (100));
  2. 消隐后切换位选,选中第二位数码管,输出第二位数字段码,同样短暂延时;
  3. 循环快速轮流刷新每一位数码管;
  4. 切换速度足够快时,人眼无法察觉闪烁,视觉上认为 4 个数码管同时点亮。

五、各类处理器 / 芯片分类对比

8051(51 单片机 / MCU 微控制器)
  • 集成 CPU、RAM、ROM、定时器、GPIO、中断、串口等全部外设;成本低,用于简单控制场景
MPU 微处理器
  • 仅集成 CPU,存储、外设需外接;复杂度高,可运行 Linux,成本高
其他架构 / 芯片
  • CPU:中央处理器,负责运算、指令执行
  • 架构:x86 (32 位)、x64 (64 位)、8051 (8 位)、ARM (32 位)
  • NPU:神经网络处理器,AI 推理、卷积加速
  • FPU:浮点运算单元,集成于 CPU 内部
  • SOC 片上系统:多芯片、内存、外设高度集成一体
描述 CPU、MCU、MPU、GPU、NPU、FPU、SOC
  1. CPU(中央处理器) 全称 Central Processing Unit,负责指令处理、数据运算,是芯片核心运算单元,所有计算、逻辑判断都由 CPU 完成。
  2. MCU(微控制器 / 单片机) 全称 Micro Controller Unit,集成度极高,单芯片内部集成 CPU、RAM、ROM、定时器、GPIO、中断、串口 UART 等全部外设;成本低、使用简单,多用于工业控制、小家电等简单控制场景,51 单片机属于 MCU。
  3. MPU(微处理器) 全称 Micro Processing Unit,仅集成独立 CPU,存储、外设模块都需要外部单独搭建;集成度低、成本高,可搭载 Linux 系统,适合复杂应用。
  4. GPU(图形处理器) 文档提及配套显存,专门存放图形图像数据,负责图像渲染、画面输出,搭配 HDMI/VGA 等显示接口。
  5. NPU(神经网络处理器) 全称 Neural Processing Unit,专门用于 AI 推理、AI 加速,处理神经网络、卷积算法,人工智能专用运算单元。
  6. FPU(浮点数运算单元) 浮点运算专用模块,绝大多数集成在 CPU 内部,负责小数、高精度浮点数值计算。
  7. SOC(片上系统) 全称 System On Chip,将 CPU、存储、各类外设、处理器等多块芯片功能全部集成在单颗芯片上。

六、存储介质分类

1. 内存(RAM 随机存储器)
  • 读写快、掉电丢失数据、价格高
  • 作用:存放程序运行临时变量
2. 外存
  • 读写慢、断电数据保存、价格低廉
  • 设备:硬盘、SD 卡;作用:存储代码、程序、指令
3. ROM 只读存储器
  • 存放单片机固件、程序代码,出厂固化或烧录写入
内存和外存特点
内存
  • 读写速度快
  • 断电后数据直接丢失
  • 单位存储成本高,代表硬件:电脑内存条、单片机片内 RAM
  • 用途:存放程序运行时临时变量、临时数据
外存
  • 读写速度慢
  • 断电数据永久保存,不会丢失
  • 价格低廉,代表硬件:硬盘、SD 卡、单片机片内 ROM
  • 用途:存储程序、代码、指令、固定资源
RAM 和 ROM 特性
ROM(只读存储器 Read-Only Memory)
  1. 只读属性,程序烧录后正常运行中只能读取,不可随意改写
  2. 掉电数据不丢失
  3. 作用:存放单片机程序、源代码、指令集合
RAM(随机访问存储器)
  1. 可读可写,运行时随时修改内部数据
  2. 断电数据全部丢失
  3. 作用:存储程序运行过程中产生的临时变量、临时运算数据

七、CPU 与 RAM 通信三大总线

  • 地址总线(单向):CPU 发送内存地址,寻址空间由位宽决定(8 位总线最大寻址 256Byte)
  • 数据总线(双向):CPU 与 RAM 互相传输数据
  • 控制总线(双向):传输读写、启停等控制指令
工作流程举例

int a=2;int b=3;sum=a+b;

  1. CPU 通过控制总线发送读指令;
  2. 地址总线定位 a、b 变量在 RAM 中的地址;
  3. 数据总线读取 a、b 数值送入 CPU 运算;
  4. 运算完成后,数据总线将 sum 结果写回 RAM 对应地址。
CPU 与 RAM 之间三大总线及作用
  1. 地址总线(单向传输) CPU 通过地址总线传递内存地址,用来定位 RAM 中指定存储单元;8 位总线最大寻址范围 2⁸=256Byte。
  2. 数据总线(双向传输) 负责 CPU 和 RAM 之间的数据互相传输,CPU 读数据、写运算结果都依靠数据总线。
  3. 控制总线(双向传输) CPU 发送读写、启停等控制指令给 RAM,传递硬件控制信号。
相关推荐
三品吉他手会点灯2 小时前
嵌入式机器学习 - 学习笔记1.0.1 - 从 Alexa 到 TinyML:为什么机器学习开始跑进微控制器?
人工智能·笔记·嵌入式硬件·学习·机器学习
nuoxin1142 小时前
HR4988替代A4988-富利威
网络·人工智能·嵌入式硬件·fpga开发·dsp开发
KaifuZeng2 小时前
通信与接口协议面试十七、SFP光模块
单片机·嵌入式硬件·面试·通信与接口协议
深圳尚鼎2 小时前
尚鼎防潮柜分析:三核EtherCAT实时控制MCU/DSP发展趋势
单片机·嵌入式硬件
阿拉斯攀登3 小时前
SPI 设备驱动开发
linux·驱动开发·嵌入式硬件·linux内核·嵌入式·linux驱动·spi
Dlrb12113 小时前
51单片机基础知识
单片机·嵌入式硬件·51单片机
FREEDOM_X3 小时前
Linux 进程间通讯(IPC)——总结
linux·c语言·前端·嵌入式硬件·struts
MYMOTOE64 小时前
摩托罗拉基带处理器 VRTXmc 实时操作系统深度解析
单片机
振南的单片机世界4 小时前
地址总线定门牌号,数据总线搬货量:CPU的“寻址”与“搬运”
arm开发·stm32·单片机·嵌入式硬件