一种LED灯和按键复用电路的控制方法与流程

文档序号:11216756阅读:7221来源:国知局
一种LED灯和按键复用电路的控制方法与流程

本发明涉及一种电路及其控制方法,具体涉及一种用于通过扫描单片机的io口实现对多个led灯的驱动和对多个按键的检测进行复用的技术。



背景技术:

现有很多产品中都有led灯显示及按键功能,而这些led和按键的控制和状态检测一般都是通过单片机来进行,现有的电路结构一般都是每个led或按键接一个io口,即如果有8个灯和8个按键,则需要16个io口。当灯和按键较多的情况下,就可能需要多个单片机,这就带来成本上的增加。此外,在产品设计中一般需要将显示板和电源板分开,它们之间用排线连接,在灯和按键较多的情况下,产品结构往往会受到限制,并且造成材料成本的提高。



技术实现要素:

本发明的目的在于提供一种led灯和按键复用电路的控制方法,能够以低成本实现对多个led灯的驱动和对多个按键的检测。为此,本发明采用的具体技术方案如下:

一种led灯和按键复用电路的控制方法,通过扫描单片机的io口实现对多个led灯的驱动和对多个按键的检测,所述led灯和按键复用电路可包括具有i个io口的单片机、j个led灯和j个按键,i个io口分成作为行的m个驱动灯的io口和作为列的n个判断按键的io口,其中i=m+n,j=m*n,每个所述驱动灯的io口串联一第一限流电阻后再分别接一led灯并联至每个所述判断按键的io口,并且每个驱动灯的io口分别接串联的一第二限流电阻和一按键并联至每个所述判断按键的io口,其中所述led灯的负极接所述判断按键的io口;当要驱动某个led灯时,仅需将其对应的所述驱动灯的io口和所述判断按键的io口分别输出高电平和低电平即可,当要判断哪些按键被按下时,首先扫描第一个所述驱动灯的io口,将第一个所述驱动灯的io口输出低电平,其余的所述驱动灯的io作为输入,然后将所述判断按键的io口逐个作为输入,同时其余的所述判断按键的io口输出高电平,当检测到某个所述判断按键的io口的状态为低电平时,则判断连接这个所述判断按键的io口和第一个所述驱动灯的io口的按键被按下,以此类推,完成其余所述驱动灯的io口的扫描。

进一步的,所述单片机具有4个所述驱动灯的io口和4个所述判断按键的io口,所述led灯和所述按键均为16个。

更进一步的,所述单片机扫描一个io口的周期为2ms。

进一步的,所述第一限流电阻为1kω,所述第二限流电阻为5.1kω。

本发明采用上述技术方案,具有的有益效果是,本发明能够实现对多个led灯的驱动和对多个按键的检测,并且减少了材料用量,布线更容易,减小产品的占用空间,大大降低了生产成本。

附图说明

图1是本发明实施例的led灯和按键复用电路的电路图。

具体实施方式

为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

现结合附图和具体实施方式对本发明进一步说明。参照图1,描述根据本发明的实施例的电路1。电路1可包括具有8个io口的单片机(未示出)、16个led灯led1-led16和16个按键s1-s16。其中,8个io口分成作为行的4个驱动灯的io口io_led1-io_led4和作为列的4个判断按键的io口io_com1-io_com4。驱动灯的io口io_led1串联一第一限流电阻r17再分别接一led灯led1-led4并联至每个判断按键的io口io_com1-io_com4,并且驱动灯的io口io_led1分别接串联的一第二限流电阻r1-r4和一按键s1-s4并联至每个判断按键的io口io_com1-io_com4。类似地,驱动灯的io口io_led2串联一第一限流电阻r18再分别接一led灯led5-led8并联至每个判断按键的io口io_com1-io_com4,并且驱动灯的io口io_led2分别接串联的一第二限流电阻r5-r8和一按键s5-s8并联至每个判断按键的io口io_com1-io_com4。驱动灯的io口io_led3串联一第一限流电阻r19再分别接一led灯led9-led12并联至每个判断按键的io口io_com1-io_com4,并且驱动灯的io口io_led3分别接串联的一第二限流电阻r9-r12和一按键s9-s12并联至每个判断按键的io口io_com1-io_com4。驱动灯的io口io_led4串联一第一限流电阻r20再分别接一led灯led13-led16并联至每个判断按键的io口io_com1-io_com4,并且驱动灯的io口io_led4分别接串联的一第二限流电阻r13-r16和一按键s13-s16并联至每个判断按键的io口io_com1-io_com4。其中led灯led1-led16的负极接各自的判断按键的io口io_com1-io_com4。优选地,第一限流电阻r17-r20均为1kω,第二限流电阻r1-r16均为5.1kω。

下面参照图1描述本发明的电路的工作原理。由于人体的眼睛能辨别出闪烁是在16ms以外,在16ms内眼睛分辨不出灯光闪烁。因此,只要总共扫描在16ms以内都是可以的。本发明的电路通过单片机扫描io口工作,具体如下:

分5次扫描,每次的扫描时间在2ms左右:

1、首先扫io_com1,此时io_com1输出0,其它io_com口(io_com2、io_com3和io_com4)输出1,若要使与io_com1对应的led灯(led1、led5、led9和led13)亮,则将对应的io_led口(io_led1、io_led2、io_led3和io_led4)置1(输出高电平),反之置0(输出低电平),例如led1亮,则io_led1输出高电平,led5不亮,io_led2输出低电平;

2、其次扫io_com2,此时io_com2输出0,其它io_com口(io_com1、io_com3和io_com4)输出1,若要使与io_com2对应的led灯(led2、led6、led10和led14)亮,则将对应的io_led口(io_led1、io_led2、io_led3和io_led4)置1(输出高电平),反之置0(输出低电平);

3、接着扫io_com3,此时io_com3输出0,其它io_com口(io_com1、io_com2和io_com4)输出1,若要使与io_com3对应的led灯(led3、led7、led11和led15)亮,则将对应的io_led口(io_led1、io_led2、io_led3和io_led4)置1(输出高电平),反之置0(输出低电平);

4、接着扫io_com4,此时io_com4输出0,其它io_com口(io_com1、io_com2和io_com3)输出1,若要使与io_com4对应的led灯(led4、led8、led12和led16)亮,则将对应的io_led口(io_led1、io_led2、io_led3和io_led4)置1(输出高电平),反之置0(输出低电平);

5、最后扫按键:

a、首先扫描io_led1,io_led1输出低电平,其他io_led口(io_led2、io_led3和io_led4)作为输入;然后将io_com口(io_com1、io_com2、io_com3和io_com4)逐个作为输入,同时其余的io_com口输出高电平,如果哪个io_com口(io_com1、io_com2、io_com3和io_com4)检测到低电平,则判断连接该io_com口(io_com1、io_com2、io_com3和io_com4)与io_led1的按键(s1、s2、s3和s4)被按下。

b、其次扫描io_led2,io_led2输出低电平,其他io_led口(io_led1、io_led3和io_led4)作为输入;然后将io_com口(io_com1、io_com2、io_com3和io_com4)逐个作为输入,同时其余的io_com口输出高电平,如果哪个io_com口(io_com1、io_com2、io_com3和io_com4)检测到低电平,则判断连接该io_com口(io_com1、io_com2、io_com3和io_com4)与io_led2的按键(s5、s6、s7和s8)被按下。

c、接着扫描io_led3,io_led3输出低电平,其他io_led口(io_led1、io_led2和io_led4)作为输入;然后将io_com口(io_com1、io_com2、io_com3和io_com4)逐个作为输入,同时其余的io_com口输出高电平,如果哪个io_com口(io_com1、io_com2、io_com3和io_com4)检测到低电平,则判断连接该io_com口(io_com1、io_com2、io_com3和io_com4)与io_led1的按键(s9、s10、s11和s12)被按下。

d、首先扫描io_led4,io_led4输出低电平,其他io_led口(io_led1、io_led2和io_led3)作为输入;然后将io_com口(io_com1、io_com2、io_com3和io_com4)逐个作为输入,同时其余的io_com口输出高电平,如果哪个io_com口(io_com1、io_com2、io_com3和io_com4)检测到低电平,则判断连接该io_com口(io_com1、io_com2、io_com3和io_com4)与io_led1的按键(s13、s14、s15和s16)被按下。

本领域的技术人员应该理解,本发明的io口数量i、驱动灯的io口的数量m和判断按键的io口的数量n以及按键和led灯的数量j不限于上述实施例的数量,而是可根据实际情况进行配置,只要满足i=m+n,j=m*n即可。当然,io口数量i并不是指该单片机的所有io口的个数,而是指该单片机的驱动灯的io口的数量m和判断按键的io口的数量n的总和。

尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1