驱动LED且取得按键信息的装置及方法转让专利

申请号 : CN200910303101.5

文献号 : CN101605419B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪显方首召兵秦宏武冯磊杨小宝刘建伟龙逸

申请人 : 深圳和而泰智能控制股份有限公司

摘要 :

本发明涉及一种驱动LED且取得按键信息的装置,包括中央控制器,所述中央控制器包括多个输入/输出端口,多个LED及按键,所述输入/输出端口包括动态输入/输出端口和通用输入/输出端口,所述按键分别通过阻值不同的串接电阻连接在所述动态输入/输出端口和通用输入/输出端口之间,所述LED连接在所述动态输入/输出端口和通用输入/输出端口之间;所述动态输入/输出端口在取得按键信息时设置为模数输入端口,在驱动LED时设置为输出端口。本发明还涉及一种驱动LED且取得按键信息的方法。实施本发明的驱动LED且取得按键信息的装置及方法,具有以下有益效果:用较少的端口实现了对较多的按键信息取得及对较多的LED驱动。

权利要求 :

1.一种驱动LED且取得按键信息的装置,包括中央控制器,所述中央控制器包括多个输入/输出端口,与所述输入/输出端口连接的多个LED及按键,其特征在于,所述输入/输出端口包括动态输入/输出端口和通用输入/输出端口,所述按键分别通过阻值不同的串接电阻连接在所述动态输入/输出端口和通用输入/输出端口之间,所述LED连接在所述动态输入/输出端口和通用输入/输出端口之间;所述动态输入/输出端口设置为模数输入端口以取得按键信息,所述动态输入/输出端口设置为输出端口以驱动LED;

所述动态输入/输出端口包括第一动态输入/输出端口和第二动态输入/输出端口,其上分别连接有多个由一个按键与一个电阻的串接而成的串接体,所述串接体一端分别与所述第一动态输入/输出端口或第二动态输入/输出端口连接,其另一端连接第一通用输入/输出端口上;

所述通用输入端口包括第二通用输入/输出端口和第三通用输入/输出端口,所述第二通用输入/输出端口和第三通用输入/输出端口分别作为多个LED的公共阳极或公共阴极连接在所述LED上;

所述多个LED的正极连接在所述第二通用输入/输出端口或第三通用输入/输出端口,其负极分别与所述第一动态输入/输出端口、第二动态输入/输出端口或第一通用输入/输出端口连接。

2.根据权利要求1所述的装置,其特征在于,所述第一动态输入/输出端口上连接有三个按键,所述按键一端与所述第一动态输入/输出端或所述第一普通输入/输出端之间分别串接有不同阻值的电阻;所述第二动态输入/输出端口上连接有三个按键,所述按键一端与所述第二动态输入/输出端或所述第一普通输入/输出端之间分别串接有不同阻值的电阻。

3.根据权利要求2所述的装置,其特征在于,与连接在同一个动态输入/输出端口的按键串联的电阻值分别包括4.7K、6.8K和10K。

4.一种同时驱动LED且取得按键信息的方法,使用中央控制器同时处理多个LED驱动及多个按键扫描,所述多个LED分别连接在所述中央控制器的多个通用输入/输出端口和多个动态输入/输出端口之间,所述多个按键分别连接在所述多个动态输入/输出端口和一个通用输入/输出端口之间,其特征在于,所述方法包括如下步骤:A)将动态输入/输出端口设置为模数输入端口,进行按键扫描,取得按键信息;

B)将动态输入/输出端口设置为通用输入/输出端口;

C)依据所取得的按键信息,设置与LED连接的所有通用输入/输出端口电平,使所述LED发光或不发光;

D)返回步骤A);

所述动态输入/输出端口包括第一动态输入/输出端口和第二动态输入/输出端口,所述步骤A)进一步包括:A1)设置第一动态输入/输出端口为模数输入端口,对其上连接的按键扫描;

A2)设置第二动态输入/输出端口为模数输入端口,对其上连接的按键扫描;

所述步骤B)包括设置所述第一动态输入/输出端口和第二动态输入/输出端口为通用输入/输出端口; 作为多个LED公共极的通用输入/输出端口包括第二通用输入/输出端口和第三通用输入/输出端口,所述步骤C)进一步包括:C1)判断上次LED驱动是否扫描第二通用输入/输出端口,如是,执行步骤C2),如不是,执行步骤C3);

C2)在所述第三通用输入/输出上连接的LED的另一端所连接的动态输入/输出端口和第一通用输入/输出端口上输出第三通用输入/输出端口所对应的、与所述步骤A)中取得的按键扫描信息相关的码型,并返回步骤A);

C3)在所述第二通用输入/输出上连接的LED的另一端所连接的动态输入/输出端口和第一通用输入/输出端口上输出第二通用输入/输出端口所对应的、与所述步骤A)中取得的按键扫描信息相关的码型,并返回步骤A)。

说明书 :

驱动LED且取得按键信息的装置及方法

技术领域

[0001] 本发明涉及家用电器控制领域,更具体地说,涉及一种驱动LED且取得按键信息的装置及方法。

背景技术

[0002] 通常,在家用电器控制中,大量采用微控制器控制其功能及显示,这些控制电路通常包括按键及用来显示该家用电器工作状态的LED(发光二极管)。在现有技术中,通常这些发光二极管连接在微控制器的输入/输出端口上,而按键一般也是分别连接在不同的微控制器的输入/输出端口上或利用多个输入/输出端口将这些按键形成按键矩阵。但是,现有技术中的这些方法占用的微控制器的输入/输出端口较多,其占用的微控制器资源较多,在微控制器的输入/输出端口较少或按键及LED较多的情况下,可能会造成微控制器的输入/输出端口不够分配的情况。随着技术的发展,现在许多微控制器中都设置有具有模数转换功能的输入/输出端口,可以利用该端口来改善现有技术中按键和LED占用微控制器输入/输出端口多、可能造成微控制器中的输入/输出端口不够的问题。

发明内容

[0003] 本发明要解决的技术问题在于,针对现有技术的上述按键及LED占用微控制器输入/输出端口较多的缺陷,提供一种按键及LED占用微控制器输入/输出端口较少的驱动LED且取得按键信息的装置及方法。
[0004] 本发明解决其技术问题所采用的技术方案是:构造一种同时驱动LED且取得按键信息的装置,包括中央控制器,所述中央控制器包括多个输入/输出端口,与所述输入/输出端口连接的多个LED及按键,所述输入/输出端口包括动态输入/输出端口和通用输入/输出端口,所述按键分别通过阻值不同的串接电阻连接在所述动态输入/输出端口和通用输入/输出端口之间,所述LED连接在所述动态输入/输出端口和通用输入/输出端口之间;所述动态输入/输出端口在取得按键信息时设置为模数输入端口,在驱动LED时设置为输出端口。
[0005] 在本发明所述的装置中,所述动态输入/输出端口包括第一动态输入/输出端口和第二动态输入/输出端口,其上分别连接有多个按键与电阻的串接体,其一端分别与所述第一动态输入/输出端口或第二动态输入/输出端口连接,其另一端连接第一通用输入/输出端口上。
[0006] 在本发明所述的装置中,所述第一动态输入/输出端口上连接有三个按键,所述按键一端与所述第一动态输入/输出端或所述第一普通输入/输出端之间分别串接有不同阻值的电阻;所述第二动态输入/输出端口上连接有三个按键,所述按键一端与所述第二动态输入/输出端或所述第一普通输入/输出端之间分别串接有不同阻值的电阻。
[0007] 在本发明所述的装置中,与连接在同一个动态输入/输出端口的开关串联的电阻值分别包括4.7K、6.8K和10K。
[0008] 在本发明所述的装置中,所述普通输入端口包括第二通用输入/输出端口和第三通用输入/输出端口,所述第二通用输入/输出端口和第三通用输入/输出端口分别作为多个LED的公共阳极或公共阴极连接在所述LED上。
[0009] 在本发明所述的装置中,所述多个LED的正极连接在所述第二通用输入/输出端口或第三通用输入/输出端口,其负极分别与所述第一动态输入/输出端口、第二动态输入/输出端口或第一通用输入/输出端口连接。
[0010] 本发明还涉及一种同时驱动LED且取得按键信息的方法,使用中央控制器同时处理多个LED驱动及多个按键扫描,所述多个LED分别连接在所述中央控制器的多个通用输入/输出端口和多个动态输入/输出端口之间,所述多个按键分别连接在所述多个动态输入/输出端口和一个通用输入/输出端口之间,所述方法包括如下步骤:
[0011] A)将动态输入/输出端口设置为模数输入端口,进行按键扫描,取得按键信息;
[0012] B)将动态输入/输出端口设置为通用输入/输出端口;
[0013] C)依据所取得的按键信息,设置与LED连接的各通用输入/输出端口,使所述LED发光或不发光;
[0014] D)返回步骤A)。
[0015] 在本发明所述的方法中,所述动态输入/输出端口包括第一动态输入/输出端口和第二动态输入/输出端口,所述步骤A)进一步包括:
[0016] A1)设置第一动态输入/输出端口为模数输入端口,对其上连接的按键扫描;
[0017] A2)设置第二动态输入/输出端口为模数输入端口,对其上连接的按键扫描。
[0018] 在本发明所述的方法中,所述步骤B)包括设置所述第一动态输入/输出端口和第二动态输入/输出端口为通用输入/输出端口。
[0019] 在本发明所述的方法中,作为多个LED公共极的通用输入/输出端口包括第二通用输入/输出端口和第三通用输入/输出端口,所述步骤C)进一步包括:
[0020] C1)判断上次LED驱动是否扫描第二通用输入/输出端口,如是,执行步骤C2),如不是,执行步骤C3);
[0021] C2)在所述第三通用输入/输出上连接的LED的另一端所连接的动态输入/输出端口和第一通用输入/输出端口上输出第三通用输入/输出端口所对应的、与所述步骤中取得的按键扫描信息相关的码型,并返回步骤A);
[0022] C3)在所述第二通用输入/输出上连接的LED的另一端所连接的动态输入/输出端口和第一通用输入/输出端口上输出第二通用输入/输出端口所对应的、与所述步骤中取得的按键扫描信息相关的码型,并返回步骤A)。
[0023] 实施本发明的驱动LED且取得按键信息的装置及方法,具有以下有益效果:由于按键信息由微控制器的模数输入端口输入,且该模数输入端口还与LED连接,在驱动LED时该模数端口被设置为一般的输出端口,因此,其用较少的端口实现了对较多的按键信息取得及对较多的LED驱动。

附图说明

[0024] 图1是本发明驱动LED且取得按键信息的装置及方法第一实施例中装置的按键及LED连接电路图;
[0025] 图2是所述第一实施例的方法流程图;
[0026] 图3是本发明驱动LED且取得按键信息的装置及方法第二实施例中装置的按键及LED连接电路图。

具体实施方式

[0027] 下面将结合附图对本发明实施例作进一步说明。
[0028] 如图1所示,在本发明驱动LED且取得按键信息的装置及方法第一实施例中,该装置中包括中央控制器(图中未示出),所述中央控制器包括多个输入/输出端口(I/O口),与所述输入/输出端口连接的多个LED及按键,所述输入/输出端口包括动态输入/输出端口(图1中的端子3和端子4)和通用输入/输出端口(图1中端子1、端子2和端子5),所述按键分别通过阻值不同的串接电阻连接在所述动态输入/输出端口和通用输入/输出端口之间,所述LED连接在所述动态输入/输出端口和通用输入/输出端口之间;所述动态输入/输出端口在取得按键信息时设置为模数输入端口,在驱动LED时设置为输出端口。在本实施例中,上述对于动态输入/输出端口的设置是由中央控制器完成的。在本实施例中,如图1所示,使用2个动态输入/输出端口以及3个通用输入/输出端口实现了6个功能按键和5个LED显示,6个按键的功能分别是:
[0029] 按键SW101是电源开关,标记为ON/OFF;
[0030] 按键SW102是风扇状态指示,标记为FAN ONLY;
[0031] 按键SW103是节能加热,标记为ECO SMART;
[0032] 按键SW104是风扇摇头或STAY ON(持续加热);
[0033] 按键SW105是自动定时关机,标记为AUTO OFF;
[0034] 按键SW106是加热状态,标记为HEAT;
[0035] 5个LED(其中一个双色LED,由两个LED复合为一个)包括:
[0036] LED101双色LED:其红色LED用于表示风扇处于工作状态;当风扇处于延时状态时,该LED变色为橙色闪烁;
[0037] LED102为ECO SMART状态指示灯;
[0038] LED103表示风扇处于定时状态,其标记为TIME;
[0039] LED104为加热状态指示灯,其标记为MAX HEAT。
[0040] 在图1中,端子1到端子5分别连接在中央控制器的不同输入/输出端口(I/O口)上,其中端子1、端子2和端子5连接的是中央控制器的通用输入/输出端口,端子3和端子4连接的是中央处理器上带有可选择的模数功模块的输入/输出端口(即动态输入/输出端口)。其中,端子4为第一动态输入/输出端口,端子3为第二动态输入/输出端口,端子
5为第一通用输入/输出端口,端子2为第二通用输入/输出端口,端子1为第三通用输入/输出端口。其中,6个按键均与上述第一动态输入/输出端口或第二动态输入/输出端口与第一通用输入/输出端口连接,按键SW101、按键SW102、按键SW103分别与电阻R102、电阻R103、电阻R104串联后并接在第一动态输入/输出端口(端子4)与第一通用输入/输出端口(端子5)之间,上述电阻R102、电阻R103、电阻R104的阻值分别为4K7、6K8、10K,其精度均为1%;按键SW104、按键SW105、按键SW106分别与电阻R105、电阻R106、电阻R107串联后并接在第二动态输入/输出端口(端子3)与第一通用输入/输出端口(端子5)之间,上述电阻R105、电阻R106、电阻R107的阻值分别为4K7、6K8、10K,其精度均为1%;换句话说,端子5作为各按键的公共端。此外,端子2,即第二通用输入/输出端口,连接有两个限流电阻,电阻R108和电阻R109,这两个电阻的一端并接在端子2上,其另一端分别连接LED101的正极和LED103的正极(即端子2作为LED101和LED103的公共端),而LED103的负极连接在第一通用输入/输出端口(即端子5)上,而LED101包括两个发光管,其正极均连接在上述电阻R108的一端,其负极分别连接到第二动态输入/输出端口(即端子3)依次通过二极管的正、负极连接在第一动态输入/输出端口(即端子4)上,同时,该二极管的正极还连接在另一二极管的正极,另一二极管的负极连接在LED101的正极上。上述两个二极管构成图1中的D101;端子1,即第三通用输入/输出端口,连接有一个限流电阻,电阻R111,这个电阻的一端连接在端子1上,其另一端分别连接LED102的正极和LED104的正极(即端子1作为LED102和LED104的公共端),而LED104的负极连接在第一通用输入/输出端口(即端子5)上,LED102的负极连接到第一动态输入/输出端口(即端子4)。
[0041] 在本实施例中,如图1所示,只用了5个I/O端就实现了6个按键加4个LED的控制,在现有技术中,即使使用按键矩阵的做法,光6个按键就需要5个I/O端,还要在加上LED所需要的端子,因此,采用本发明可以较多地减少中央控制器的I/O端的使用。
[0042] 下面分别以一个按键及一个LED为例,说明在本实施例中按键扫描原理及LED点亮过程:以按键SW101为例,其按键公共端,端子5为通用I/O口,其按键输入端即端子4为第一动态I/O口。其串联的电阻R102为4K71%。端子5设为输出端且置低电平,端子4置输入状态,并选通模数转换模块,当按下SW101(或SW102,或SW103)时,由于SW101、SW102,SW103串联的电阻值不同,当不同的按键被按下时,端子4读到不同的值,从而判定出是哪个开关被触发,中央控制器执行相应的输出指令。而上述按键SW104、SW105、SW106的工作方式与上述相同,不同的是其连接的按键输入端不同。上述中央控制器在读取上述按键信息后,点亮LED:以LED104为例,当第一通用输入/输出端口(即端子5)输出低电平,而端子1输出高电平,使得R111输入高电平,LED104被点亮。而上述端子1和端子5的具体输出电平,是中央控制器在取得上述按键信息后,以及该信息以及之前设备的状态而得出来的,在点亮LED时,只是将这些端子的输出状态呈现在对应的端子上。
[0043] 在本实施例中,按键按其输入端分为两组,分别连接在上述第一动态输入/输出端口和第二动态输入/输出端口上;而LED同样也按其共阳公共端分为两组,其正极分别连接在第二通用输入/输出端口和第三输入/输出端口,其处理按键信息及LED驱动时是以时分循环的方式进行的,即依次进行如下动作:读取第一组按键信息、读取第二组按键信息、驱动第一组LED、读取第一组按键信息、读取第二组按键信息、驱动第二组LED、读取第一组按键信息、再读取第二组按键信息、驱动第一组LED……。上述方式就构成了本实施例中的处理循环。
[0044] 在本实施例中,如图2所示,其方法流程包括如下步骤:
[0045] 步骤S11设置第一动态输入/输出端口为输入端口,选通其模数转换功能,读取其值送到键处理单元:在本步骤中,中央控制器将第一动态输入/输出端口设置为输入端口,并且使能其端口上带有的模数转换模块,使得在其端口上出现的模拟信号被依据其电平的高低转换为不同的数字信号并被传送到中央控制器中的键处理单元进行处理。在本实施例中,本步骤读取的是按键SW101、SW102以及SW103的信息,虽然这三个按键都并接在端子4和端子5之间,但由于其串联的电阻不一样,每个键被触发时在第一动态输入/输出端口(端子4)上产生的电平是不一样的,因此,可以区分出是哪个键被触发。
[0046] 步骤S12设置第二动态输入/输出端口为输入端口,选通其模数转换功能,读取其值送到键处理单元:本步骤与步骤S11相似,不过处理的是连接在第二动态输入/输出端口上的按键,在本实施例中,是按键SW104、SW105和SW106。
[0047] 步骤S13关闭第一动态输入/输出端口及第二动态输入/输出端口的模数转换功能,并将其转换为输出端口:在上述步骤中,第一动态输入/输出端口和第二动态输入/输出端口依次被设置且使能了其模数转换模块,在本步骤中,将上述端口设置为输出端口,并关闭其模数转换模块。
[0048] 步骤S14判断是否驱动第二通用输入/输出端口连接的LED?如是执行步骤S16;如否,执行步骤S15。在本实施例中,步骤S11到步骤S16为一个循环,其执行完后,将返回步骤S11再次执行步骤S11到S16。但是,每个循环中,步骤S15和步骤S16总有一个步骤是不执行的,例如,在本次循环中执行的是步骤S16,驱动第二通用输入/输出端口连接的LED,则在本次循环中不会再执行步骤S15;而在紧接本次循环的下一次循环中,执行步骤S15而不执行步骤S16。在本实施例中,通过累加中央控制器中的一个寄存器位来判定本步骤中要执行的是步骤S15,还是步骤S16。
[0049] 步骤S15在第三通用输入/输出端口连接的LED的另一端连接的端口上输出与按键扫描结果相关的电平:在本步骤中,将经过中央控制器处理后得出的相关各输出端子的电平输出到相应的端子上,之后,返回步骤S11,开始下一个循环。在本实施例中,上述相关端子包括第三通用输入/输出端口(端子1)第一通用输入/输出端口(即端子5)、第一动态输入/输出端口(即端子4)。上述各端子的电平既与在步骤S11、步骤S12中取得的按键信息相关,也与在本循环之前的设备状态相关。在本实施例中,本步骤驱动的LED包括LED102和LED104。
[0050] 步骤S16在第二通用输入/输出端口连接的LED的另一端连接的端口上输出与按键扫描结果相关的电平:在本步骤中,将经过中央控制器处理后得出的相关各输出端子的电平输出到相应的端子上,之后,返回步骤S11,开始下一个循环。在本实施例中,上述相关端子包括第二通用输入/输出端口(端子2)第一通用输入/输出端口(即端子5)、第一动态输入/输出端口(即端子4)、第二动态输入/输出端口(即端子3)。上述各端子的电平既与在步骤S11、步骤S12中取得的按键信息相关,也与在本循环之前的设备状态相关。在本实施例中,本步骤驱动的LED包括LED101和LED103。
[0051] 图3是本发明第二实施例中装置的按键及LED连接电路图,本发明第二实施例与第一实施例比较,除了其连接的LED数量及按键数量不同外,其余大致相同。具体而言,如图3所示,在第二实施例中,包括5个功能按键和4个LED;5个按键分别是:按键SW101,电源开关,标记为ON/OFF;按键SW102,风扇状态指示,标记为FAN ONLY;按键SW103,节能加热,标记为ECOSMART;按键SW104,风扇摇头或,标记为STAY ON(持续加热);按键SW106,加热状态,标记为HEAT。4个LED(其中一个双色LED)包括:LED101,双色LED,其红色LED用于仅风扇工作状态,当风扇处于延时状态时,LED变色为橙色闪烁;LED102为ECO SMART状态的指示灯;LED104为加热状态指示灯。由于元件的数目不同,图1和图3也有一些较小的区别,例如图3中第一通用输入输出端口上只有一个限流电阻等,但总体来看,可以认为图3是由图1依据具体情况修改而得。当然,在其他实施例中,还可以有别的LED数量及按键数量,例如可以有4个按键和6个LED等。
[0052] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。