34]第八行第一列LED發(fā)光管的正極、第八行第二列LED發(fā)光管的負(fù)極、第八行第三列LED發(fā)光管的正極、第八行第四列LED發(fā)光管的負(fù)極連接在一起后連接第十五電阻R15后與第八個(gè)SEG連接端SEG7連接;
[0035]八個(gè)SEG連接端SEGO?SEG7分別與MCU控制芯片的X個(gè)1引腳連接;
[0036]2個(gè)COM連接端C0M0、COMl分別與MCU控制芯片的Y/2個(gè)1引腳連接。
[0037]上述電器LED驅(qū)動(dòng)與按鍵讀取電路的控制方法為:MCU控制芯片采用的中斷間隔時(shí)間為2ms,MCU控制芯片對(duì)7個(gè)開關(guān)按鍵的讀取和對(duì)32顆LED發(fā)光管的驅(qū)動(dòng)在上述中斷程序中完成,MCU控制芯片在上述中斷程序的操作流程包括:
[0038]名稱解釋:有效SEG輸出——當(dāng)COM 口開啟低電平的情況下,如果SEG 口為高電平時(shí),能點(diǎn)亮相應(yīng)的LED燈,而且需要點(diǎn)亮這個(gè)LED時(shí),稱為有效的SEG 口輸出高電平,如果不需要點(diǎn)亮這個(gè)LED燈時(shí),SEG 口為無效狀態(tài),即維持高阻態(tài);當(dāng)COM 口開啟高電平的情況下,如果SEG 口為低電平時(shí),能點(diǎn)亮相應(yīng)的LED燈,而且需要點(diǎn)亮這個(gè)LED時(shí),稱為有效的SEG口輸出低電平,如果不需要點(diǎn)亮這個(gè)LED燈時(shí),SEG 口為無效狀態(tài),即維持高阻態(tài);
[0039]步驟(I)、MCU控制芯片啟動(dòng)2ms中斷后,立即將與8個(gè)SEG連接端連接的8個(gè)1引腳連接及與2個(gè)COM連接端連接的2個(gè)1引腳連接轉(zhuǎn)成高阻態(tài);
[0040]步驟⑵、設(shè)置事件參數(shù)led_com,令led_com++ ;
[0041]步驟(3)、判斷l(xiāng)ed_com是否大于8,若是,令led_com = 0,然后執(zhí)行步驟(4),若否,直接轉(zhuǎn)步驟(4);
[0042]步驟(4)、判斷l(xiāng)ed_com的值,然后根據(jù)不同led_com值,執(zhí)行不同操作:
[0043]若led_com = 0,將與第I個(gè)SEG連接端至第4個(gè)SEG連接端連接的4個(gè)1引腳有效的SEGO?SEG3輸出低電平;將與第一個(gè)COM連接端1引腳COMO輸出高電平;
[0044]若led_com = I,將與第5個(gè)SEG連接端至第8個(gè)SEG連接端連接的4個(gè)1引腳有效的SEG4?SEG7輸出低電平;將與第一個(gè)COM連接端1引腳COMO輸出高電平;
[0045]若led_com = 2,將與第I個(gè)SEG連接端至第4個(gè)SEG連接端連接的4個(gè)1引腳有效的SEGO?SEG3輸出高電平;將與第一個(gè)COM連接端1引腳COMO輸出低電平;
[0046]若led_com = 3,將與第5個(gè)SEG連接端至第8個(gè)SEG連接端連接的4個(gè)1引腳有效的SEG4?SEG7輸出高電平;將與第一個(gè)COM連接端1引腳COMO輸出低電平;
[0047]若led_com = 4,將與第I個(gè)SEG連接端至第4個(gè)SEG連接端連接的4個(gè)1引腳有效的SEGO?SEG3輸出低電平;將與第二個(gè)COM連接端1引腳COMl輸出高電平;
[0048]若led_com = 5,將與第5個(gè)SEG連接端至第8個(gè)SEG連接端連接的4個(gè)1引腳有效的SEG4?SEG7輸出低電平;將與第二個(gè)COM連接端1引腳COMl輸出高電平;
[0049]若led_com = 6,將與第I個(gè)SEG連接端至第4個(gè)SEG連接端連接的4個(gè)1引腳有效的SEGO?SEG3輸出高電平;將與第二個(gè)COM連接端1引腳COMl輸出低電平;
[0050]若led_com = 7,將與第5個(gè)SEG連接端至第8個(gè)SEG連接端連接的4個(gè)1引腳有效的SEG4?SEG7輸出高電平;將與第二個(gè)COM連接端1引腳COMl輸出低電平;
[0051]若IecLcom = 8,轉(zhuǎn)至開關(guān)按鍵讀取子程序;
[0052]按鍵讀取子程序包括:
[0053]步驟(a)、將與第一個(gè)SEG連接端連接的1引腳SEGO輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG0,判斷SEGO是否等于0,若是,則判斷第一開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第一開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第一個(gè)SEG連接端連接的1引腳SEGO轉(zhuǎn)成高阻態(tài);
[0054]步驟(b)、將與第二個(gè)SEG連接端連接的1引腳SEGl輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG1,判斷SEGl是否等于0,若是,則判斷第二開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第二開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第二個(gè)SEG連接端連接的1引腳SEGl轉(zhuǎn)成高阻態(tài);
[0055]步驟(C)、將與第三個(gè)SEG連接端連接的1引腳SEG2輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG2,判斷SEG2是否等于0,若是,則判斷第三開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第三開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第三個(gè)SEG連接端連接的1引腳SEG2轉(zhuǎn)成高阻態(tài);
[0056]步驟(d)、將與第四個(gè)SEG連接端連接的1引腳SEG3輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG3,判斷SEG3是否等于0,若是,則判斷第四開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第四開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第四個(gè)SEG連接端連接的1引腳SEG3轉(zhuǎn)成高阻態(tài);
[0057]步驟(e)、將與第五個(gè)SEG連接端連接的1引腳SEG4輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG4,判斷SEG4是否等于0,若是,則判斷第五開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第五開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第五個(gè)SEG連接端連接的1引腳SEG4轉(zhuǎn)成高阻態(tài);
[0058]步驟(f)、將與第六個(gè)SEG連接端連接的1引腳SEG5輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG5,判斷SEG5是否等于0,若是,則判斷第六開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第六開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第六個(gè)SEG連接端連接的1引腳SEG5轉(zhuǎn)成高阻態(tài);
[0059]步驟(g)、將與第七個(gè)SEG連接端連接的1引腳SEG6輸出高電平后直接轉(zhuǎn)轉(zhuǎn)成輸入模式;然后使用兩個(gè)空指令一一NOP指令;然后讀取SEG6,判斷SEG6是否等于0,若是,則判斷第七開關(guān)按鍵的狀態(tài)為“按下”狀態(tài),否則判斷第七開關(guān)按鍵的狀態(tài)為“彈起”狀態(tài);隨即將與第七個(gè)SEG連接端連接的1引腳SEG6轉(zhuǎn)成高阻態(tài);操作結(jié)束。
[0060]實(shí)施例二
[0061 ] 與實(shí)施例一不同的是,包括4個(gè)開關(guān)按鍵,32顆LED發(fā)光管,8個(gè)電阻,32顆LED發(fā)光管排列成4行8列的陣列,
[0062]第一開關(guān)按鍵SWl的第一端均接地,第一開關(guān)按鍵SWl的第二端連接第一電阻Rl后引出第一個(gè)SEG連接端SEGO ;第二開關(guān)按鍵SW2的第一端均接地,第二開關(guān)按鍵SW2的第二端連接第二電阻R2后引出第二個(gè)SEG連接端SEGl ;第三開關(guān)按鍵SW3的第一端均接地,第三開關(guān)按鍵SW3的第二端連接第三電阻R3后引出第三個(gè)SEG連接端SEG2 ;第四開關(guān)按鍵SW4的第一端均接地,第四開關(guān)按鍵SW4的第二端連接第四電阻R4后引出第四個(gè)SEG連接端SEG3 ;
[0063]第一列LED發(fā)光管的負(fù)極和第二列LED發(fā)光管的正極連接在一起引出第一個(gè)COM連接端COMO ;第三列LED發(fā)光管的負(fù)極和第四列LED發(fā)光管的正極連接在一起引出第二個(gè)COM連接端COMl ;第五列LED發(fā)光管的負(fù)極和第六列LED發(fā)光管的正極連接在一起引出第三個(gè)COM連接端COM2 ;第七列LED發(fā)光管的負(fù)極和第八列LED發(fā)光管的正極連接在一起引出第四個(gè)COM連接端COM3 ;
[0064]第一行第一列LED發(fā)光管的正極、第一行第二列LED發(fā)光管的負(fù)極、第一行第三列LED發(fā)光管的正極、第一行第四列LED發(fā)光管的負(fù)極、第一行第五列LED發(fā)光管的正極、第一行第六列LED發(fā)光管的負(fù)極、第一行第七列LED發(fā)光管的正極、第一行第八列LED發(fā)光管的負(fù)極連接在一起后連接第五電阻R5后與第一個(gè)SEG連接端SEGO連接;
[0065]第二行第一列LED發(fā)光管的正極、第二行第二列LED發(fā)光管的負(fù)極、第二行第三列LED發(fā)光管的正極、第二行第四列LED發(fā)光管的負(fù)極、第二行第五列LED發(fā)光管的正極、第二行第六列LED發(fā)光管的負(fù)極、第二行第七列LED發(fā)光管的正極、第二行第八列LED發(fā)光管的負(fù)極連接在一起后連接第六電阻R6后與第二個(gè)SEG連接端SEGl連接;
[0066]第三行第一列LED發(fā)光管的正極、第三行第二列LED發(fā)光管的負(fù)極、第三行第三列LED發(fā)光管的正極、第三行第四列LED發(fā)光管的負(fù)極、第三行第五列LED發(fā)光管的正極、第三行第六列LED發(fā)光管的負(fù)極、第三行第七列LED發(fā)光管的正極、第三行第八列LED發(fā)光管的負(fù)極連接在一起后連接第七電阻R7后與第三個(gè)SEG連接端SEG2連接;
[0067]第四行第一列LED發(fā)光管的正極、第四行第