[应用方案] 必备的电路知识

[复制链接]
1235|56
lzbf 发表于 2025-11-29 19:12 | 显示全部楼层 |阅读模式
上拉电阻的作用
什么是上拉电阻?上拉电阻就是将一个不稳定的(高或低电平)信号,通过一个电阻与电源 VCC 相接,将其固定在高电平。通常用于有按键的场景。上拉电阻的作用是让不稳定的高电平保持稳定,从而可以正确的读取状态并控制电路的其他部分。 与上拉电阻对应的还有下拉电阻。相反地,下拉电阻的一端接的是 GND ,使信号固定在低电平。
共阳极与共阴极数码管如下动图所示,总共有 7 段 LED 用于显示数字或字母的电子元件称为 7 段数码管,有时候右下角会包含显示小数点的一点 LED ,所以通常也称为 8 段数码管。






来自维基百科摘录的动图
8 段数码管分为共阴极和共阳极数码管。共阳极数码管的正极为所有发光二极管的共有正极,其他接点接负极。从下图中可以看出,当引脚为 0 时,二极管点亮;当引脚为 1 时,二极管不亮。






共阳极数码管
共阴极数码管的阴极为所有发光二极管的共有阴极,其他接点接正极。从下图可以看出,当引脚为 1 时,二极管点亮;当引脚为 0 时,二极管不亮。






共阴极数码管
下图是关于数码管各引脚的定义,需要显示什么数字只要把对应的引脚定义好就可以。但需要注意的是,共阳极与共阴极数码管的段码是不一样的。




  1. /*
  2. * 驱动一个共阳极的数码管,显示数字 0~9
  3. */

  4. // 设定控制各段的数字引脚
  5. int pin_a = 7;
  6. int pin_b = 6;
  7. int pin_c = 5;
  8. int pin_d = 10;
  9. int pin_e = 11;
  10. int pin_f = 8;
  11. int pin_g = 9;
  12. int pin_p = 4;

  13. // 根据共阳极/共阴极数码管段码表,定义 0~9 显示的各段开关状态
  14. int numTable[10][8]={
  15.   // 共阳极数码管段码,将共极接 Vcc(5v/3.3v)
  16.   // 0 为点亮,1 为关闭
  17.   // a  b  c  d  e  f  g  dp
  18.   {0, 0, 0, 0, 0, 0, 1, 1},     // 0
  19.   {1, 0, 0, 1, 1, 1, 1, 1},     // 1
  20.   {0, 0, 1, 0, 0, 1, 0, 1},     // 2
  21.   {0, 0, 0, 0, 1, 1, 0, 1},     // 3
  22.   {1, 0, 0, 1, 1, 0, 0, 1},     // 4
  23.   {0, 1, 0, 0, 1, 0, 0, 1},     // 5
  24.   {0, 1, 0, 0, 0, 0, 0, 1},     // 6
  25.   {0, 0, 0, 1, 1, 1, 1, 1},     // 7
  26.   {0, 0, 0, 0, 0, 0, 0, 1},     // 8
  27.   {0, 0, 0, 0, 1, 0, 0, 1},     // 9

  28.   
  29.   // 共阴极数码管段码,将共极接 GND
  30.   // 1 为点亮,0 为关闭
  31.   // a  b  c  d  e  f  g  dp
  32.   //{1, 1, 1, 1, 1, 1, 0, 0},     // 0
  33.   //{0, 1, 1, 0, 0, 0, 0, 0},     // 1
  34.   //{1, 1, 0, 1, 1, 0, 1, 0},     // 2
  35.   //{1, 1, 1, 1, 0, 0, 1, 0},     // 3
  36.   //{0, 1, 1, 0, 0, 1, 1, 0},     // 4
  37.   //{1, 0, 1, 1, 0, 1, 1, 0},     // 5
  38.   //{1, 0, 1, 1, 1, 1, 1, 0},     // 6
  39.   //{1, 1, 1, 0, 0, 0, 0, 0},     // 7
  40.   //{1, 1, 1, 1, 1, 1, 1, 0},     // 8
  41.   //{1, 1, 1, 1, 0, 1, 1, 0},     // 9
  42. };

  43.   
  44. void setup() {
  45.   // 设置 4~11 引脚为输出模式
  46.   for (int i=4; i<=11; i++){
  47.     pinMode(i, OUTPUT);
  48.     }
  49. }

  50. void loop() {
  51.   // 依次显示 0~9
  52.   for(int i=0; i < 10; i++){
  53.     digitalWrite(pin_a, numTable[i][0]);
  54.     digitalWrite(pin_b, numTable[i][1]);
  55.     digitalWrite(pin_c, numTable[i][2]);
  56.     digitalWrite(pin_d, numTable[i][3]);
  57.     digitalWrite(pin_e, numTable[i][4]);
  58.     digitalWrite(pin_f, numTable[i][5]);
  59.     digitalWrite(pin_g, numTable[i][6]);
  60.     digitalWrite(pin_p, numTable[i][7]);
  61.     delay(500);
  62.     }
  63.    delay(200);
  64.   // 依次显示 9~0
  65.   for(int i=9; i > 0; i--){
  66.     digitalWrite(pin_a, numTable[i][0]);
  67.     digitalWrite(pin_b, numTable[i][1]);
  68.     digitalWrite(pin_c, numTable[i][2]);
  69.     digitalWrite(pin_d, numTable[i][3]);
  70.     digitalWrite(pin_e, numTable[i][4]);
  71.     digitalWrite(pin_f, numTable[i][5]);
  72.     digitalWrite(pin_g, numTable[i][6]);
  73.     digitalWrite(pin_p, numTable[i][7]);
  74.     delay(500);
  75.     }
  76.    
  77. }





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
qintian0303 发表于 2025-11-29 21:48 | 显示全部楼层
数码管的驱动的话,是不需要加限流电阻?它一般的驱动芯片会根据需要进行输出?
51xlf 发表于 2025-12-6 22:48 | 显示全部楼层
掌握必备的电路知识是电子工程师、嵌入式开发者、硬件爱好者乃至自动化/物联网从业者的基石。
uptown 发表于 2025-12-7 09:27 | 显示全部楼层
每个 IC 电源引脚就近放置 0.1µF 陶瓷电容;
主电源入口加 10–100µF 电解电容。
geraldbetty 发表于 2025-12-7 14:03 | 显示全部楼层

掌握电路知识的核心在于:理解基本元件特性、熟悉单元电路功能、熟练运用分析方法(如基尔霍夫定律、戴维宁定理),并在设计中注重信号完整性、电源布局与热管理等关键细节
wengh2016 发表于 2025-12-10 11:01 | 显示全部楼层
用示波器看 电源纹波、开关节点波形、复位信号。重点测 上电时序、掉电保持时间、短路恢复能力。
timfordlare 发表于 2025-12-10 11:48 | 显示全部楼层
MOSFET 栅极不能悬空! 必须加下拉/上拉电阻
averyleigh 发表于 2025-12-10 13:19 | 显示全部楼层
效率高,需电感/二极管,适合大电流/宽电压范围
bestwell 发表于 2025-12-10 20:17 | 显示全部楼层
高功耗元件下方铺铜或增加散热焊盘。 避免热敏感元件靠近发热源。
pentruman 发表于 2025-12-10 20:43 | 显示全部楼层
开关电源需滤除纹波,线性稳压需散热。
caigang13 发表于 2025-12-11 08:46 来自手机 | 显示全部楼层
论上下拉电阻的作用,上下拉电阻提供一个稳定的电平状态。
pixhw 发表于 2025-12-11 10:10 | 显示全部楼层
电路设计的本质,是在电压、电流、时间、空间四个维度上,平衡性能、成本、可靠性与安全性。
abotomson 发表于 2025-12-11 12:56 | 显示全部楼层
单点接地、模拟地/数字地分离、敏感电路加屏蔽罩
sdlls 发表于 2025-12-11 15:07 | 显示全部楼层
掌握由基本元件构成的功能性电路,是看懂复杂原理图的基础:

整流电路、滤波电路、稳压电路
放大电路、振荡电路
RC/LC电路、串并联电路
minzisc 发表于 2025-12-11 15:31 | 显示全部楼层
低压差,结构简单、噪声低,效率低,适合小电流场景
kmzuaz 发表于 2025-12-11 16:10 | 显示全部楼层
模拟地与数字地单点连接;
大电流回路地线远离敏感信号。
kkzz 发表于 2025-12-11 16:46 | 显示全部楼层
要系统掌握电路知识,需从基础理论到实际应用层层递进。这不仅包括对电子元器件的认知,还涉及电路分析方法、PCB设计原则以及常见问题的规避策略。
benjaminka 发表于 2025-12-11 17:34 | 显示全部楼层
计算电压、电流、电阻关系,用于分析负载电流对电路的影响。
 楼主| lzbf 发表于 2025-12-11 18:56 | 显示全部楼层
I²C 总线必须加 上拉电阻;
UART 超过 30cm 建议转 RS485。
vivilyly 发表于 2025-12-11 20:51 | 显示全部楼层
先识符号,再学单元从识别电阻、电容等基本元件符号开始,逐步学习整流、放大等单元电路
您需要登录后才可以回帖 登录 | 注册

本版积分规则

167

主题

6033

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0