电器led驱动与按键读取电路及控制方法_2

文档序号:9473912阅读:来源:国知局
SEG连接端连接的1引脚SEG2转成高阻态;
[0034]步骤(d)、将与第四个SEG连接端连接的1引脚SEG3输出高电平后直接转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG3,判断SEG3是否等于0,若是,则判断第四开关按键的状态为“按下”状态,否则判断第四开关按键的状态为“弹起”状态;随即将与第四个SEG连接端连接的1引脚SEG3转成高阻态;
[0035]步骤(e)、将与第五个SEG连接端连接的1引脚SEG4输出高电平后直接转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG4,判断SEG4是否等于0,若是,则判断第五开关按键的状态为“按下”状态,否则判断第五开关按键的状态为“弹起”状态;随即将与第五个SEG连接端连接的1引脚SEG4转成高阻态;
[0036]步骤(f)、将与第六个SEG连接端连接的1引脚SEG5输出高电平后直接转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG5,判断SEG5是否等于0,若是,则判断第六开关按键的状态为“按下”状态,否则判断第六开关按键的状态为“弹起”状态;随即将与第六个SEG连接端连接的1引脚SEG5转成高阻态;
[0037]步骤(g)、将与第七个SEG连接端连接的1引脚SEG6输出高电平后直接转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG6,判断SEG6是否等于0,若是,则判断第七开关按键的状态为“按下”状态,否则判断第七开关按键的状态为“弹起”状态;随即将与第七个SEG连接端连接的1引脚SEG6转成高阻态;操作结束。
[0038]与现有技术相比,本发明的优点在于:单元器件使用较少,而且MCU主控芯片的资源也用得少,综合性价比较高。
【附图说明】
[0039]图1为现有技术中直拉式LED驱动与按键读取电路原理图;
[0040]图2为现有技术中阵列式LED驱动与按键读取电路原理图;
[0041]图3为本发明实施例一中LED驱动与按键读取电路原理图;
[0042]图4为本发明实施例一中MCU控制芯片的控制方法流程图;
[0043]图5为本发明实施例一中按键读取流程图;
[0044]图6为本发明实施例二中LED驱动与按键读取电路原理图。
【具体实施方式】
[0045]以下结合附图实施例对本发明作进一步详细描述。
[0046]实施例一
[0047]如图3所示的电器LED驱动与按键读取电路,其包括7个开关按键,32颗LED发光管,15个电阻,以及MCU控制芯片,其中:
[0048]第一开关按键SWl的第一端均接地,第一开关按键SWl的第二端连接第一电阻Rl后引出第一个SEG连接端SEGO ;第二开关按键SW2的第一端均接地,第二开关按键SW2的第二端连接第二电阻R2后引出第二个SEG连接端SEGl ;第三开关按键SW3的第一端均接地,第三开关按键SW3的第二端连接第三电阻R3后引出第三个SEG连接端SEG2 ;第四开关按键SM的第一端均接地,第四开关按键SW4的第二端连接第四电阻R4后引出第四个SEG连接端SEG3 ;第五开关按键SW5的第一端均接地,第五开关按键SW5的第二端连接第五电阻R5后引出第五个SEG连接端SEG4 ;第六开关按键SW6的第一端均接地,第六开关按键SW6的第二端连接第六电阻R6后引出第六个SEG连接端SEG5 ;第七开关按键SW7的第一端均接地,第七开关按键SW7的第二端连接第七电阻R7后引出第七个SEG连接端SEG6 ;
[0049]而32颗LED发光管排列成8行4列的阵列;将第一列LED发光管的负极和第二列LED发光管的正极连接在一起引出第一个COM连接端COMO ;将第三列LED发光管的负极和第四列LED发光管的正极连接在一起引出第二个COM连接端COMl ;
[0050]第一行第一列LED发光管的正极、第一行第二列LED发光管的负极、第一行第三列LED发光管的正极、第一行第四列LED发光管的负极连接在一起后连接第八电阻R8后与第一个SEG连接端SEGO连接;
[0051]第二行第一列LED发光管的正极、第二行第二列LED发光管的负极、第二行第三列LED发光管的正极、第二行第四列LED发光管的负极连接在一起后连接第九电阻R9后与第二个SEG连接端SEGl连接;
[0052]第三行第一列LED发光管的正极、第三行第二列LED发光管的负极、第三行第三列LED发光管的正极、第三行第四列LED发光管的负极连接在一起后连接第十电阻RlO后与第三个SEG连接端SEG2连接;
[0053]第四行第一列LED发光管的正极、第四行第二列LED发光管的负极、第四行第三列LED发光管的正极、第四行第四列LED发光管的负极连接在一起后连接第十一电阻Rll后与第四个SEG连接端SEG3连接;
[0054]第五行第一列LED发光管的正极、第五行第二列LED发光管的负极、第五行第三列LED发光管的正极、第五行第四列LED发光管的负极连接在一起后连接第十二电阻R12后与第五个SEG连接端SEG4连接;
[0055]第六行第一列LED发光管的正极、第六行第二列LED发光管的负极、第六行第三列LED发光管的正极、第六行第四列LED发光管的负极连接在一起后连接第十三电阻R13后与第六个SEG连接端SEG5连接;
[0056]第七行第一列LED发光管的正极、第七行第二列LED发光管的负极、第七行第三列LED发光管的正极、第七行第四列LED发光管的负极连接在一起后连接第十四电阻R14后与第七个SEG连接端SEG6连接;
[0057]第八行第一列LED发光管的正极、第八行第二列LED发光管的负极、第八行第三列LED发光管的正极、第八行第四列LED发光管的负极连接在一起后连接第十五电阻R15后与第八个SEG连接端SEG7连接;
[0058]八个SEG连接端SEGO?SEG7分别与MCU控制芯片的X个1引脚连接;
[0059]2个COM连接端C0M0、COMl分别与MCU控制芯片的Y/2个1引脚连接。
[0060]上述电器LED驱动与按键读取电路的控制方法为:MCU控制芯片采用的中断间隔时间为2ms,MCU控制芯片对7个开关按键的读取和对32颗LED发光管的驱动在上述中断程序中完成,MCU控制芯片在上述中断程序的操作流程包括:
[0061]步骤(I)、MCU控制芯片启动2ms中断后,立即将与8个SEG连接端连接的8个1引脚连接及与2个COM连接端连接的2个1引脚连接转成高阻态;
[0062]步骤⑵、设置事件参数led_com,令led_com++ ;
[0063]步骤(3)、判断led_com是否大于8,若是,令led_com = 0,然后执行步骤⑷,若否,直接转步骤(4);
[0064]步骤⑷、判断led_com的值,然后根据不同led_com值,执行不同操作:
[0065]若led_com = 0,将与第I个SEG连接端至第4个SEG连接端连接的4个1引脚有效的SEGO?SEG3输出低电平;将与第一个COM连接端1引脚COMO输出高电平;
[0066]若led_com = I,将与第5个SEG连接端至第8个SEG连接端连接的4个1引脚有效的SEG4?SEG7输出低电平;将与第一个COM连接端1引脚COMO输出高电平;
[0067]若led_com = 2,将与第I个SEG连接端至第4个SEG连接端连接的4个1引脚有效的SEGO?SEG3输出高电平;将与第一个COM连接端1引脚COMO输出低电平;
[0068]若led_com = 3,将与第5个SEG连接端至第8个SEG连接端连接的4个1引脚有效的SEG4?SEG7输出高电平;将与第一个COM连接端1引脚COMO输出低电平;
[0069]若led_com = 4,将与第I个SEG连接端至第4个SEG连接端连接的4个1引脚有效的SEGO?SEG3输出低电平;将与第二个COM连接端1引脚COMl输出高电平;
[0070]若led_com = 5,将与第5个SEG连接端至第8个SEG连接端连接的4个1引脚有效的SEG4?SEG7输出低电平;将与第二个COM连接端1引脚COMl输出高电平;
[0071]若led_com = 6,将与第I个SEG连接端至第4个SEG连接端连接的4个1引脚有效的SEGO?SEG3输出高电平;将与第二个COM连接端1引脚COMl输出低电平;
[0072]若led_com = 7,将与第5个SEG连接端至第8个SEG连接端连接的4个1引脚有效的SEG4?SEG7输出高电平;将与第二个COM连接端1引脚COMl输出低电平;
[0073]若led_COm = 8,转至开关按键读取子程序;
[0074]按键读取子程序包括:
[0075]步骤(a)、将与第一个SEG连接端连接的1引脚SEGO输出高电平后直接转转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG0,判断SEGO是否等于0,若是,则判断第一开关按键的状态为“按下”状态,否则判断第一开关按键的状态为“弹起”状态;随即将与第一个SEG连接端连接的1引脚SEGO转成高阻态;
[0076]步骤(b)、将与第二个SEG连接端连接的1引脚SEGl输出高电平后直接转转成输入模式;然后使用两个空指令一一NOP指令;然后读取SEG1,判断SEGl是否等于0,若是,则判断第二
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1