Mündəricat:

Bir neçə Mikrokontrolör Pimindən Çoxlu LED Necə Sürülür: 6 Addım (Şəkillərlə)
Bir neçə Mikrokontrolör Pimindən Çoxlu LED Necə Sürülür: 6 Addım (Şəkillərlə)

Video: Bir neçə Mikrokontrolör Pimindən Çoxlu LED Necə Sürülür: 6 Addım (Şəkillərlə)

Video: Bir neçə Mikrokontrolör Pimindən Çoxlu LED Necə Sürülür: 6 Addım (Şəkillərlə)
Video: İnverter kondisioner dövrəsinin təmiri səhv getdi - F1 xətası. 2024, Noyabr
Anonim
Bir neçə Mikrokontrolör Pimindən Çoxlu LED -ləri necə idarə etmək olar
Bir neçə Mikrokontrolör Pimindən Çoxlu LED -ləri necə idarə etmək olar

Bir çox mikro nəzarət pininin üç vəziyyətə (+V, GND və ya "yüksək impedans") malik olmasını istifadə edərək N pinlərindən N*(N-1) LEDləri idarə edə bilərsiniz. Beləliklə, PIC12Fxxx və ya ATtiny11 kimi kiçik 8pinli mikrokontrolör idarə edə bilər. 20 LED-də beş mövcud çıxış pimi var və bir növ giriş üçün hələ də bir pin qalıb. Həmçinin baxın

Addım 1: 5 pinli 20 LED

5 pinli 20 LED
5 pinli 20 LED

Aşağı pinli mikro nəzarətçilərin hazırkı məhsulu (6 sancaqdan 20 sancağa qədər)

bütün paket) cəlbedici qiymətlərlə və 'sevimli' olsa da, LED -ləri idarə etmək kimi ümumi tətbiqlər üçün bu pinlərdən ən yaxşı şəkildə necə istifadə edə biləcəyiniz sual doğurur. Sürücü LED-lərinə birbaşa qoşulma üsulu hər LED üçün bir pin istehlak edir. LED anod sıralarının bir N pin dəsti ilə idarə edildiyi və hər cərgənin ümumi katotunun başqa bir M pinlə idarə edildiyi ənənəvi bir çoxlama sxemi, N+M pinləri ilə N*M LEDlərini yandırmağı bacarır. Bununla birlikdə, yalnız 5 və ya daha az çıxışı olan bir prosessorda (əksər 8 pinli mikrokontrolörlərdə olduğu kimi), bu, birbaşa sürücüyə nisbətən daha çox çıxış əldə edir.

Addım 2: Charlieplexing

Charlieplexing
Charlieplexing

Çıxış sancaqlarının əslində üç vəziyyətə malik olduğunu (aktiv yüksək, aktiv aşağı və yüksək empedanslı (giriş)) fərz etsək, satır və sütun sürücülərini bölüşmək və N*(N-1) LED-ləri yalnız N pinlə idarə etmək mümkündür. Bir pin bir sıra LED-lərin ümumi katotlarına bağlanır və qalan N-1 sancaqlar anodlara bağlanır və ya bu sütunu işıqlandırmaq üçün yüksək sürülür və ya LED sönməsini tərk etmək üçün giriş olaraq buraxılır. Maksim bu texnikanı "Charlieplexing" adlandırır və (1) -də təsvir edir; Microchip də bunu sənədlərində qeyd edir (2) (və PICKit 1 lövhəsində də tətbiq olunur.) (1) "Charlieplexing-Azaldılmış Pin-Saylı LED Ekran Multiplexing" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n Tricks 8-pin FLASH PIC Microcontrollers" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LEDləri- Teoriya Təlimat Verilə bilər rgbphil

Addım 3: İşə qoyun

İşə qoyulması
İşə qoyulması
İşə qoyulması
İşə qoyulması

Bu, ATtiny11 -dən 20 LED çıxarır. Bu lövhənin əvvəlki bir versiyası idi

əslində qurulmuş və əsas səhifə fotoşəkili kimi görünür. Qorxuram ki, sxematik şəkil olduqca ümidsiz olsun; Hansı siqnalların harada bağlı olduğunu söyləmək üçün Kartal lazımdır.

Addım 4: Kiçik və Daha Fazla …

Daha kiçik və daha çox yönlü…
Daha kiçik və daha çox yönlü…

Lövhənin çox hissəsi LED dizisi tərəfindən tutulduğundan, yer aça bilərik

ya Attiny çipi, ya da mikroçip PIC12F çipi üçün. LEDləri 3 mm -ə qədər kiçildin və iki tərəfli bir lövhəyə keçin və 27x44 mm ölçüsündə bir şey əldə edirik, təəssüf ki, bu lövhə hələ sınaqdan keçirilməmişdir …

Addım 5: Itty Bitty

Itty Bitty
Itty Bitty

Microchip, əlbəttə ki, sürücülük qabiliyyətinə malik 6 pinli PIC10F çiplərinə malikdir

3 çıxış pinindən yalnız 6 LED. Bu diametri təxminən 16 mm -dir. 603 LED -ə keçmək bir az kiçilməyə imkan verir, amma mənasının nə olduğunu bilmirəm.

Addım 6: Proqram təminatı

Proqram, server səbəblərindən bir az qarışıq olur:

1) göstərilən PCB -lər üçün LEDlər "düzgün" bit qaydasında deyil, PCB düzülüşünə uyğun bir şəkildə qoyulur. IMO, işlərin yolu budur, amma bu o deməkdir ki, 1 -ci sıra mütləq 1 -ci bit deyil, 3 -cü koluimn də 3 -cü demək deyil. Bunun üçün adi satır/sütun ünvanları ilə tənzimləməyə ehtiyacı olan bitlər. 2) Anodlar və katodlar üçün eyni bitlər istifadə edildiyindən bəzi bitlər üçün ümumi (sıra) əlaqə idarə olunan (sütunlu) bitlərin ortasında ola bilər. Bu o sütun dəsti üçün sətir bitindən əvvəl və sonra olub olmamasına bağlı olaraq sütun bitlərini dəyişdirməli olduğunuz deməkdir. 3) Həm ioport, həm də liman istiqaməti reyestri üçün çıxış sözləri əldə etməlisiniz. ATtiny11 üçün əlavə edilmiş ASM kodu "anlayışın sübutudur". Çaşqın şəkildə optimallaşdırılmamış və zəif şərh edilmiş, ancaq indiyə qədər yazdıqlarım hamısıdır.

Tövsiyə: