Mündəricat:
Video: ATtiny85 Mikrokontrolör ilə MAX7219 Sürücü LED Matrix 8x8 Necə İnterfeys Edilir: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
MAX7219 nəzarətçi, Maxim Integrated tərəfindən istehsal olunur, 64 fərdi LED-ə, 8-ə qədər 7 seqmentli rəqəmsal LED displeyə, bar-qrafik ekranlara və s. -chip, bir BCD kod-B dekoderi, multipleks tarama sistemi, seqment və rəqəmsal sürücülər və hər bir rəqəmi saxlayan 8 × 8 statik RAMdır.
MAX7219 modulları ATtiny85 və ya bizim vəziyyətimizdə Tinusaur lövhəsi kimi mikro nəzarətçilərlə istifadə etmək çox rahatdır.
Addım 1: Hardware
MAX7219 modulları ümumiyyətlə belə görünür. Bir tərəfdə giriş avtobusu və digər tərəfdə çıxış avtobusu var. Bu, daha mürəkkəb quruluşlar yaratmaq üçün bir -birinin ardınca 2 və ya daha çox modulu bağlamağa imkan verir.
İstifadə etdiyimiz modullar 5 kiçik atlayıcıdan istifadə edərək zəncirdə bağlana bilir. Aşağıdakı şəklə baxın.
Addım 2: Pinout və Siqnallar
MAX7219 modulu 5 sancağa malikdir:
- VCC - güc (+)
- GND-torpaq (-)
- DIN - Məlumat girişi
- CS - Çip seçin
- CLK - Saat
Bu o deməkdir ki, modulu idarə etmək üçün ATtiny85 mikro nəzarətçi tərəfində 3 sancağa ehtiyacımız var. Bunlar olacaq:
- PB0 - CLK ilə əlaqəlidir
- PB1 - CS -yə qoşulur
- PB2 - DIN -ə bağlıdır
Bu, MAX7219 moduluna qoşulmaq və onu proqramlaşdırmaq üçün kifayətdir.
Addım 3: Protokol
MAX7219 ilə əlaqə qurmaq nisbətən asandır - sinxron bir protokoldan istifadə edir, yəni göndərdiyimiz hər bir məlumat biti üçün həmin məlumat bitinin olduğunu göstərən bir saat dövrü var.
Başqa sözlə, bitlərə 2 paralel ardıcıllıq göndəririk - biri saat üçün, digəri isə məlumatlar üçün. Proqramın etdiyi budur.
Addım 4: Proqram təminatı
Bu MAX7219 modulunun işləmə qaydası belədir:
- Daxili reyestrinə bayt yazırıq.
- MAX7219 məlumatları şərh edir.
- MAX7219, matrisdəki LEDləri idarə edir.
Bu o deməkdir ki, onları işıqlandırmaq üçün hər zaman LED -lərdən keçmək məcburiyyətində deyilik - MAX7219 nəzarətçisi bununla məşğul olur. LEDlərin intensivliyini də idarə edə bilər.
Beləliklə, MAX7219 modullarını rahat bir şəkildə istifadə etmək üçün bu məqsədə xidmət edəcək funksiyalar kitabxanasına ehtiyacımız var.
Birincisi, MAX7219 qeydlərinə yazmaq üçün bəzi əsas funksiyalara ehtiyacımız var.
- MAX7219 -a bir bayt yazmaq.
- MAX7219 -a bir söz (2 bayt) yazmaq.
Nəzarətçiyə bir bayt yazan funksiya belə görünür:
void max7219_byte (uint8_t data) {for (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // CLK -ı LOW olaraq təyin edin, əgər (data & 0x80) // PORTB | = (1 << MAX7219_DIN) MSB məlumatlarını maska edin; // DIN -i YÜKSEK olaraq təyin edin PORTB & = ~ (1 << MAX7219_DIN); // DIN -ı LOW PORTB | = (1 << MAX7219_CLK) olaraq təyin edin; // CLK -ı YÜKSƏK məlumatlara təyin edin << = 1; // Sola sürüşdür}}
İndi MAX7219 -a bayt göndərə bildiyimiz üçün əmr göndərməyə başlaya bilərik. Bu, 2 byes göndərməklə edilir - 1 -ci, daxili reyestrin ünvanı və 2 -ci göndərmək istədiyimiz məlumatlar üçün.
MAX7219 nəzarətçisində birdən çox qeyd var.
Bir əmr və ya bir söz göndərmək, əsasən ardıcıl 2 bayt göndərməkdir. Bunu həyata keçirən funksiya çox sadədir.
etibarsız max7219_word (uint8_t ünvanı, uint8_t məlumatları) {PORTB & = ~ (1 << MAX7219_CS); // CS -ni LOW max7219_byte (ünvan) olaraq təyin edin; // max7219_byte ünvanını göndərmək (məlumatlar); // Məlumat göndərilməsi PORTB | = (1 << MAX7219_CS); // CS -ni HIGH PORTB & = ~ (1 << MAX7219_CLK) olaraq təyin edin; // CLK -ı LOW olaraq ayarlayın}
Burada CS siqnalını YÜKSƏ qaytaracağımız xətti qeyd etmək vacibdir - bu, ardıcıllığın sonunu bildirir - bu halda əmrin sonunu göstərir. Bənzər bir üsul, bir zəncirə bağlı birdən çox matrisi idarə edərkən istifadə olunur. LEDləri açmağa və söndürməyə başlamazdan əvvəl növbəti addım MAX7219 nəzarətçisini işə salmaqdır. Bu, müəyyən qeydlərə müəyyən dəyərlər yazmaqla edilir. Rahatlıq üçün, kodlaşdırarkən, başlatma ardıcıllığını bir sıra qoya bilərik.
uint8_t initseq = {0x09, 0x00, // Dekodlaşdırma Rejimi Qeydiyyatı, 00 = 0x0a, 0x01, // İntensivlik Qeydiyyatı, 0x00.. 0x0f 0x0b, 0x07, // Tarama Limitli Qeyd, 0x07 bütün sətirləri göstərmək üçün 0x0c, 0x01, // Bağlama Qeydiyyatı, 0x01 = Normal İş 0x0f, 0x00, // Göstər-Test Qeydiyyatı, 0x00 = Normal İşləmə};
Sadəcə yuxarıdakı 5 əmri ünvan/məlumat cütü olaraq ardıcıllıqla göndərməliyik. Növbəti addım - bir sıra LED -lərin işıqlandırılması.
Bu çox sadədir - biz yalnız 1 -ci baytın ünvanı (0 -dan 7 -ə qədər) və 2 -ci baytın 8 LED -i təmsil edən 8 bit olduğu bir əmr yazırıq.
etibarsız max7219_row (uint8_t ünvanı, uint8_t məlumatları) {if (ünvan> = 1 && ünvan <= 8) max7219_word (ünvan, məlumatlar); }
Bunun yalnız 1 matris üçün işləyəcəyini qeyd etmək vacibdir. Bir zəncirdə daha çox matris bağlasaq, hamısı eyni məlumatları göstərəcək. Bunun səbəbi, əmri göndərdikdən sonra CS siqnalını YÜKSƏK -ə qaytarmağımızdır ki, bu da zəncirdəki bütün MAX7219 idarəedicilərinin bağlanmasına və son əmrin nə olduğunu göstərməsinə səbəb olur.
Tövsiyə:
Max7219 8x8 Dot Matrix "skiiiD" ilə necə istifadə olunur: 9 addım
Max7219 8x8 Dot Matrix "skiiiD" ilə necə istifadə olunur: Bu, "skiiiD" vasitəsi ilə Max7219 8x8 Dot Matrixin video təlimatıdır. /Başlar-W
Mac Terminalından Necə İstifadə Edilir və Əsas Fonksiyonlardan Necə İstifadə Edilir: 4 Addım
Mac Terminalını necə istifadə etməli və əsas funksiyaları necə istifadə etməli: MAC Terminalını necə açacağınızı sizə göstərəcəyik. Terminalda ifconfig, qovluqların dəyişdirilməsi, fayllara daxil olmaq və arp kimi bir neçə xüsusiyyət göstərəcəyik. Ifconfig, IP ünvanınızı və MAC reklamınızı yoxlamağa imkan verəcək
Dot Matrix LED Ekran 8051 Mikrokontrolör ilə Arayüz: 5 addım
Dot Matrix LED Ekran 8051 Mikrodenetleyicisi ilə İnterfeys: Bu layihədə 8051 mikrokontrolörlü bir nöqtə matrisli LED displeyə keçəcəyik. Burada proteusda simulyasiya göstərəcəyik, eyni şeyi aparatınıza da tətbiq edə bilərsiniz. Beləliklə, burada əvvəlcə bu displeydə 'A' deyək bir xarakter çap edəcəyik
8051 Mikrokontrolör ilə LCD -də Xüsusi Xüsusiyyətləri Necə Yazdırmaq olar: 4 addım
8051 Mikrokontrolör ilə LCD -də Xüsusi Xüsusiyyətləri Necə Yazdırmaq olar: Bu layihədə sizə 8051 mikrokontrolördən istifadə edərək 16 * 2 LCD -də xüsusi xarakterin necə çap ediləcəyini izah edəcəyik. 8 bit rejimində LCD istifadə edirik. Eyni şeyi 4 bit rejimi ilə də edə bilərik
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: Bir çox mikrokontrolör sancağının üç vəziyyətə malik olduğunu (+V, GND və ya "yüksək impedanslı") 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 8pin mikro nəzarətçi beş LED -də 20 LED idarə edə bilər