由于单片机中的I/O口通常可设置为三种状态,即输出高电平、输出低电平和输入状态(高阻态)。利用这一点,可以很方便地用一个I/O口实现对2个指示灯的控制。其电路如右图所示。
当要使LED1亮时,I/O口可置为低电平。此时LED2无电流流过,不会亮。
当要使LED2亮时,I/O口可置为高电平。此时LED1无电流流过,不会亮。
若要LED1、LED2均不亮,可将I/O口置为高阻态,此时发光管被VD1旁路,也不会亮。
若要LED1、LED2一起亮,则可以让I/O口在某一固定频率下以50%的占空比进行高低电平不停转换,利用视觉暂留,使人眼感觉两个灯都为亮的状态。