INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Met die feit dat baie mikrobeheerspennetjies drie toestande het (+V, GND of "hoë impedensie", kan u N*(N-1) LED's van N-penne dryf. Dus kan die klein 8-pins mikrobeheerder soos 'n PIC12Fxxx of 'n ATtiny11 dryf. 20 LED's op sy vyf beskikbare uitvoerpenne, en nog 'n pen oor vir 'n soort invoer. Sien ook
Stap 1: 20 LED's op 5 penne
Die huidige opbrengs van mikro-beheerders met 'n lae speldtelling (6 penne tot 20 penne op
die hele pakket) is pragtig en 'oulik', maar die vraag is hoe u die penne die beste kan gebruik vir algemene toepassings, soos die bestuur van LED's. 'N Direkte verbindingsbenadering tot die bestuur van LED's verbruik een pen vir elke LED. 'N Tradisionele multiplexeringskema waar rye LED -anodes deur 'n stel N -penne aangedryf word en elke ry se gemeenskaplike katode deur 'n ander stel M -penne aangedryf word, slaag daarin om N*M -LED's met N+M -penne aan te steek. Maar op 'n verwerker met slegs 5 of minder uitsette (soos die geval is met die meeste 8-pen mikrobeheerders), kry u skaars meer uitsette as direkte dryf.
Stap 2: Charlieplexing
Gestel die uitsetpenne is in werklikheid in drie toestande (aktief hoog, aktief laag en hoog impedensie (invoer)), is dit ook moontlik om die ry- en kolombestuurders te deel en N*(N-1) LED's met slegs N-penne te beheer. Een pen is verbind met algemene katodes van 'n ry LED's en aangedryf laag, en die oorblywende N-1-penne is aan die anodes gekoppel en eitherdryed hoog om daardie kolom aan te steek, of as insette gelaat om die LEDoff te verlaat. Maxim noem hierdie tegniek "Charlieplexing", en beskryf dit in (1); Microchip noem dit ook in hul dokument (2) (en implementering ook op die PICKit 1-bord.) (1) "Charlieplexing-Verminderde pin-count LED-skermvermenigvuldiging" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n truuks 8-pins FLASH PIC-mikrobeheerders" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf (3) Charlieplexing LEDs- The theory An Instructable deur rgbphil
Stap 3: Om dit aan die werk te sit
Dit dryf 20 LED's van 'n ATtiny11. 'N Vorige weergawe van hierdie bord was
eintlik gebou en verskyn as die hoofbladfoto. Ek is bang die prentjie van die skematiese is redelik hopeloos; jy het Eagle nodig om jou te vertel watter seine waar verbind is.
Stap 4: Kleiner en veelsydiger …
Aangesien die grootste deel van die bord deur die LED -skikking opgeneem word, kan ons plek maak
vir 'n Attiny -chip OF 'n PIC12F -chip vir mikroskyfies. Krimp die LED's tot 3 mm en gaan na 'n dubbelzijdige bord, en ons kry iets omtrent 27x44mm Helaas, hierdie bord is nog nie getoets nie …
Stap 5: Itty Bitty
Microchip het natuurlik hul 6 -pins PIC10F -skyfies wat 'n motor kan bestuur
slegs 6 LED's van die 3 uitvoerpenne. Dit is ongeveer 16 mm in deursnee. As u na 603 LED's gaan, kan u 'n bietjie kleiner word, maar ek weet nie wat die punt is nie.
Stap 6: sagteware
Die sagteware raak 'n bietjie deurmekaar om verskeie redes:
1) Vir die getoonde PCB's word die LED's op 'n manier uitgelê wat gemaklik is vir die PCB -uitleg, eerder as in die "korrekte" bietjie volgorde. IMO, dit is die manier om dinge te doen, maar dit beteken wel dat ry 1 nie noodwendig bit 1 beteken nie, of kolom 3 nie bit 3. Dit vereis 'n vlak van kartering tussen die gewone ry/kolomadresering en die stukkies wat verstel moet word. 2) Aangesien dieselfde bisse vir anodes en katodes gebruik word, kan die algemene (ry) verbinding vir sommige bisse in die middel van aangedrewe (kolom) bisse wees. Dit beteken dat u kolomstukke moet verskuif, afhangende van of dit voor of na die rybit vir die stel kolomme is. 3) U moet uitvoerwoorde aflei vir beide die ioport en die poortrigtingregister. Die aangehegte ASM -kode vir ATtiny11 is 'n 'bewys van konsep'. Dit is 'n verleentheid wat nie geoptimaliseer is nie en swak kommentaar lewer, maar dit is al wat ek tot dusver geskryf het.