☰
原理图——51单片机最小系统
2026/10/29 11:03:57 网站建设 项目流程

这个51单片机最小系统电路图,最中间一大块就是核心芯片

左上9号引脚的是RST就是RESET复位管脚,连接的就是一个复位电路

左下18、19号引脚是XTAL是晶振的英文缩写,连接的是晶振时钟电路(12Hz)。这个晶振时钟电路先并联一个电阻R2,然后并联一个晶振,接着串联两个电容接地,这两个电容就是谐振电容

右上是系统电源的设计图,电源通过一个开关之后经过两个电容进行一个滤波,然后接入单片机

电源电路:单片机最小系统中的电源是指能量的来源,其中VCC(4O脚)将电源的正极和GN口(20脚)视为电源的输入和输出。接地端(电源负极则用于与地面形成电气连接。

选择接入type c接口,它分为6PIN 、16PIN、24PIN,分别对应USB3.0 、USB2.0以及仅供电。此芯片只需仅供电,所以选择6PIN的type c 接口,且选择LDO作为降压的线性稳压器(5v降到3.3v给单片机)

1、复位电路

总结一下上电过程: 通电瞬间,RST脚是高电平(触发复位);电容充满电后,RST脚变成低电平(单片机开始正常工作)。

  • 复位:相当于电脑的“重启键”。单片机刚通电时,或者出现死机时,需要给这个引脚一个特定的信号,让它从头开始运行。
  • 该单片机RST是接高电平复位,意思是:只要这个引脚上出现了持续一段时间的高电平(比如2个机器周期),单片机就会“重启”。
  • 没按开关(刚上电)时的魔法:

    假设我们现在刚把电源打开(或者刚插上电),此时 VCC(电源正极,比如5V)突然有了电。这时候电容 C1 和电阻 R1 会发生什么?电容的特性:电压不能突变。在刚通电的瞬间,电容就像一个“短路”的导线。此时,VCC 的 5V 电压会瞬间通过电容 C1 传导到 RST 引脚上。这时,RST 引脚处于高电平(5V)。随着时间推移,电容 C1 开始充电。充满电后,电容就相当于“断路”了,VCC 的电压过不去了。而这个时候,RST 引脚通过下面的电阻 R1 连接到了 GND(地线,0V)。所以,RST 引脚的电压被 R1 拉低到了低电平(0V)。

  • 按下复位按键时

这个图里其实漏画了一个复位按键(通常标准的单片机最小系统会在 C1 旁边并联一个按键,按下去接地)。如果我们按下复位键,相当于直接把 RST 引脚通过按键接到了 GND(0V),这时候电容 C1 里存的电会瞬间通过按键放掉。当松开按键的那一瞬间,又重复了上面“刚上电”的过程:电源又通过 C1 给RST 脚一个瞬间的高电平,单片机就会再次重启。

这个电容 C1 和电阻 R1 的组合,在电路里叫“RC微分电路”。它的核心作用就是:把一直存在的直流高电平,变成一个“瞬间的脉冲高电平”,让单片机感觉被“戳”了一下,从而完成复位。

问题一:为什么接入电源的瞬间,电容相当于“短路”?
在电路学里,有个非常基础但极其重要的物理定律:电容两端的电压不能突变。

你可以把电容想象成一个“蓄水池”,电压就是“水位”。

没通电时:水池里没水,水位是0。

刚通电的瞬间(接入VCC):电源相当于一个巨大的水库,突然接上了你的水池。

为什么像短路? 因为水池里没水(电压为0),而水库水压很高(比如5V)。为了平衡,水库里的水会瞬间大量、毫无阻力地涌进你的水池。这时候,水流的通道非常畅通,在电学里这就叫“容性短路”。

在这个瞬间,RST引脚上感受到的,完全是电源的5V电压(高电平)。

之后呢? 随着水池里的水越来越多(电容充电),水位(电容两端的电压)慢慢升高,当升到和水库一样高(5V)的时候,水就流不动了。这时候,电容相当于“断路”(阻隔直流)。此时,RST引脚不再从VCC获得电压,而是通过下面的电阻R1“漏”到了地线(GND),电平就变成了0V。

所以,“短路”只发生在一瞬间(微秒级),目的就是让RST引脚瞬间“喝”到一口高压。

问题二:你从哪里知道它是“高电平复位”?

途径2:查官方数据手册(DataSheet)(最权威)
学硬件,数据手册就是圣经。如果你去搜索“STC89C51 数据手册”,翻到讲“RST引脚”的那一页,你会看到类似这样的话:

“RST引脚是复位输入端。当振荡器工作时,该引脚出现两个机器周期以上的高电平,将使单片机复位。”
(附带一句:STC官方的芯片手册全是中文的,非常适合零基础,遇到不懂的引脚直接去搜手册里的引脚定义表。)

途径3:看标准的经典电路(抄作业的经验)
在51单片机领域,有一个流传了30年的经典叫“上电复位电路”。

  • 51单片机(高电平复位):必须是 电容接VCC,电阻接GND。(也就是你图里画的这个,上面电容,下面电阻,中间抽头接引脚)。

  • STM32/AVR(低电平复位):必须是 电容接GND,电阻接VCC。(上下反过来)。

你只要记住这个口诀:

  • 电容在上,电阻在下-> 上电瞬间出高电平 -> 给51用。

  • 电阻在上,电容在下-> 上电瞬间被拉到低电平 -> 给STM32用。

2、晶振电路

  • 单片机工作需要节奏(时钟频率),晶振X1就是给它提供节拍的。就像人的心脏跳动一样。晶振(X1)里面是一小块石英晶体,就像音叉一样。你敲它一下,它会振动,但如果你不控制,它的振动会越来越弱,而且容易受到周围环境干扰。

电容的作用就像给音叉装了“共鸣箱”。它们和晶振组成了一个振荡回路。

晶振开始起振时,这两个电容不断地充放电,把能量“喂”给晶振,让它维持住稳定的震动频率。如果没这两个电容,晶振可能根本起不来(不起振),或者频率乱飘。

问题一:为啥是两个电容?

核心原因:因为晶振有“两条腿”
晶振(X1)是跨接在单片机两个引脚之间的(引脚18和19)。这两个引脚,就像是单片机的“左耳”和“右耳”。

引脚18(XTAL1)是输入端(单片机内部的反相放大器从这里进)。

引脚19(XTAL2)是输出端(放大器放大后的信号从这里出)。

晶振振动时,会在两根线之间产生交流信号。这两根线上都有高频信号在来回跑。既然两根线上都有信号,为了保持两根线的平衡,就必须一根线配一个电容,各自对地(GND)泄放。 如果只接一个电容,这“跷跷板”就一头重一头轻了。

问题二:为什么没有电源?电容的电从哪来

1. 单片机内部藏着一个“放大器”
虽然外部晶振没接电源,但是单片机的第18脚(XTAL1)和第19脚(XTAL2)内部,其实连接着一个反相放大器(可以把这想象成一个会“自动推秋千”的机械臂)。这个内部放大器是通电的(因为芯片的Vcc和Gnd已经接好了)。

2. 电容的电是怎么充进去的?(起振的瞬间)
当单片机刚通电的瞬间,内部电路会有微小的电压波动(或者说是热噪声)。这个微小的波动传到了19脚。
这时候,电容和晶振就登场了:

19脚电压升高 -> 电流通过导线流过右侧电容 C3,流向地线(GND),C3 被充电了。

同时,19脚的波动通过晶振 X1 传到了 18脚。

18脚电压降低 -> 电流从地线(GND)流经左侧电容 C2,流向 18脚,C2 也被充电了。

看到没?电容的电,就是单片机内部放大器推出来的电流,在这个回路里跑来跑去。 因为是交流信号(电流来回跑),电容就像一个“搬运工”,不断地从单片机引脚把电荷搬到地线,又从地线搬回单片机引脚。

3. 电容充当了“弹簧”的作用
单片机内部那个“机械臂”(放大器)在推秋千(晶振)。如果秋千的绳子直接固定在地上,硬邦邦的,它推起来就会很费劲,甚至推不动。

电容(C2、C3)在这里充当了“弹簧”的作用。

当内部机械臂把信号推高(给晶振充电)时,电容被充能(弹簧被压缩)。

当内部机械臂往回拉时,电容释放能量(弹簧反弹),帮了机械臂一把。

这种“一推一拉、一充一放”的循环,就形成了稳定的振荡。电容在这个过程中,不断地充放电,它的电荷完全来自于单片机内部放大器提供的能量。

4. 为什么必须接地?(电路的闭环)
电容一端连着晶振引脚,另一端必须连着地线(GND)。
因为电子要在电路里流动,必须有个“来”和“回”。地线就像是公共的水库。单片机内部放出的电,必须通过电容流到水库里存起来;需要电的时候,再从水库里抽回来。如果电容不接地,电荷就无处安放,回路断开了,电流就停了,振荡也就立刻停止了。

把整个过程想象成“荡秋千”:

  1. 你(单片机内部的放大器)站在秋千(晶振)旁边,秋千的两端连着两根弹簧(C2 和 C3),弹簧的另一端固定在大地上(GND)。

  2. 你一开始轻轻推了一下秋千(通电瞬间的微小电流)。

  3. 秋千向左荡,左边弹簧被拉长(C2 充电);秋千向右荡,右边弹簧被拉长(C3 充电)。

  4. 弹簧的收缩力(电容放电)配合你的推力,让秋千越荡越有规律。

  5. 在这里,你的力气是单片机内部给的,而弹簧(电容)只是把力气攒起来,然后再释放出来。

3、电源与滤波

  • 位置:引脚40 (Vcc)接电源正极(比如5V或3.3V),引脚20 (Gnd)接电源负极(地线)。

  • SW1开关:这是总电源开关。

问题一:为啥要滤波?

  • 你家里的插座出来的 5V 电源,并不是一条完美的直线。它在不停地抖动、起伏(这叫纹波)。
    更可怕的是,单片机自己也会“污染”电源。单片机内部有数百万个晶体管,它们在一秒钟内开关上千万次(因为晶振在跑)。每次开关,都会瞬间从电源里“抽”一口电。如果抽得太猛,电源电压就会瞬间被拉低一下,就像水龙头一开,水管里的水压就会降一下。
    如果电压抖动太大,单片机就会晕头转向,导致程序跑飞或者数据出错。

    这时候,就需要电容来当“水库”和“净水器”。

2. 大电容 C5(10uF):粗壮的“蓄水池”
它在哪:电源正极和地线之间。注意看它带个 + 号,这是电解电容(有正负极)。

它的作用:它是容量很大的“大水库”。当单片机突然需要大量用电(比如瞬间打开某个模块)时,C5 就立刻把存好的电“吐”出来,稳住电压。当电源平稳时,它又慢慢把电“吸”进去存着。

它防什么:防低频的电压波动(比如几毫秒一次的电压跌落)。

3. 小电容 C6(104):敏捷的“游击队员”
它在哪:紧挨着单片机的 Vcc 引脚。图上写的是 104(这代表 0.1uF,即 100nF)。

它的作用:它是一个无极性电容(通常是瓷片电容,没有正负极)。大电容(C5)虽然容量大,但它的反应速度慢。而单片机内部开关速度极快(高频),C5 根本来不及反应。这时候,就需要这个极其敏捷的小个子 C6 顶上。它能极快地吸收掉单片机瞬间产生的细小毛刺和干扰。

它防什么:防高频噪声,顺便“喂”饱单片机的瞬间用电。

问题二: 为什么图里还要加一个开关 SW1 和插座 Vin?
Vin:这是外部电源接口(比如电池或者 USB 线)。

SW1:这是一个拨动开关。你可以把它想象成家里的总闸。断开时,单片机完全没电;闭合时,电源经过开关送进来。

三角形框框代表外部电源。

顺序:外部电源 -> SW1开关 -> C5滤波 -> C6高频滤波 -> 单片机Vcc(引脚40)。

自己画原理图的时候要思考什么(就是要画哪些电路)

第一个拷问:我的板子,吃什么饭?(电源系统)

这是所有电路的基础,没有电一切白搭。

  • 电从哪来?如果插电脑 USB,那就是 5V;如果接电池,可能是 3.7V 或 12V。你需要画一个接口(比如你画的 Type-C)。

  • 能不能直接吃?查一下你主芯片的“数据手册”(Datasheet)。51 吃 5V,那就直接连;STM32 吃 3.3V,那 5V 进去就必须“降压”。

  • 解决方案:画LDO 降压电路(比如你刚看的 AMS1117)。

  • 需不需要开关?你总不能每次拔插头断电,所以要画个拨动开关。

  • 防不防干扰?必须画滤波电容(大小电容并联,你学的 C4、C5 就是干这个的)。

第二个拷问:我的板子,怎么活下来?(最小系统)

这是让芯片能跑起来的最基本条件,缺一不可。

  • 心跳(时钟):芯片要工作得有时钟,查手册看它是外接晶振还是内部自带。如果是 51,你就得画12M 晶振+电容;STM32 一般是 8M 晶振。

  • 重启(复位):死机了要能重启,所以必须有复位电路(按键+电容电阻)。

  • 程序从哪来(启动模式):51 的 EA 引脚接高电平;STM32 的 BOOT0 引脚要接下拉电阻接地。

  • 芯片自身怎么吃电(去耦):除了电源总闸,芯片每个电源引脚旁边,必须画一个100nF 电容(你画的那个 C5)。

第三个拷问:我的板子,怎么跟外界交流?(外设与调试)

芯片能跑起来了,你要怎么控制它?你要怎么看到它工作?

  • 我想把代码灌进去:51 需要引出串口排针;STM32 需要引出 SWD 下载排针(4根线)。

  • 我怎么知道它通电了?画一个电源指示灯(LED+限流电阻)。

  • 我想写第一个程序验证一下:画一个用户 LED 灯,接在一个 IO 引脚上。

  • 我想外接传感器或屏幕:把剩下的 IO 引脚全部通过排针引出来。

  • 我想按一按它:画一个独立按键,接在 IO 口和地之间。

画原理图时的顺序:

1. 巧用“网络标号”代替“满天飞线”
如果你从Vcc引脚拉一根线到开关,再从开关拉到电容,最后再拉到各个模块,你的图最后会变成一团乱麻(俗称“蜘蛛网”)。

怎么做:你看图里那些带箭头的三角形,写着 Vcc 和地线符号 GND。在画图软件里,你只需要把引脚拉出一小截线,然后放一个 Vcc 的符号或者 GND 的符号。软件会自动把所有的 Vcc 连在一起,所有的 GND 连在一起。

同理:如果在图里引脚9的线拉得很长,你也可以不用拉过去,直接放个网络标号写着 RST,另一头也写 RST,它们在逻辑上就是连通的。

2. 给每根“线”起名字(网络标签)
单片机的引脚很多,比如 P0、P1、P2。如果你只画了线,软件是不知道这根线叫什么名字的。

怎么做:在画图时,给重要的线打上网络标号。比如连到引脚9的线,打上 RST 标签;连到开关的线,打上 VIN 标签。这不仅能让你自己看着清爽,软件在生成PCB时也能准确对应。

3. 确认每个元件的“Footprint(封装)”**
这是新手最容易犯的致命错误!原理图里的电阻就是一个长方形,但在物理世界上,它有直插(针脚)和贴片(像个小芝麻)之分。

怎么做:在画原理图(或者画完之后),双击每个元件,检查它的“封装(Footprint)”。

比如电容 C5(10uF),如果你买的是直插的电解电容,封装就要选 CAP-RAD 或者 RAD-0.1;如果是贴片的,就要选 0805 或 0603。

建议:零基础尽量全选直插元件(直插电容、直插电阻),因为好焊接,封装选标准的 RAD-0.1(电阻)和 RB.2/.4(电解电容)。

4. 极其极其重要:看好极性元件的正负极
电解电容(C1, C5):在原理图里,它们符号上有个 + 号(或者一边是直线,一边是弧线)。画图时,+极必须接 VCC,另一端接 GND 或 RST。

芯片:注意看芯片上的那个半圆缺口或者小圆点。画原理图时,第一脚(左上角)要明确标出来。

发光二极管(LED):如果以后画 LED,注意长脚是正极,短脚是负极,原理图符号里带箭头的这边是负极。

5. 电源和地的符号要分清
VCC / +5V:代表电源正极。通常用向上的三角形或横线(T型)表示。

GND:代表地线。通常用几根横线组成的倒三角形表示。

千万注意:不要把这个图里的 GND 当成 VCC 连了。VCC 是吃的,GND 是拉的。

6. 按照“模块化”来画(让你思路清晰)
不要拿到芯片就开始一根根乱拉线。按照你刚才理解的模块来画:

先摆芯片:把STC89C51放在中间。

画复位模块:左边画个框,把C1、R1、按键(强烈建议你加上复位按键)连好。

画晶振模块:左边画个框,把X1、C2、C3连好。

画电源模块:右边画个框,放开关SW1、电源接口Vin、大电容C5,连到Vcc。

画去耦模块:C6放在芯片引脚旁边。

画EA引脚:从31脚拉根线接Vcc。

7. 检查“空脚”(悬空引脚)
在单片机上,你不可能用满40个引脚。像 P0、P1、P2 这些端口,你可能会空着很多引脚不接。

做法:空着完全没关系,但在画完图之后,检查一下有没有“必须要接但忘了接”的线(比如 VCC、GND、EA、RST)。其它纯输入输出脚(比如P1.0)空着绝不报错。

    自己画的时候要注意的地方

    1、vin:选type-c时选6p就够了,

    GND与GND都要相连之后接地,VBUS与VBUS也是都要接VCC,这个CC1和CC2是为啥要接呢?

    1. 为什么必须接 5.1K 电阻?(对暗号)
    想象一下,你的充电头或电脑(主机)是一个挑剔的保安,你的单片机板子是一个访客。

    以前的老 USB,只要插上去,保安就直接开门供电。

    但是 Type-C 接口变了。保安(充电器)会一直盯着 CC 引脚,探测有没有人来。

    如果你什么都不接(悬空):保安觉得“没人来,或者是根废线”,直接拒绝供电。

    如果你接了 5.1K 电阻到地(GND):这就相当于访客出示了“我是普通设备”的通行证。保安探测到这个 5.1K 的阻值,就会说:“哦,是个需要供电的小板子,最高给你 5V 供电吧。” 然后才会把电送到你的 VBUS 上。

    所以,不接这个电阻,你的板子插上线也毫无反应。

    2. 为什么要有两个(CC1 和 CC2)?(正反插的奥秘)
    Type-C 最大的卖点就是正反都能插。

    当你正着插的时候,线里的信号连到了板子的 CC1 上。这时候 CC1 接了下拉电阻,保安探测到了,供电。

    当你反着插的时候,线里的信号连到了板子的 CC2 上。这时候 CC2 接了下拉电阻,保安探测到了,供电。

    所以,为了保证你随便怎么插都能通电,CC1 和 CC2 必须各自单独接一个 5.1K 的电阻到地。

    需要专业的网站建设服务?

    联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

    立即咨询