软件上实现就行了,不需要浪费那么多的元器件! |
可以参考一下这个 |
51hei图片20220914195602.png (8.95 KB, 下载次数: 98)
mirenhuan 发表于 2022-9-13 21:52 高阻状态下是两个都亮的 |
秃头小队长 发表于 2022-9-14 09:16 关键是两个LED压降相加要大于5V,只要有一个截止两个都不亮,可以采用压降大的LED,白、蓝、翠绿都大约是3V左右,如果压降不够可以串联二极管。另外可以充分利用其他IO口复用方案,比如KEY口。 |
楼主想省IO但是方向错了,应该3个IO控制3个LED,按键KEY与一个控制LED的IO共用。按键与LED共用IO有现成方案,很简单不需要增加元件。 |
hhdsdy 发表于 2022-9-13 23:27 是的,请问有什么办法可以让高阻状态下,两个都不亮呢? |
hhdsdy 发表于 2022-9-13 23:27 是的,请问有什么办法可以让高阻状态下,两个都不亮呢? |
你这应该就是D2的点亮电压加D3的点亮电压低于VDD的电压,所以无论I/O口是什么状态,至少会有一个LED点亮的,如果是高阻输出,则两个LED都亮。 |
大概这个样子:![]() IOA = 0; IOB = 1; LED1 亮 IOA = 1; IOB = 0; LED2 亮 IOA = 1; IOB = 1; LED3 亮 IOA = 0; IOB = 0; 全灭 IOA,IOB 需要限流电阻,我这里就不画了 |
看图可以理解为1个IO口控制两颗LED灯,听说IO口配置为高阻状态两颗灯都不亮,不过我也还没试过。 |