Deprecated: Creation of dynamic property db::$querynum is deprecated in /www/wwwroot/www.desiccant010.com/inc/func.php on line 1413

Deprecated: Creation of dynamic property db::$database is deprecated in /www/wwwroot/www.desiccant010.com/inc/func.php on line 1414

Deprecated: Creation of dynamic property db::$Stmt is deprecated in /www/wwwroot/www.desiccant010.com/inc/func.php on line 1453

Deprecated: Creation of dynamic property db::$Sql is deprecated in /www/wwwroot/www.desiccant010.com/inc/func.php on line 1454
用3个IO口操控6个LED灯怎样做到的?_竞技宝JJB官方测速网站入口

用3个IO口操控6个LED灯怎样做到的?

时间:2024-12-23 06:19:24   来源: 竞技宝测速网站

6个LED灯为相同的类型,为便利检查,用红绿两种颜分两种不同的方向。 所谓“高阻态”,...

  6个LED灯为相同的类型,为便利检查,用红绿两种颜分两种不同的方向。

  所谓“高阻态”,是指GPIO对外部电路表现出极大的阻抗。因阻抗很大,简直不会吸入电流,也不会对外输出电流。

  1、当只需LED1亮起时,单片机各GPIO的状况如下:(带箭头的红线为电流回路)

  很简单,因为这样的解决办法来源于美信半导体公司的工程师Charlie Allen。

  查理复用是一种能够在驱动LED,特别是驱动很多LED时有效地节省GPIO的办法。

  恣意两个GPIO引脚之间串入两个LED,这两个LED为并联,且LED方向相反。

  当你想要点亮某个特定的LED时,就将其两头所连接到的GPIO引脚别离设定为高电平和低电平,其它剩下的GPIO引脚设定为高阻态。

  能够看出,确实是恣意两个GPIO之间均串入了两个并联的LED,且LED方向相反。

  首要,LED亮起时完全由单片机的GPIO输出电流,所以关于GPIO的电流驱动才能有必定的要求。规划电路时要注意查询自己运用的MCU的电流驱动才能,下图是STM32单片机中对GPIO电流驱动才能的阐明:

  其次,假定渐渐的呈现了某个LED开路或短路的状况,电流的流向会被打乱,LED亮起来的逻辑会变得紊乱。最坏的状况下,电路会对GPIO讨取大电流,导致单片机损坏。下图是假定LED1短路,那么在点亮LED5时,LED3也会亮起:

  替换点亮他们就行,只需替换切换的速度够快,因为人眼的视觉暂留效应,看起来便是一起亮起的。

  值得一提的是,假如要一起亮起的LED较多,比方大规模的LED点阵,那么还需要注意一些新的问题,颇有门路。