这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战
在项目中经常会遇到单片机IO口资源不够用的情况,那么如何让单片机的IO口利用最大化呢,这里分享一下用单片机两个IO口控制三个LED灯的几种方法。
在仿真软件中通过两个开关来模拟单片机IO口输出高低电平。
方法一:
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导通。
方法二:
S3和S4分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。
S3和S4同时为低电平时,LED4亮。
S3为低电平,S4为高电平时,LED6亮。
S3为高电平,S4为低电平时,LED5亮。
S3为高电平,S4为高电平时,LED5、LED6同时亮。
方法三:
S1和S2分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。
S1和S2同时为低电平时,LED灯全灭。
S1为低电平,S2为高电平时,LED3亮。
S1为高电平,S2为低电平时,LED2亮。
S1为高电平,S2为高电平时,LED1亮。
方法四:
S3和S4分别接单片机两个IO口,这里通过一个单刀双掷按键模拟IO口输出高低电平。
S3和S4同时为低电平时,LED灯全灭。
S3为低电平,S4为高电平时,LED6亮。
S3为高电平,S4为低电平时,LED5亮。
S3为高电平,S4为高电平时,LED4亮。
通过两个IO口的高低电平4种组合方式,结合外部电路就可以控制3个LED灯的亮灭。