260 likes | 424 Views
Wyświetlacze LED. Wyświetlacze LED 2 /26. Sterowanie diodami LED:. Wyświetlacze segmentowe LED - zespoły diód LED o wspólnej jednej elektrodzie: WA albo WK.
E N D
Wyświetlacze LED 2/26 Sterowanie diodami LED:
Wyświetlacze segmentowe LED - zespoły diód LED o wspólnej jednej elektrodzie: WA albo WK. Wyświetlacze LED 3/26 Zalety wyświetlaczy LED:Wady wyświetlaczy LED: - długa żywotność;- duży pobór mocy; - duży zakres temperatur pracy;- kontrast zależny od oświetlenia zewn. - duża częstotliwość pracy; - brak refleksów świetlnych;
Wyświetlacze LED 4/26 Sterowanie można realizować statycznie - w sposób analogiczny do sterowania pojedynczymi diodami LED (wygodniejsze są układy WA). Do uzyskania potrzebnych znaków na wyświetlaczu segmentowym stosuje się: - bezpośrednie sterowanie segmentami - cyfry, niektóre litery, symbole; - standardowe dekodery sprzętowe - tylko cyfry, czasem litery/symbole.
Przykład statycznego sterowania wyświetlaczami przy użyciu 7447: Wyświetlacze LED 5/26 seria TTL: ’46, ‘246, ‘247, ’48, ‘248, ‘249; seria CMOS: 4055, 4547, 4558.
z zatrzaskiem na cyfrę BCD: 4056, 4511, 4543, 4544, 4513 Wyświetlacze LED 6/26
Wyświetlacze LED 7/26 • Dynamiczne sterowanie wyświetlaczami LED • Cechy: • równolegle połączone linie segmentów wszystkich pozycji wyświetlacza; • wspólne elektrody poszczególnych pozycji sterowane niezależnie; • mniejsza liczba elementów sterujących - oszczędności; • prostsza sieć połączeń - oszczędności; • wymaga buforowania wyświetlanej informacji; • trudniejsze sterowanie - rozbudowany program albo specjalny sterownik sprzętowy; • stosowane także w przypadku grup pojedynczych LED.
WG WG WG WG WG WG stan linii segmentowych W1 W2 W3 W4 W1 W2 W1 W2 W3 W4 TO TP Wyświetlacze LED 8/26 zasada pracy: W1, W2, W3, W4 – sterowania wspólnych elektrod kolejnych pozycji wyświetlacza WG – okresy wygaszania międzysegmentowego TP – okres powtarzania TO – okres obsługi
Wyświetlacze LED 9/26 Aby uzyskać podobną jak przy sterowaniu statycznym obserwowaną jasność świecenia segmentów LED należy stosować impulsowo prąd segmentu k-krotnie większy (tzw. forsowanie prądu). Częstotliwość powtarzania dla pojedynczego wyświetlacza powinna być większa od 40Hz (TP < 2,5ms), wynika to ze zdolności postrzegania oka ludzkiego. Przy N wyświetlaczach w zestawie, otrzymujemy częstotliwość obsługi: fO > N∙fP
Wyświetlacze LED 10/26 • Przykład algorytmu obsługi zestawu 8 wyświetlaczy w przerwaniach zegar. • założenia: • częstotliwość przerwań zegarowych fC 840Hz = 320Hz; • pozycje wyświetlacza są wybierane kodem poprzez port portselcyfr; • informację wyświetlaną wpisuje się do portu portwysw; • struktury danych: bufor wyświetlacza bufwy przechowuje informacje (W0..W7) wyświetlane na poszczególnych pozycjach wyświetlacza jako: kody segmentowe, kody specjalne, cyfry BCD (pojedyncze lub pary).
START operacje startowe procedury obsługi przerwania zegarowego wyłączenie wszystkich pozycji wyświetlacza A:=11111111b AOUT[portselcyfr] inne działania procedury obsługi przerwania zegarowego wysłanie do portwysw informacji o stanie kolejnej pozycji wyświetlacza, przygotowanie nowej wartości selektora sw lw:=(lw+1) mod 8 AM[bufwy+lw] RL sw AOUT[portwysw] inne działania procedury obsługi przerwania zegarowego aktualizacja portselcyfr- włączenie kolejnej pozycji wyświetlacza swOUT[portselcyfr] operacje końcowe procedury obsługi przerwania zegarowego RETURN Wyświetlacze LED 11/26
Wyświetlacze LED 12/26 Przykładowa realizacja sprzętowa: - wyświetlacz typu WA
Wyświetlacze LED 13/26 Przykładowa realizacja sprzętowa: - wyświetlacz typu WK
Wyświetlacze LED 14/26
Wyświetlacze LED 15/26 Wyświetlacze mozaikowe LED. Umożliwiają one przedstawianie różnych znaków i symboli w matrycy 5x7, 5x8 itp. pikseli. Sterowanie nimi może być zrealizowane jako: - sterowanie dynamiczne kolejnymi kolumnami pikseli (dostępne są scalone generatory znaków np.7304xx); - sterowanie statyczne lub dynamiczne całymi matrycami zintegrowanymi z lokalnymi sterownikami.
Sterownik klawiatury i wyświetlaczy Wyświetlacze LED - 8279 16/26
Cechy układu 8279: • możliwość obsługi matrycy do 64 klawiszy lub innych styków; • możliwość współpracy z klawiaturą autonomiczną; • bufor FIFO na 8 znaków z klawiatury autonomicznej; • dynamiczna obsługa do 16 (segmentowo) lub 32 (cyfry BCD) wyświetlaczy 7-segmentowych; • zawiera pamięć znaków dla wyświetlaczy; • 4 tryby pracy wyświetlacza; • 4 tryby pracy klawiatury; • możliwość zgłaszania przerwań od klawiatury; • widoczny dla procesora jako 2 kolejne porty (rozróżnienie pinem A0); • dostępny rejestr stanu; Wyświetlacze LED - 8279 17/26
Przykładowa aplikacja Wyświetlacze LED - 8279 18/26
Wyświetlacze LED - DB-DSP 19/26 • pakiet DBDSP klawiatury i wyświetlacza LED, zawierający: • matrycę 24 klawiszy; • sześciopozycyjny 7-segmentowy wyświetlacz LED z uniwibratorem zabezpieczającym przed przepaleniem wyświetlaczy; • układ 8255 jako zestaw portów pośredniczących między magistralą systemu a klawiaturą i wyświetlaczem; • lokalny dekoder adresów GAL16V8, rozpoznający adresy: 8000h - odczyt/zapis portu PA 8255 8001h - odczyt/zapis portu PB 8255 8002h - odczyt/zapis portu PC 8255 8003h - odczyt rejestru stanu/zapis rejestru sterującego 8255 80FFh - wymuszenie resetu sprzętowego 8255
#include <sfr51.h> // program wyswietlajacy ‘1’ na wszystkich pozycjach unsigned char xdata segmenty _at_ 0x8001; unsigned char xdata klawisze _at_ 0x8002; unsigned char xdata sterowanie _at_ 0x8003; unsigned char xdata resetDBDSP _at_ 0x80FF; unsigned char idata i,s; int idata k; void main (void) { resetDBDSP=0; //programowy reset 8255 na DBDSP sterowanie=0x91; //zainicjowanie 8255 do pracy segmenty=0; //wstepne wygaszenie segmentow klawisze=0x7f; Wyświetlacze LED - DB-DSP 21/26
while (1) { for (k=1; k<100; k++); // wylaczenie wszystkich pozycji wyswietlacza klawisze=0xff; // stale wysterowanie segmentow b i c segmenty=6; // wlaczenie kolejnej pozycji klawisze=i*16; // wyslanie strobu startu dla uniwibratora klawisze=i*16+0x80; // zmiana numeru pozycji i=(i+1) % 6; } } Wyświetlacze LED - DB-DSP 22/26
#include <sfr51.h> // program wyswietlajacy znaki z bufora unsigned char xdata segmenty _at_ 0x8001; unsigned char xdata klawisze _at_ 0x8002; unsigned char xdata sterowanie _at_ 0x8003; unsigned char xdata resetDBDSP _at_ 0x80FF; unsigned char idata i,s; int idata k; unsigned char idata display[6]; Wyświetlacze LED - DB-DSP 23/26
void main (void) { resetDBDSP=0; //programowy reset 8255 na DBDSP sterowanie=0x91; //zainicjowanie 8255 do pracy segmenty=0; //wstepne wygaszenie segmentow klawisze=0x7f; //zainicjowanie bufora kodami segmentowymi znakow display[0]=0x54; //’n’ display[1]=0x77; //’A’ display[2]=0x73; //’P’ display[3]=0x06; //’I’ display[4]=0x6d; //’S’ display[5]=0; //’ ‘ Wyświetlacze LED - DB-DSP 24/26
while (1) { for (k=1; k<100; k++); // wylaczenie wszystkich pozycji wyswietlacza klawisze=0xff; // stale wysterowanie segmentow b i c segmenty=display[i]; // wlaczenie kolejnej pozycji klawisze=i*16; // wyslanie strobu startu dla uniwibratora klawisze=i*16+0x80; // zmiana numeru pozycji i=(i+1) % 6; } } Wyświetlacze LED - DB-DSP 25/26
Wyświetlacze LED 26/26