|
Afisaj cu 7 segmente (multiplexare)
Segmentele intr-un
afisaj cu 7 segmente sunt aranjate astfel incat sa formeze un singur
digit de la 0
Putem afisa un numar pe mai multi digiti prin conectarea de afisaje aditionale. Chiar daca este mult mai confortabil sa lucram cu LCDuri, afisajele cu 7 segmente sunt inca un standard in industrie. Aceasta din cauza rezistentei la temperatura, vizibilitatii si unghiului larg de observare. Segmentele sunt marcate cu litere mici: a, b, c, d, e, f, g si dp, unde dp este punctul zecimal. Cele 8 LEDuri din cadrul fiecarui afisaj pot fi aranjate cu catod comun sau cu anod comun. La un afisaj cu catod comun, catodul comun trebuie sa fie conectat la linia de 0v si LEDurile sunt activate cu unu logic. Afisajele cu anod comun trebuie sa prezinte anodul comun conectat la linia de +5v. Segmentele sunt activate cu zero logic. Dimensiunea afisajului este masurata in milimetri; se masoara doar inaltimea digitului (nu carcasa, doar digitul!). Afisajele sunt disponibile cu digiti de inaltimi de 7, 10, 13.5, 20 sau 25 milimetri. Sunt de diferite culori incluzand: rosu, portocaliu si verde. Cea mai simpla metoda pentru a comanda un afisaj este prin intermediul unui driver de afisaj. Acestea sunt disponibile pentru pana la 4 afisaje. Alternativ, afisajele pot fi comandate de un microcontroler, si, daca este necesar mai mult decat un afisaj, metoda de comandare se numeste "multiplexare". Principala diferenta dintre cele doua metode este numarul de linii de comanda. Un driver special poate avea numai o singura linie de tact si integratul de comanda va accesa toate segmentele si va incrementa afisajul. Daca avem doar un singur afisaj de comandat de catre microcontroler, vor fi necesare 7 linii plus una pentru punctul zecimal. Pentru fiecare afisaj zecimal, este necesara doar cate o linie in plus. Pentru a produce un afisaj cu 4, 5 sau 6 digiti, toate afisajele cu 7 segmente vor fi conectate in paralel. Linia comuna (linia catodului comun) este conectata separat si aceasta linie este conectata la zero logic pentru o perioada scurta de timp pentru a activa afisajul. Fiecare afisaj este activat de 100 ori pe secunda si vor da impresia ca toate afisajele sunt active in acelasi timp. In timp ce fiecare afisaj este activat, informatia trebuie livrata astfel incat el va afisa informatia corecta. Pot fi accesate pana la 6 afisaje in acest mod fara ca stralucirea fiecarui afisaj sa fie afectata. Fiecare afisaj este activat efectiv pentru 1/6 din timp si persistenta vizuala a ochilor da impresia ca afisajul este pornit tot timpul. Toate semnalele de sincronizare pentru afisaj sunt produse de program, avantajul unui afisaj controlat de un microcontroler este flexibilitatea. Afisajul poate fi configurat ca un contor crescator, contor descrescator, si poate produce un numar de mesaje folosind literele alfabetului care pot fi usor de afisat.
Exemplul de mai jos arata cum sa controlam doua afisaje.
Conectarea unui microcontroler cu afisaje cu 7 segmente in mod multiplexat
Fisierul LED.INC contine doua macrouri: LED_Init si LED_Disp2. Primul macro este folosit pentru initializarea afisajului. Aici este definita perioada de reimprospatare cat si pinii microcontrolerului utilizati pentru conectarea afisajelor.
Macroul LED_Disp2 are un argument:
LED_Disp2 macro first
first este numarul de la 0 la 99 care trebuie afisat pe digitii MSD si LSD.
Exemplu: LED_Disp2 0x34
Numarul 34 va fi afisat.