
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47

Kontroler MAX7219 proizvodi Maxim Integrated, kompaktan je serijski ulazno/izlazni upravljački program za prikaz sa zajedničkom katodom koji može spojiti mikrokontrolere sa 64 pojedinačne LED diode, 7-segmentne numeričke LED zaslone do 8 znamenki, zaslone s grafikonima itd. Uključeno na -čip su BCD kod-B dekoder, sklopovi multipleksnog skeniranja, upravljački programi za segmente i znamenke te 8 × 8 statički RAM koji pohranjuje svaku znamenku.
Moduli MAX7219 vrlo su prikladni za upotrebu s mikrokontrolerima kao što je ATtiny85 ili, u našem slučaju Tinusaur ploča.
Korak 1: Hardver


Moduli MAX7219 obično izgledaju ovako. Na jednoj strani imaju ulaznu sabirnicu, a na drugoj izlaznu. To vam omogućuje da povežete 2 ili više modula, tj. Jedan za drugim, kako biste stvorili složenije postavke.
Moduli koje koristimo mogu se povezati u lanac pomoću 5 malih kratkospojnika. Pogledajte donju sliku.
Korak 2: Pinout i signali
Modul MAX7219 ima 5 pinova:
- VCC - snaga (+)
- GND-uzemljenje (-)
- DIN - Unos podataka
- CS - Odabir čipa
- CLK - Sat
To znači da su nam potrebna 3 pina na strani mikrokontrolera ATtiny85 za upravljanje modulom. To će biti:
- PB0 - spojen na CLK
- PB1 - spojen na CS
- PB2 - spojen na DIN
To je dovoljno za povezivanje s modulom MAX7219 i njegovo programiranje.
Korak 3: Protokol

Komunikacija s MAX7219 relativno je jednostavna - koristi sinkroni protokol što znači da za svaki podatkovni bit koji šaljemo postoji ciklus takta koji označava prisutnost tog podatkovnog bita.
Drugim riječima, šaljemo 2 paralelne sekvence u bitove - jednu za sat, a drugu za podatke. To softver radi.
Korak 4: Softver

Način rada ovog MAX7219 modula je sljedeći:
- Bajte upisujemo u njegov interni registar.
- MAX7219 tumači podatke.
- MAX7219 upravlja LED diodama u matrici.
To također znači da ne moramo stalno kružiti kroz niz LED dioda kako bismo ih upalili - za to se brine MAX7219 kontroler. Također bi mogao upravljati intenzitetom LED dioda.
Dakle, da bismo na prikladan način koristili module MAX7219 potrebna nam je knjižnica funkcija koja služi u tu svrhu.
Prvo, potrebne su nam neke osnovne funkcije za pisanje u registre MAX7219.
- Zapisivanje bajta u MAX7219.
- Zapisivanje riječi (2 bajta) na MAX7219.
Funkcija koja zapisuje jedan bajt u kontroler izgleda ovako:
void max7219_byte (uint8_t podaci) {for (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // CLK postavimo na LOW ako (podaci & 0x80) // Maskiramo MSB podataka PORTB | = (1 << MAX7219_DIN); // DIN postavite na HIGH else PORTB & = ~ (1 << MAX7219_DIN); // DIN postavite na LOW PORTB | = (1 << MAX7219_CLK); // CLK postavimo na HIGH data << = 1; // Pomicanje ulijevo}}
Sada kada možemo poslati bajtove na MAX7219 možemo početi slati naredbe. To se postiže slanjem 2 bye - prvi za adresu internog registra i drugi za podatke koje želimo poslati.
U kontroleru MAX7219 postoji više desetaka registriranih.
Slanje naredbe ili riječi u osnovi je slanje 2 uzastopna bajta. Funkcija koja ga implementira vrlo je jednostavna.
void max7219_word (uint8_t adresa, uint8_t podaci) {PORTB & = ~ (1 << MAX7219_CS); // Postavite CS na LOW max7219_byte (adresa); // Slanje adrese max7219_byte (podaci); // Slanje podataka PORTB | = (1 << MAX7219_CS); // Postavite CS na HIGH PORTB & = ~ (1 << MAX7219_CLK); // CLK postavite na LOW}
Ovdje je važno napomenuti red u kojem CS signal vraćamo na HIGH - to označava kraj sekvence - u ovom slučaju kraj naredbe. Slična se tehnika koristi pri kontroliranju više od jedne matrice povezane u lanac. Sljedeći korak, prije nego što počnemo uključivati i isključivati LED diode, je inicijalizacija kontrolera MAX7219. To se postiže upisivanjem određenih vrijednosti u određene registre. Radi praktičnosti, tijekom kodiranja mogli bismo niz inicijalizacije staviti u niz.
uint8_t initseq = {0x09, 0x00, // Registar načina dekodiranja, 00 = Nema dekodiranja 0x0a, 0x01, // Registar intenziteta, 0x00.. 0x0f 0x0b, 0x07, // Registar ograničenja skeniranja, 0x07 za prikaz svih redaka 0x0c, 0x01, // Registar za isključivanje, 0x01 = Normalni rad 0x0f, 0x00, // Display-Test Register, 0x00 = Normal Operation};
Trebamo samo poslati 5 naredbi gore u nizu kao parove adresa/podaci. Sljedeći korak - osvjetljavanje niza LED dioda.
Ovo je vrlo jednostavno - samo napišemo jednu naredbu gdje je prvi bajt adresa (od 0 do 7), a drugi bajt 8 bitova koji predstavljaju 8 LED dioda u redu.
void max7219_row (uint8_t adresa, uint8_t podaci) {if (adresa> = 1 && adresa <= 8) max7219_word (adresa, podaci); }
Važno je napomenuti da će ovo raditi samo za 1 matricu. Ako povežemo više matrica u lanac, sve će prikazati iste podatke. Razlog tome je što nakon slanja naredbe vraćamo CS signal na HIGH što uzrokuje da se svi kontroleri MAX7219 u lancu zaključaju i pokažu što god bila zadnja naredba.
Preporučeni:
Tekst u govor Kliknite na UMhip s ARMbasic pogonom i ostale SBC sa pogonom na ARMbasic: 3 koraka

Tekst u govor Kliknite na UChip s ARMbasic pogonom i ostale SBC -ove s ARMbasic pogonom: Uvod: Dobar dan. Moje ime je Tod. Ja sam svemirski i obrambeni profesionalac koji je također pomalo štreber u srcu. Inspiracija: Potiče iz ere dial-up BBS-a, 8-bitnih mikrokontrolera, osobnih računala Kaypro/Commodore/Tandy/TI-994A, kada R
Arduino: Potencio indikator koristi LED matricu MAX7219: 4 koraka

Arduino: Potencio indikator koristi LED matricu MAX7219: U prethodnom vodiču napravio sam indikaciju potenciometra koristeći RGB prsten neo piksela. možete ga vidjeti u ovom članku " Potencio indikator koristi RGB neopixel " A danas ću pokazati indikator potencijatora pomoću LED -a MAX7219 led met
Kako koristiti Max7219 matricu 8x8 točaka s "skiiiD": 9 koraka

Kako koristiti Max7219 8x8 Dot Matrix sa "skiiiD": Ovo je video upute Max7219 8x8 Dot Matrix putem "skiiiD" Prije početka, dolje je osnovni vodič za korištenje skiiiDhttps: //www.instructables.com/id /Početak rada-W
Kako izgraditi 8x8 VELIKU LED matricu (MAX7219 LED 10 mm): 9 koraka (sa slikama)

Kako izgraditi 8x8 VELIKU LED matricu (MAX7219 LED 10 mm): Jeste li radili s gotovom 8x8 LED matricom kao zaslonima? Dolaze u različitim veličinama i s njima je vrlo zanimljivo raditi. Velika lako dostupna veličina je oko 60 mm x 60 mm. Međutim, ako tražite mnogo veću gotovu LED matricu
Kako ispisati prilagođene znakove na LCD -u s mikrokontrolerom 8051: 4 koraka

Kako ispisati prilagođene znakove na LCD -u s mikrokontrolerom 8051: U ovom ćemo vam projektu govoriti o tome kako ispisati prilagođene znakove u LCD -u 16 * 2 pomoću mikrokontrolera 8051. LCD zaslon koristimo u 8 bitnom načinu rada. Isto možemo učiniti i s 4 bitnim načinom rada