Aplikacja wyświetlacza VFD

background image

http://www.easy-soft.tsnet.pl

Aplikacja wyświetlacza VFD.

W związku z dużym zainteresowaniem jaki wywołał artykuł

na temat modułów wyświetlaczy VFD, zdecydowałem

kontynuować temat w następnym tego rodzaju artykule.

Tym razem sięgnąłem jednak nie tyle do gotowych

modułów wyświetlaczy z wbudowanym kontrolerem, ile do

samego wyświetlacza, rzecz by można – nagiej lampy, bez

żadnego oprzyrządowania. W tym miejscu chciałbym podziękować również firmie FUTABA, jednemu z

największych producentów wyświetlaczy VFD, za udostępnienie próbek wyświetlacza 7-LT-109 do testów.

Aplikacja powstała bardziej z myślą o tych wszystkich, którzy zastanawiają się w jaki sposób użyć posiadanego

VFD niż jako kit oferowany dla elektroników amatorów.

Zasilanie wyświetlacza VFD.

W poprzednim artykule na temat modułów VFD

opisywałem w zarysach zasadę działania tego

rodzaju wyświetlacza. Przypomnę najważniejsze

moim zdaniem szczegóły, które pozwolą zrozu-

mieć zachodzące zjawiska fizyczne. Wyświetlacz

VFD to rodzaj trójelektrodowej lampy próżnio-

wej. Typowo zbudowany jest z anody wykonanej

na przykład z grafitu, pokrytej substancją będącą

związkiem fosforu i zwaną luminoforem. Nad

anodą umieszczona jest siatki oraz bezpośrednio

żarzona katoda (brak jest osobnego żarnika: drut

żarnika pełni jednocześnie funkcję katody).

Zgromadzone wokół katody elektrony, wybite ze

swych orbit na skutek bardzo wysokiej tempera-

tury, przyspieszane są w kierunku anody przez

dodatnie napięcie na siatce. Elektrony bombar-

dujące anodę są powodem świecenia luminoforu.

Obecnie wytwarzane są wyświetlacze o różnych

kolorach świecenia, zależnych od rodzaju

użytego luminoforu. Najpopularniejsze są te, o

kolorze zielonym ale można również spotkać się z

kolorem świecenia białym, pomarańczowym czy

niebieskim. Na rysunku 1 przedstawiono schemat

budowy typowego wyświetlacza VFD.

Wyświetlacz VFD charakteryzuje się bardzo

dobrą widocznością wyświetlanych znaków. Są

one doskonale czytelne nawet w złych warunków

oświetlenia. Dodatkowo możliwa jest regulacja

jasności świecenia znaków. Jest ona realizowana

bądź to przez zmianę wartości napięcia

anodowego, bądź to przez zmianę czasu

świecenia znaku. Będzie o tym mowa w dalszej

części artykułu. Wadą tego rodzaju wyświetlacza jest bardzo duży pobór energii, który praktycznie umożliwia

stosowanie go jedynie w urządzeniach stacjonarnych, zasilanych z sieci energetycznej. Energia prądu

zasilającego konsumowana jest głównie przez żarnik, który w bardzo dużym wyświetlaczu pobiera nawet i 20W

mocy prądu zasilającego.

Napięcie anodowe.

Wartość napięcia anodowego jak i maksymalnego prądu dla pojedynczego segmentu znaku, podana jest w

karcie katalogowej konkretnego modelu wyświetlacza. Najczęściej, dla nowoczesnych wyświetlaczy VFD,

wartość napięcia anodowego waha się w okolicach 18 do 24V a prąd anodowy to kilka miliamper. Oczywiście

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 1/13 -

rys.1 Uproszczony schemat budowy wyświetlacza VFD

background image

http://www.easy-soft.tsnet.pl

wartość prądu zależy od takich czynników jak chociażby wielkość wyświetlanych znaków i jasność ich

świecenia. Elektronik konstruktor łatwo zorientuje się, że nie jest trudno zbudować źródło napięcia zasilania o

podanych wyżej parametrach, przeznaczone do zasilania anody VFD.

rys.2 Sekwencja załączenia segmentu wyświetlacza VFD

Napięcie siatki.

Segment wyświetlacza VFD świeci, gdy przyłożone jest napięcie żarzenia o odpowiedniej wartości, przyłożone

jest dodatnie napięcie anodowe oraz dodatnie napięcie siatki. W praktyce nie wytwarza się osobnych źródeł

napięcia zasilającego dla siatki oraz dla anody. Najczęściej napięcie siatki jest równe napięciu anodowemu.

Można oczywiście zmieniać wartość napięcia anodowego w celu regulacji jasności świecenia, jednak najczęściej

stosowane jest rozwiązanie, w którym jasność świecenia VFD regulowana jest za pomocą zmiany czasu

załączenia świecenia segmentu. Zasadę tę ilustruje rysunek 3. Jest to uzasadnione zarówno od strony

ekonomicznej (tańsze źródło napięcia) jak też zbieżne z zasadami działania kontrolerów wyświetlaczy. Przy

okazji opisu cech charakterystycznych dla napięcia siatki jedna bardzo ważna uwaga. Sekwencja załączająca

wyświetlacza, pod groźbą uszkodzenia drivera wyjściowego, powinna wyglądać tak, jak przedstawiono to na

rysunku 2: przy załączeniu świecenia jako pierwsze musi być przyłożone napięcie anodowe, dopiero później

może się pojawić napięcie siatki. Odwrotnie postępujemy gasząc segment: najpierw musi zostać odłączone

napięcie siatki dopiero później wolno nam wyłączyć napięcie anodowe.

Rys 3. Regulacja jasności świecenia wyświetlacza VFD.

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 2/13 -

background image

http://www.easy-soft.tsnet.pl

Napięcie żarzenia.

Napięcie żarzenia ma ogromy wpływ na jakość funkcjonowania wyświetlacza VFD. Brak zasilania żarzenia

uniemożliwia pracę wyświetlacza. Jego niewłaściwa wartość lub kształt (!) mogą doprowadzić do sytuacji, gdy

nie będzie możliwe uzyskanie poprawnego i równomiernego świecenia segmentów znaku. W praktyce może się

to objawiać na przykład migotaniem lub „widmowym” świeceniem segmentów, które powinny być wyłączone.

W związku z tym, że napięcie żarzenia to tak ważny czynnik, chciałbym przedyskutować tutaj kilka różnych

metod jego wytwarzania do których przystosowana jest większość wyświetlaczy VFD. Do analizy

występujących zjawisk musimy przypomnieć sobie fakt, że żarnik to bardzo długi drut oporowy rozciągnięty

ponad segmentami VFD pełniący jednocześnie rolę katody. Producenci stosują równoległe połączenie kilku

drutów w celu zapewnienia równomierności świecenia całego znaku.

Żarnik zasilany napięciem stałym.

Rzadko stosowaną techniką jest zasilanie żarnika napięciem stałym. W praktyce rozwiązanie te stosowane jest

dla bardzo małych wyświetlaczy o niewielkich znakach. Z kilku stosowanych przez mnie modeli różnych firm

tylko jeden, bardzo stary, używał tego rodzaju napięcia żarzenia. Rozwiązanie to wydaje się więc zanikać

aczkolwiek jest bardzo wygodne w stosowaniu. Na rysunku 4 ukazano symboliczny układ połączeń.

Rys.4 Zasilanie żarnika VFD napięciem stałym

Żarnik będący jednocześnie katodą, wykonany jest z drutu oporowego. Zmiana rezystancji takiego drutu jest

stała na jednostkę długości i przez to rozkład potencjału jest liniowy, wzdłuż całego żarnika: najwyższy od

strony przyłożenia napięcia dodatniego (prawa strona rysunku), najniższy od strony podłączenia potencjału

ziemi. Dla szerokich pól odczytowych owocuje to zmianą jasności świecenia najczęściej wszerz pola

odczytowego. W praktyce zmiana świecenia kompensowana jest umieszczeniem końców żarnika na różnych

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 3/13 -

background image

http://www.easy-soft.tsnet.pl

wysokościach – innej dla końca pozytywnego, innej dla uziemionego jak również zmianą rozmiarów oczek

siatki. Czasami stosowane jest zasilanie żarnika prądem stałym o modulowanej szerokości impulsów (PWM).

Żarnik zasilany napięciem przemiennym.

Najczęściej stosowaną techniką zasilania żarnika VFD jest przyłożenie napięcie przemiennego. Na rysunkach 5 i

6 ukazano sposób połączenia żarnika – katody.

Rys. 5 Zasilanie żarnika prądem przemiennym, jeden z końców źródła napięcia uziemiony.

W układzie z rysunku 5 występują problemy zbliżone do układu zasilanego prądem stałym. Podczas gdy po

jednej stronie żarnika wyświetlacza przyłożone jest napięcie E

a

, po drugiej panuje napięcie E

a

– 2x2 E

f

. Może

to powodować zmiany jasności świecenia i wymaga podobnej kompensacji jak w przypadku zasilania napięciem

stałym. Znacznie mniejsze zmiany napięcia występują, gdy środek uzwojenia transformatora zasilającego

żarnik zostanie uziemiony. Te drobną modyfikację ilustruje rysunek 6. Układ taki z drobnymi modyfikacjami

jest preferowanym i najczęściej stosowanym. Łatwo jest również skompensować ewentualne

nierównomierności świecenia, ponieważ rozkład napięcia na żarniku jest symetryczny i niezależny od strony

podłączenia potencjału ziemi. Kompensację można więc przeprowadzić przez zwykłą zmianę wielkości oczek

elektrody siatki. W przypadku zasilania prądem przemiennym najczęściej stosowane są układy przetwornic z

transformatorem wyjściowym. Należy zadbać o to aby napięcie wyjściowe z takiej przetwornicy zawierało

minimalną ilość zniekształceń. Nie jest to trudne, ponieważ żarnik ma stosunkowo małą rezystancję

(kilkadziesiąt – kilkaset Ohm), jednak trzeba pamiętać, że wszelkiego rodzaju impulsy szpilkowe mogą

powodować miejscowe zmiany jasności świecenia oraz efekt „wędrującego” obrazu.

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 4/13 -

background image

http://www.easy-soft.tsnet.pl

Rys.6 Zasilanie żarnika prądem przemiennym, środek uzwojenia transformatora uziemiony.

Pewna sprzeczność występuje pomiędzy notami aplikacyjnymi różnych producentów. Jedni z nich zalecają aby

częstotliwość napięcia wyjściowego przetwornicy zasilającej żarzenie była niższa niż 30kHz, inni aby mieściła

się w granicach od 10 do 100kHz. Moim zdaniem powinna być co najmniej 20kHz, ponieważ czasami żarniki

niektórych wyświetlaczy na skutek zmian płynącego prądu funkcjonują jak... głośnik. Źle wykonany układ

zasilania żarzenia owocuje cichym ale słyszalnym i niezbyt miłym dla ucha piskiem. W wykonanej aplikacji

dostarczane z przetwornicy napięcie żarzenia ma częstotliwość aż 300kHz i nie zauważyłem żadnego wpływu

na jakość pracy układu. Świadczy to o tym, że parametr ten nie jest krytycznym dla pracy VFD.

Napięcie odcięcia.

Opis warunków zasilania nie byłby pełny bez omówienia tzw. napięcia odcięcia prądu anodowego. Jak

omawiano to wcześniej, segmenty znaku świecą, gdy do siatki oraz anody zostanie niemal jednocześnie

przyłożone pozytywne napięcie (pamiętajmy o warunkach załączenia!). Gdy napięcie siatki lub anody jest

niższe od napięcia katody (żarzenia), wówczas świecenie segmentu może być zupełnie przypadkowe. W

związku z tym aby z całą pewnością wyłączyć prąd anodowy, napięcie anodowe musi być niższe niż napięcie

żarzenia. Ten negatywny potencjał zwany jest napięciem odcięcia. W statycznie sterowanych wyświetlaczach

wyłącznie anoda wymaga napięcia odcięcia, natomiast w wyświetlaczach sterowanych dynamicznie jest to

warunek konieczny dla prawidłowej pracy zarówno siatki jak i anody.

Typowo wartość napięcia odcięcia to 0 do –4V. Napięcie to dla anody zależy od właściwości fizycznych

pokrywających ją związków fosforu, natomiast dla siatki od energii elektronów emitowanych przez katodę.

Zazwyczaj napięcie odcięcia siatki jest niższe od napięcia odcięcia anody. Upraszczając można powiedzieć, że

temperatura i sposób wykonania katody limitują wartość napięcia odcięcia. W praktycznych zastosowaniach,

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 5/13 -

background image

http://www.easy-soft.tsnet.pl

mimo omawianych wyżej różnic, stosowane jest pojedyncze napięcie odcięcia dla siatki i anody o wartości

właściwej napięciu odcięcia siatki.

Rys.8 Praktyczna metoda realizacji układu wypracowywania napięcia odcięcia.

Dynamiczne sterowanie wyświetlaczem VFD.

Wyświetlacze VFD, posiadające więcej niż jeden znak, najczęściej połączone są w układ, gdzie anody

poszczególnych segmentów są zwarte a siatki zasilane oddzielnie sterują wyświetlaniem poszczególnych

znaków.

Rys.7 Układ połączeń wewnątrz wyświetlacza sterowanego dynamicznie, na przykład FUTABA 7-LT-109, który

jednak posiada większą liczbę cyfr.

Zasilenie siatki odpowiada tak jakby załączeniu wspólnej anody czy katody tradycyjnego wyświetlacza LED.

Oczywiście spotyka się również wyświetlacze VFD, gdzie każda z anod wyprowadzona jest oddzielnie, jednak

jest to rzadkość. Znacznie częściej spotkamy w praktyce te sterowane dynamicznie, o układzie połączeń

zbliżonym do ukazanego na rysunku 7.

Przy sterowaniu takiego wyświetlacza, pożądana jasność świecenia może być osiągnięta przez użycie jednej z

dwóch metod:

-

zmianę wielkości napięcia anodowego i siatki,

-

zmianę szerokości impulsu załączającego świecenie.

Stosując tę pierwszą metodę należy pamiętać, że zmiana napięcia anodowego może występować tylko w

pewnych granicach. Moje eksperymenty doprowadziły mnie do wniosków, że raczej niechętnie użyję tej

metody. Zmiana jasności świecenia jest widoczna, jednak poniżej pewnej wartości napięcia segment nie świeci

się równomiernie. Zdarzają się jaśniejsze i ciemniejsze miejsca: napięcie jest po prostu zbyt niskie. Nie

próbowałem, co wydarzy się gdy przyłożone zostanie zbyt wysokie napięcie. Potrafię sobie jednak wyobrazić,

że może to zaowocować uszkodzeniem anody lub luminoforu na skutek zbyt dużego prądu anodowego.

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 6/13 -

background image

http://www.easy-soft.tsnet.pl

Dodatkową trudność stanowi odpowiednie wykonanie przetwornicy zasilającej. W mojej aplikacji transformator

wypracowujący napięcie anodowe i żarzenia jest wspólny. W związku z tym zmiana jednego z napięć (w mojej

aplikacji pętla sprzężenia zwrotnego kontroluje napięcie anodowe) pociąga za sobą zmianę drugiego. Chcąc

więc zachować idealne warunki zasilania, należałoby oba te napięcia wytwarzać oddzielnie. Komplikuje to układ

przetwornicy i podnosi jej koszt. Znacznie łatwiejszą do realizacji jest metoda wymieniona jako druga, to

znaczy zmiana szerokości impulsu załączającego wyświetlanie. Jej stosowanie, aczkolwiek również posiadające

pewne limity, ogranicza się do zmian przeprowadzanych w aplikacji sterującej. Metodę tę limituje fakt, że

poniżej pewnej szerokości impulsu świecenie segmentu znaku nie będzie widoczne a powyżej mogą się pojawić

„prześwity” pomiędzy sąsiednimi znakami. Karty katalogowe każdego z producentów zawierają najczęściej

dane dotyczące współczynnika wypełnienia, tzw. duty factor. Dla wyświetlacza firmy FUTABA jako maksymalna

wartość podawany jest stosunek czasu załączenia do czasu wyłączenia równy 1/8,75.

Praktyczna realizacja układu sterowania wyświetlaczem VFD 7-LT-109 firmy FUTABA.

Na rysunku 9 przedstawiono schemat przykładowej aplikacji

układu sterowania i zasilania wyświetlacza VFD firmy

FUTABA typu 7-LT-109GN. Układ U1 (LM5000-3) pełni rolę

przetwornicy zasilającej VFD. Jest to nowy wyrób firmy

National Semiconductors, ja uzyskałem go w programie

próbek zamawiając przez stronę producenta

www.national.com. LM5000 to nowy układ, wprowadzony do

sprzedaży w ubiegłym roku. Ze względu na niewielkie

rozmiary oraz małą liczbę komponentów zewnętrznych,

świetnie nadaje się do tego rodzaju aplikacji. Posiada

wbudowany stopień wyjściowy mocy, którego obciążeniem

może być wprost transformator. Można wybrać również

jedną z dwóch częstotliwości pracy przetwornicy, po prostu

podłączając lub odłączając wyprowadzenie FS od potencjału

masy. Charakterystycznym dla LM5000 jest również bardzo

szeroki zakres napięć zasilania. Praktycznie może on być

zasilany napięciem od 3,1 do 40V a maksymalna wartość przełączanego napięcia to aż 80V. Użyta wersja

układu umożliwia pracę przetwornicy z częstotliwością 300 lub 700kHz. Wybrałem tę niższą. W przykładzie

aplikacji przetwornica pracuje z napięciem wejściowym równym 5V. Jest ono jednocześnie wykorzystywane do

zasilania mikrokontrolera oraz driverów napięcia wyjściowego typu UDN2981. Uwaga: układ ten zasilany jest z

dwóch napięć! Obciążeniem LM5000 jest transformator wykonany przy użyciu karkasu i rdzenia pochodzących

z oferty firmy SCHURICHT. Karkas ma numer katalogowy 334180 (karkas EFD15) a rdzeń 334160 (rdzeń do

EFD15). Celowo wybrałem rdzeń, który łatwo jest kupić i który dostępny jest w stałej ofercie sprzedaży.

Równolegle do uzwojenia pierwotnego transformatora dołączone są diody D1 (dioda Zenera 16V) oraz D2

(dioda szybka np.MUR120), których celem jest ochrona stopnia wyjściowego układu przed przepięciami. Pętla

sprzężenia zwrotnego dołączona jest do wyjścia napięcia anodowego za diodą Schottky D3 (1N5819). Wartości

rezystorów R2 i R3 wpływają bezpośrednio na wartość napięcia wyjściowego. W tej aplikacji wynosi ona 22V.

Napięcie to zostało dobrane odpowiednio do typu użytego wyświetlacza.

Na karkasie nawinięto również uzwojenie podające napięcie żarzenia. Do środkowego odczepu dołączona

została dioda Zenera D4 (BZX C3V9) z kondensatorem bocznikującym C12. Elementy te służą wypracowaniu

napięcie odcięcia. Wartość napięcia żarzenia zmierzona oscyloskopem na doprowadzeniach żarzenia

wyświetlacza wynosi około 5V

pp

. Ma ono kształt zbliżony do prostokątnego. Jego wartość nie jest kontrolowana

przez układ przetwornicy i nie wpływa na pracę pętli sprzężenia zwrotnego. W związku z powyższym należy

unikać zwarć w obwodzie żarzenia przy pracującym układzie zasilania VFD!

Rolę układu sterowania pełni mikrokontroler AT89S8252 (U2). Jest to popularny w wielu zastosowaniach układ,

którego lista rozkazów kompatybilna jest z 8051. Mikrokontroler pracuje z częstotliwością zegara równą 4MHz.

Można użyć rezonatora o innej częstotliwości, jednak trzeba się liczyć z koniecznością wykonania zmian w

aplikacji sterującej. Jako układów dopasowujących poziom napięć TTL do VFD użyto UDN2981A z oferty firmy

Allegro-Micro. Port P0 mikrokontrolera steruje pracą segmentów (anod), natomiast port P2 używany jest do

załączania siatek znaków. Chciałbym zwrócić uwagę na fakt, że na wyjściu układu drivera U4 dołączona jest

drabinka rezystorowa R4 (8 x 100k). Jest ona odpowiedzialna za wstępną polaryzację siatek znaków. Jej brak

objawia się „widmowym” świeceniem segmentów sąsiedniego znaku.

Płytka ewaluacyjna posiada wyprowadzone złącze do programowania mikrokontrolera w pracującym układzie

(in-circuit) przystosowane do programatora AVT515 opisywanego w numerze 9/2003 Elektroniki Praktycznej.

Można w niej stosować zarówno mikrokontroler z serii ’51 jak i kompatybilny pod względem wyprowadzeń z

serii AVR, na przykład AT90S8515, ATMega8535 itp. Uwaga: zmiana mikrokontrolera na AVR wymaga

wlutowania rezystora w miejsce elementu C7 oraz usunięcia zwory JP1. Program sterujący napisany został w

języku C dla mikrokontrolera z rdzeniem ’51. Posługiwałem się wersją demonstracyjną kompilatora firmy

RAISONANCE.

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 7/13 -

background image

http://www.easy-soft.tsnet.pl

Rys.9 Schemat układu z opisywanej aplikacji VFD.

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 8/13 -

background image

http://www.easy-soft.tsnet.pl

Program sterujący.

Program rozpoczyna się od deklaracji stałych tablic mającymi bezpośredni wpływ na wygląd znaków oraz

kolejność ich załączania. Przyjrzyjmy się tablicom.

//tablica zawierająca definicje wzorców znaków

char code patterns[11] = {0x3F, 0x06, 0x5B, 0x4F,0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x00};

//wskaźnik do elementu tablic (wzorca znaku)

char code * Tpat = &patterns;

//tutaj kolejność załączania cyfr wyświetlacza,aktywny (załączający) jest stan wysoki

char code digits[6] = { 0x01,0x02,0x04,0x08,0x10,0x20 };

//wskaźnik do tablicy kolejności załączeń

char code *Tdig = &digits;

Listing 1. Zmienne tablicowe zawierające kształt wyświetlanego znaku oraz kolejność załączenia.

Patterns to deklaracja wzorców znaków umieszczona w obszarze pamięci programu mikrokontrolera.

Umieszcza ją tam kwalifikator code. Typ char informuje kompilator o tym, że pojedynczy element tablicy ma

rozmiar ośmiu bitów. Zmienna wskazująca Tpat pokazuje na poszczególne elementy tablicy. W dalszej części

programu jest ona używana jako wskaźnik początku wzorców wyświetlanych znaków, do którego dodawany

jest offset w celu wyznaczenia wzorca znaku do pobrania z ROM. Stanem aktywnym, odpowiadającym

zaświeceniu segmentu, jest wartość logiczna „1” na pozycji bitu. Znaki w postaci cyfr uwzględniać muszą

sposób dołączenia mikrokontrolera do wyświetlacza VFD. Elementy tablicy ułożone są w taki sposób, że na

pozycji o indeksie „0” umieszczona jest definicja znaku „0”, na pozycji „1” definicja znaku „1” i tak dalej.

Ostatnim w kolejności (indeks numer 10) jest kod wygaszenia wszystkich segmentów znaku.

Tablica digits zawiera kolejność załączenia poszczególnych cyfr. W tej aplikacji znakowi o indeksie „0”

odpowiada załączenie pierwszej cyfry z prawej strony wyświetlacza. Znak o indeksie 5, to pierwsza cyfra z

prawej strony VFD. Kod załączenia o indeksie „7” odpowiada wyświetleniu symbolu strzałki (patrz zdjęcie

wyświetlacza FUTABA 7-LT-109). Łatwo jest odwrócić kolejność wyświetlania po prostu zmieniając ustawienie

elementów w tablicy digits. Zmienna wskazując Tdig podobnie jak poprzednio, służy do wyznaczenia kodu

sterującego załączaniem cyfry na bazie jej numeru.

Dynamiczne sterowanie wyświetlaniem odbywa się z wykorzystaniem funkcji obsługi przerwania Timera 1.

Pracuje on w trybie ośmiobitowym z odświeżaniem zawartości rejestru timera w obsłudze przerwania. Funkcja

obsługi przerwania jest bardzo „oszczędna”. Schemat jej działania przedstawiono na rysunku 9.

//procedura obsługi przerwania Timera 1

//wysłanie zmiennej 2-bajtowej do wyświetlacza - 1 znak z bufora display

void Out2Vfd(void) interrupt 3

{

char temp;

TH1 = irqfreq;

//odświeżenie zawartości rejestru timer’a

temp = *(Tbuff+irqcnt);

//pobranie znaku z bufora wyświetlacza

P0 = *(Tpat+temp);

//pobranie wzorca cyfry i wyprowadzenie go przez P0

P2 = *(Tdig+irqcnt);

//załączenie cyfry

temp = ontime;

while (temp--);

//pętla - regulacja czasu załączenia cyfry

P2 = P0 = 0x00;

//wyłączenie wszystkich cyfr (pozostałe polecenia tworzą czas Tb)

if (++irqcnt > 5) irqcnt = 0;

//jeśli to koniec cyfr do wyświetlenia - powrót do początku

}

Listing 2. Funkcja obsługująca przerwanie Timera 1.

Funkcja obsługi przerwania pobiera znak z bufora w RAM, zmienia na postać do wyświetlenia i umieszcza go na

odpowiedniej pozycji wyświetlacza. Stała irqfreq to częstotliwość z jaką wywoływane jest przerwanie.

Częstotliwość ta jest równoważna częstotliwości odświeżania wyświetlacza. Ontime reguluje czas załączenia.

Zmieniając tę wartość można wpływać na jasność świecenia znaku. Program główny to przykład aplikacji

licznika, którego stan wyświetlany jest na VFD. Licznik pracuje w pętli nieskończonej zliczając kolejne przebiegi

pętli. Po przepełnieniu jest zerowany i cykl zaczyna się od początku. Stan zmiennej licznika poddawany jest

konwersji na kod BCD a poszczególne wagi dziesiętne wstawiane są do odpowiednich komórki bufora

wyświetlacza. Stan bufora pobierany jest przez funkcję obsługi przerwania i wyświetlany na VFD.

Jacek Bogusz

jacek.bogusz@easy-soft.tsnet.pl

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 9/13 -

background image

http://www.easy-soft.tsnet.pl

Rys.9 Schemat działania funkcji obsługi przerwania

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 10/13 -

background image

http://www.easy-soft.tsnet.pl

/*******************************************

Obsługa wyświetlacza 6 cyfr VFD.

Wyświetlanie znaków ASCII

*******************************************/

#pragma SMALL

//dołączenie definicji rejestrów mikrokontrolera

#include <reg8252.h>

//stałe do odświeżenia zawartości timera 1

#define irqfreq

0xFC

#define ontime 120

#define BLANK 10

/* tutaj wzorce cyfr i liter

char code patterns[11] = {

//0

1

2

3

4

5

6

7

8

9

wygaś

0x3F,

0x06,

0x5B,

0x4F,

0x66,

0x6D,

0x7D,

0x07,

0x7F,

0x6F,

0x00};

char code *Tpat = &patterns;

//tutaj kolejność załączania

char code digits[6] = { 0x01,0x02,0x04,0x08,0x10,0x20 };

char code *Tdig = &digits;

//bufor wyświetlacza w RAM

char data buffer[8];

char data *Tbuff = &buffer;

//licznik wejść w obsługę przerwania

char data irqcnt = 0;

//procedura obsługi przerwania od timer'a 1

//wysłanie zmiennej 2-bajtowej do wyświetlacza - 1 znak z bufora display

void Out2Vfd(void) interrupt 3

{

char temp;

TH1 = irqfreq;

//odświeżenie wartości rejestru timer’a 1

temp = *(Tbuff+irqcnt);

//pobranie znaku z bufora wyświetlacza

P0 = *(Tpat+temp);

//pobranie wzorca cyfry i wyprowadzenie go przez P0

P2 = *(Tdig+irqcnt);

//załączenie cyfry

temp = ontime;

while (temp--);

//pętla - regulacja czasu załączenia cyfry

P2 = P0 = 0x00;

//wyłączenie cyfr (pozostałe polecenia tworzą czas Tb)

if (++irqcnt > 5) irqcnt = 0;

//jeśli wszystkie cyfry - powrót do początku

}

//program główny

void main(void)

{

unsigned int x, D, l;

P0 = P2 = 0;

//wygaszenie cyfr, ustalenie wart.pocz. portów procesora

for (x = 0; x<6; x++) buffer[x] = BLANK;

TMOD = 0x10;

//timer 1:16 bitowy,ustawiana tylko starsza połówka bajtu

TH1 = irqfreq;

//wartość dla reload

ET1 = 1;

//zezwolenie na przerwanie od timer'a 1

TR1 = 1;

//uruchomienie timer'a 1

EA = 1;

//zezw.na przyjmowanie przerwań,załączenie wyświetlania

//wyświetlanie polega na wstawianiu cyfr do zmiennej tablicowej "buffer"

//pozycja 0 odpowiada znakowi o najmłodszej wadze (pierwszy z prawej)

//NA PRZYKŁAD - implementacja licznika

x = 0;

while (1) {

x++;

D = x;

if (x > 99999) {

l = D/100000;

buffer[5] = l;

//podstawienie do wyświetlenia:100000

D = D - 100000*l;

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 11/13 -

background image

http://www.easy-soft.tsnet.pl

}

if (x > 9999) {

l = D/10000;

buffer[4] = l;

//podstawienie do wyświetlenia:10000

D = D - 10000*l;

}

if (x > 999) {

l = D/1000;

buffer[3] = l;

//podstawienie do wyświetlenia:1000

D = D - 1000*l;

}

if (x > 99) {

l = D/100;

buffer[2] = l;

//podstawienie do wyświetlenia:100

D = D - 100*l;

}

if (x > 9) {

l = D/10;

buffer[1] = l;

//podstawienie do wyświetlenia:10

D = D - 10*l;

}

buffer[0] = D;

//podstawienie do wyświetlenia:1

if (x > 65534) {

//czyszczenie wyświetlacza, powtórzenie cyklu

for (x = 0; x<6; x++) buffer[x] = BLANK;

x = 0;

}

}

}

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 12/13 -

background image

http://www.easy-soft.tsnet.pl

Wykaz elementów:

VFD1: Wyświetlacz FUTABA 7-LT-109GN

U1: LM5000-3 National Semiconductor

U2: AT89S8252-24PI

U3, U4: UDN2981A

D1: BZX C16

D2: MUR120

D3: Schottky 1N5819

D4: BZX C3V9

C1: 100u/16V

C2,C3,C4,C5,C8: 100nF/SMD 1206

C/R7: 100nF/SMD 1206 dla AT89, 100k/SMD 1206 dla AVR

C9: 1u/63V

C10: 33u/50V

C11: 100pF/SMD 1206

C12, C13: 10u/16V

C14, C15: 22pF/SMD 1206

R1: 1k/SMD 1206
R2: 10k/SMD 1206
R3: 620/SMD 1206
R4: 8x47k/sieć rezystorowa

R5: 8x47k/sieć rezystorowa

Uwaga! Drabinka R5 lutowana pod płytką, nóżka 1 do wyprowadzenie 40 (VCC) mikrokontrolera.

Karkas do EFD15, Schuricht numer kat. 334180

Rdzeń EFD15, Schuricht numer kat.334160

Dane do wykonania transformatora:

-

Uzw. pierwotne: 20 zw. DNE 0,3

-

Uzw. wtórne 1: 50 zw. DNE 0,12 (napięcie anodowe)

-

Uzw. wtórne 2: 2 x 5 zw. DNE 0,3 (napięcie żarzenia)

J.Bogusz 'Aplikacja wyświetlacza VFD'

- STRONA 13/13 -


Wyszukiwarka

Podobne podstrony:
Znakowe wyświetlacze VFD
Program testujący dla wyświetlaczy VFD firmy Noritake z interfejsem szeregowym
Znakowe wyświetlacze VFD
Aplikacje internetowe Kopia
Dokumenty aplikacyjne CV list
05 Komunikacja aplikacji z ser Nieznany
114 aplikacji zdrowotnych wydanie I OSOZ
o wojewodzie i administr rządowej w wojewodztwie - test, Aplikacja
Wyświetlanie tekstu na ekranie
BizAgi Studio Cz, 5 Stworzeni aplikacji zewn trznej w ASP NET

więcej podobnych podstron