原创 使用一个I/O口实现两个LED的四个状态指示

2011-2-18 10:29 4236 10 10 分类: MCU/ 嵌入式

单片机中有的I/O口可设置为三种状态:高电平、低电平和高阻态,利用这一点,就可以用一个I/O口实现对2个LED的四种状态的控制。下面从硬件和软件两方面描述其实现:

第一种方法:
1.硬件电路连接:
        将两个LED串联后和1N4148并联,两端分别接板子上的5V电源(引入电源串接一电阻)和地,将两二极管的中间接I/O口,就可以控制两LED的四种状态了


2.软件设计:
        当要使上面的LED亮时,I/O口置为低电平。此时下面的LED无电流流过,不会亮。
        当要使下面的LED亮时,I/O口置为高电平。此时上面的LED1无电流流过,不会亮。
        当要两LED均不亮时,将I/O口置为高阻态,此时发光管被并联的1N4148旁路,故不会亮。
        当要两LED一起亮,则让I/O口在某一固定频率下以50%的占空比进行高低电平不停转换,利用视觉暂留,使人眼感觉两个灯都为亮的状态

 

第二种方法:

电路上有考究,发光二极管的门限电压为2V,串联之后为4V,将两只二极管串联后正极接+3.6V,负极接地,两只发光二极管均不亮,00。

中间接IO口,当IO输出为悬空时,两只发光二极管均不亮;
                        当IO输出为高时,下面的发光二极管亮;
                        当IO输出为低时,上面的发光二极管亮;
                        当IO输出为高低交替的振荡时,两个发光二极管均亮。

完成,一个IO控制四种状态。

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条