Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Na podlagi dejstva, da imajo številni zatiči mikrokrmilnika tri stanja (+V, GND ali "visoka impedanca"), lahko N*(N-1) LED pripeljete iz N zatičev. Tako lahko mali 8-polni mikrokrmilnik, kot je PIC12Fxxx ali ATtiny11, poganja 20 LED-lučk vsebuje pet razpoložljivih izhodnih zatičev, za nekakšen vhod pa je še en pin. Oglejte si tudi
Korak: 20 LED na 5 nožicah
Trenutni pridelek mikrokrmilnikov z nizkim številom pin (6 pinov na 20 pinov
celoten paket) so privlačne cene in "srčkani", vendar se poraja vprašanje, kako najbolje uporabiti te zatiče za običajne aplikacije, kot so LED za vožnjo. Pristop neposredne povezave do pogonskih LED porabi en pin za vsako LED. Tradicionalna shema multipleksiranja, pri kateri vrstice LED anod poganja en niz N zatičev, skupna katoda vsake vrstice pa drugi niz M zatičev, prižge N*M LED z N+M zatiči. Vendar pa na procesorju s samo 5 ali manj izhodi (tako je pri večini 8-pinskih mikrokrmilnikov) to komaj prinaša več izhodov kot neposredni pogon.
2. korak: Charlieplexing
Ob predpostavki, da so izhodni zatiči dejansko sposobni tri stanja (aktivna visoka, aktivna nizka in visoka impedanca (vhod)), je mogoče tudi deliti gonilnike vrstic in stolpcev ter upravljati N*(N-1) LED z le N zatiči. En zatič je priključen na običajne katode vrste LED in nižji, preostali zatiči N-1 pa so priključeni na anode in bodisi vodijo visoko, da osvetlijo ta stolpec, bodisi levo kot vhodi, da zapustijo LED. Maxim to tehniko imenuje "Charlieplexing" in jo opiše v (1); Microchip to omenja tudi v svojem dokumentu (2) (in izvaja tudi na plošči PICKit 1.) (1) "Charlieplexing-Multiplexing LED Display-Reduced Pin-Count LED" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n Tricks 8-polni mikrokontrolerji FLASH PIC" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LEDs- The theory An Instructable by rgbphil
3. korak: Uresničite
Ta poganja 20 LED diod iz ATtiny11. Prejšnja različica te plošče je bila
dejansko zgrajena in se prikaže kot fotografija glavne strani. Bojim se, da je slika sheme precej brezupna; Eagle vam mora povedati, kje so priključeni signali.
4. korak: Manjši in bolj vsestranski …
Ker večino plošče zaseda LED matrika, lahko naredimo prostor
za čip Attiny ALI za mikročip PIC12F. Zmanjšajte LED diode na 3 mm in pojdite na dvostransko ploščo, pa dobimo nekaj približno 27x44 mm Žal, ta plošča še ni bila preizkušena …
5. korak: Itty Bitty
Microchip ima seveda svoje 6 -polne čipe PIC10F, ki lahko poganjajo
samo 6 LED iz 3 izhodnih zatičev. To je približno 16 mm v premeru. Če se odločite za 603 LED, se lahko nekoliko zmanjšate, vendar nisem prepričan, v čem je smisel.
6. korak: Programska oprema
Programska oprema postane nekoliko neurejena zaradi servirnih razlogov:
1) za prikazane tiskane vezje so LED diode razporejene na način, ki je primeren za postavitev tiskanega vezja, in ne v "pravilnem" vrstnem redu. IMO, to je način dela, vendar to pomeni, da vrstica 1 ne pomeni nujno bit 1 ali stolpec 3 ne pomeni bit 3. To zahteva raven preslikave med običajnim naslovljanjem vrstice/stolpca in bitov, ki jih je treba nastaviti. 2) Ker se isti bitovi uporabljajo za anode in katode, je lahko skupna (vrstna) povezava za nekatere bite sredi gonjenih (stolpnih) bitov. To pomeni, da morate bite stolpcev premakniti, odvisno od tega, ali so pred ali za bitom vrstice za ta niz stolpcev. 3) Izvesti morate izhodne besede za ioport in register smeri vrat. Priložena koda ASM za ATtiny11 je "dokaz koncepta". Sramotno neoptimiziran in slabo komentiran, a to je vse, kar sem do sedaj napisal.