单片机两个IO口控制三个LED灯

2,345 阅读3分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

  在项目中经常会遇到单片机IO口资源不够用的情况,那么如何让单片机的IO口利用最大化呢,这里分享一下用单片机两个IO口控制三个LED灯的几种方法。

在仿真软件中通过两个开关来模拟单片机IO口输出高低电平。

方法一:

1-1.jpg

1-0.jpg

S1和S2分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。

S1和S2同时为低电平时,LED灯全灭

    当S1和S2都为低电平时,三个二极管的正负极都是0V,所以所有的LED都是灭的状态。

S1为低电平,S2为高电平时,LED2亮。

    当S1为低电平,S2为高电平时,R4和R3顶端都是5V,此时LED3负极为高电平,正极为0V,LED3不导通。LED2正极为高电平,负极为0V,LED2导通。S1为低电平,三极管Q1不导通,所以LED1也不导通。

S1为高电平,S2为低电平时,LED3亮。

    当S1为高电平,S2为低电平时。LED3正极为高电平,负极为低电平,LED3导通。 LED2正极为低电平,负极为高电平,LED2不导通。三极管Q1和Q3不导通,LED1也不导通。

S1为高电平,S2为高电平时,LED1亮。

    当S1为高电平,S2为高电平时。LED3和LED2正负极都是高电平,所以LED2和LED3都不导通。此时Q1和A3导通,LED1正极为高电平,负极为低电平,所以LED1导通。

方法二:

2-1.jpg

2-0.jpg

S3和S4分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。

S3和S4同时为低电平时,LED4亮。

S3为低电平,S4为高电平时,LED6亮。

S3为高电平,S4为低电平时,LED5亮。

S3为高电平,S4为高电平时,LED5、LED6同时亮。

方法三:

3-0.jpg

3-1.jpg

S1和S2分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。

S1和S2同时为低电平时,LED灯全灭。

S1为低电平,S2为高电平时,LED3亮。

S1为高电平,S2为低电平时,LED2亮。

S1为高电平,S2为高电平时,LED1亮。

方法四:

4-0.jpg

4-1.jpg

S3和S4分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。

S3和S4同时为低电平时,LED灯全灭。

S3为低电平,S4为高电平时,LED6亮。

S3为高电平,S4为低电平时,LED5亮。

S3为高电平,S4为高电平时,LED4亮。

通过两个IO口的高低电平4种组合方式,结合外部电路就可以控制3个LED灯的亮灭。