Multiplexovaný displej

Z MAM wiki

Verze z 23. 3. 2014, 21:42; Horcik (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Podobně jako lze ušetřit vývody procesoru při řízení větší klávesnice, lze omezit i množství ovládacích přívodů k vícemístnému displeji. Řízení potom spočívá v časovém multiplexování jednotlivých pozic displeje, k ovládání n-místného 7segmentového displeje potom stačí místo 7*n pouze 7+n výstupů mikrokontroléru. Při multiplexovaném řízení displejů jsou spojeny všechny stejnojmenné vývody segmentů a připojeny k výstupům mikrokontroléru, pro displej se spol. anodou jsou tedy připojeny katody segmentů a všech pozic displeje k jednomu výstupu, všechny spojené katody segmentů b k dalšímu, atd. Společné anody jednotlivých pozic displeje (jednotky, desítky...) jsou spínacími tranzistory postupně připojovány k napájecímu napětí a současně jsou ovládány spojené katody podle požadovaného znaku.

Soubor:EB_mpx_display.png

Přepínání musí být dostatečně rychlé a nejlépe na kmitočtu odlišném od celočíselných násobků síťového kmitočtu apod., aby nedocházelo k blikání displeje, interferencím se světly napájenými ze sítě a k rozkladu obrazu např. při rychlém pohybu. Nejnižší použitelný kmitočet je okolo 40 Hz, raději nad 100 Hz.

Jednotlivé pozice n-místného displeje svítí nanejvýš 1/n doby, pro dosažení původní svítivosti jako u statického displeje je proto třeba zhruba n-krát zvýšit proud segmenty. Pokud je požadovaný standardní proud segmentem např. 20 mA, je pro 8místný displej počítat s proudem 160 mA na segment zapnutý na 1/8 doby, pro společný vývod všech 8 segmentů jednoho místa displeje potom s proudem až 1,28 A. Tyto proudy by při trvalém připojení vedly k velmi rychlému zničení displeje, při řízení tedy nesmí chybou nebo např. při debugování zastavením na breakpointu dojít k zastavení multiplexu (na naší vývojové destičce u 2místného displeje žádné poškození nehrozí, katodové odpory jsou dimenzovány pro zcela bezpečný trvalý proud pod 10 mA). Velké požadované proudy segmentem vedou k obvodovým potížím při konstrukci vzhledem k velkým úbytkům na PN přechodu segmentu a tím k obtížnému nastavení proudu segmenty a k potřebě výkonových spínačů.

K ovládání může být využit některý časovač, který v pravidelných časových intervalech vyvolá přerušení, při obsluze přerušení je třeba vypnout stávající vzor segmentů na katodách segmentů, přepnout společnou anodu opouštěného řádu na následující pomocí PC4 nebo PC5, a nakonec aktivovat požadovanou kombinaci na katodách pro další pozici na displeji.

V hlavním programu je nutno nastavit časovač (např. Timer/Counter0) na vhodný časový interval pomocí kombinace předděliče a zkrácení cyklu čítače, a nastavit a povolit přerušení - viz kapitolu 8-bit Timer/Counter0 with PWM. Požadovaný interval přerušení pro obnovu údaje 2místného displeje je zhruba po 4 ms, tj. obnova celého displeje proběhne každou 1/125 s.

.org 0x0000
           rjmp    main                ; Reset Handler
.org 0x001C
           rjmp    multiplex           ; Timer0 Compare A Handler
Osobní nástroje