本設計實例展示了僅使用兩條MCU的I/O口線驅動六只LED燈的新方法,這種方法尤其適用于任何引腳有限的芯片。這種方法使用了兩條I/O口線以及一對互補雙極型晶體管。通過多路復用的方法可點亮一只以上的LED燈。
圖1:測試選擇PIC10F200,固件以兩個獨立、簡單的匯編程序源代碼的方式提供。
注意:VDD必須在2V和3V之間。例如,如果LED2點亮(表1),那么在VDD過高的情況下,LED4和LED6也將被點亮。可以選擇使用任何通用低功率晶體管,但如想使所有LED保持同樣的亮度,則需選擇低VCE(sat)的晶體管。
表1:LED驅動邏輯表。避免(0,0)和(1,1)。
測試選擇了PIC10F200,因為PIC10F200是最小、最簡單的六引腳MCU。出于示范目的,固件以兩個獨立、簡單的匯編程序源代碼的方式提供。
注意:在任何一種模式下,每次僅采用最小電流(高亮度LED低至2mA)及周期性短脈沖突發(fā)模式驅動一只LED燈。匯編程序源代碼做了完整注釋,優(yōu)化了長度,不超過256個字,讓用戶可選擇其他任何引腳有限的PIC。