Podwójny wyświetlacz LED z interfejsem I2C - 3.pdf

(339 KB) Pobierz
Podwójny wyświetlacz siedmiosegmentowy sterowany I2C - AVT-859
Podwójny wywietlacz siedmiosegmentowy sterowany I 2 C
P R O J E K T Y
Podwójny wywietlacz
siedmiosegmentowy
sterowany I 2 C
AVT-859
Konstruktorzy projektuj¹cy
uk³ady mikroprocesorowe,
w których wykorzystuj¹ do
prezentacji danych
siedmiosegmentowe
wywietlacze LED, napotykaj¹
nieraz na problemy
techniczne i trudnoci
z uzyskaniem czytelnego
wywietlania.
Najczêciej stosowany sposób
sterowania wywietlaczy, polegaj¹-
cy na ich kolejnym uaktywnianiu
przy jednoczesnym w³¹czaniu od-
powiednich segmentów (czyli tzw.
multipleksowania), posiada doæ
powa¿ne wady. Po pierwsze trzeba
wykorzystaæ wówczas du¿¹ liczbê
wyprowadzeñ procesora (7 + licz-
ba zastosowanych wywietlaczy).
Jest to powa¿na niedogodnoæ,
utrudniaj¹ca lub wrêcz uniemo¿-
liwiaj¹ca stosowanie w konstruk-
cjach ma³ych procesorów, np.
z rodziny 89CX051. Po drugie,
system wywietlania multiplekso-
wanego nie pozwala na osi¹gniê-
cie du¿ej jasnoci wiecenia seg-
mentów, szczególnie przy wiêk-
szej liczbie wywietlaczy. Nawet
przy stosowaniu wywietlaczy
o podwy¿szonej jasnoci, czytel-
noæ wywietlania wiêkszej liczby
cyfr pozostawia najczêciej wiele
do ¿yczenia.
Sytuacja komplikuje siê dodat-
kowo w przypadku stosowania
wywietlaczy siedmiosegmento-
wych o du¿ych rozmiarach. Seg-
menty takich wywietlaczy zawie-
raj¹ najczêciej po kilka diod LED
po³¹czonych szeregowo, co wy-
musza stosowanie napiêæ zasila-
j¹cych znacznie przekraczaj¹cych
maksymalne napiêcie zasilania
procesorów i kolejne komplikowa-
nie uk³adu.
W proponowanym uk³adzie
rozwi¹zano przynajmniej czêcio-
wo te problemy. Mo¿liwe jest
do³¹czenie do dowolnego systemu
mikroprocesorowego wywietlaczy
siedmiosegmentowych LED z cyf-
rami o wysokoci 57mm. Wy-
wietlacze takie s¹ czytelne ze
znacznych odleg³oci i ich zasto-
sowanie umo¿liwia budowê zega-
rów tablicowych i innych wska-
ników, które w za³o¿eniu musz¹
byæ obserwowane z pewnego od-
dalenia. Proponowane wywietla-
cze sterowane s¹ za porednict-
wem magistrali I 2 C i do ich obs³u-
gi musimy wykorzystaæ tylko dwa
wyprowadzenia procesora.
Kolejn¹ zalet¹ (ale czasami
i wad¹) proponowanych wywiet-
laczy jest statyczne wywietlanie
wszystkich segmentów jednocze-
nie. Zalet¹, bo ten sposób pozwa-
la na osi¹gniêcie du¿ej jasnoci
wiecenia segmentów, a wad¹ po-
niewa¿ wywietlanie statyczne po-
woduje znaczne zwiêkszenie zu-
¿ycia energii. Wadê tê mo¿na na
szczêcie doæ ³atwo usun¹æ me-
todami programistycznymi, stosu-
Elektronika Praktyczna 8/2000
27
39522558.051.png
Podwójny wywietlacz siedmiosegmentowy sterowany I 2 C
JP1..JP3, indywidualny adres, pod
którym procesor mo¿e odnaleæ
ten modu³ wywietlaczy. Ponie-
wa¿ ka¿dy PCF8574 posiada trzy
wejcia adresowe, ³atwo obliczyæ,
¿e do magistrali I 2 C mo¿e byæ
pod³¹czonych jednoczenie 8 ta-
kich uk³adów, czyli 8 modu³ów
wywietlaczy - razem 16 cyfr!
Monta¿ i uruchomienie
Na rys. 2 zosta³o pokazane
rozmieszczenie elementów na
p³ytce obwodu drukowanego za-
projektowanego na laminacie jed-
nostronnym. Zastosowanie jedno-
stronnego obwodu drukowanego,
podyktowane chêci¹ zmniejszenia
kosztów wykonania modu³ów, bê-
dzie przyczyn¹ pewnych trudno-
ci w monta¿u p³ytki, które jednak
z pewnoci¹ ³atwo przezwyciê¿y-
my. Jednak jak na razie, monta¿
wykonujemy w typowy sposób,
rozpoczynaj¹c od wlutowania
Rys. 1. Schemat elektryczny modu³u dwóch wywietlaczy
LED sterowanych magistral¹ I 2 C.
j¹c wywietlanie pseudomultiplek-
sowane, które niestety pogarsza
czytelnoæ wywietlaczy, szcze-
gólnie w jasno owietlonych po-
mieszczeniach.
Maksymalna liczba wywietla-
czy, jak¹ mo¿emy do³¹czyæ do
systemu wynosi 8, z mo¿liwoci¹
rozszerzenia do 16. Konstrukcja
mechaniczna wywietlaczy zosta³a
zaprojektowana tak, ¿e mo¿na je
³¹czyæ ze sob¹ bez koniecznoci
lutowania.
menty wywietla-
czy ograniczany
jest za pomoc¹ re-
zystorów R6..R19.
Sterowanie samych dekoderów
jest realizowane za porednict-
wem konwertera I 2 C - omiobito-
wa szyna danych typu PCF8574A.
Uk³ad PCF8574A pracuje w na-
szym urz¹dzeniu jako odbiornik
magistrali I 2 C i posiada swój, usta-
wiany za pomoc¹ jumperów
w p³ytkê elementów o najmniej-
szych gabarytach, a koñcz¹c jego
pierwszy etap na zamontowaniu
kondensatora elektrolitycznego,
jumperów i z³¹cza CON1.
List. 1.
$sim
Opis dzia³ania
Na rys. 1 zosta³ pokazany
schemat elektryczny modu³u
dwóch wywietlaczy LED stero-
wanych magistral¹ I 2 C. Segmenty
wywietlaczy sterowane s¹ w kla-
syczny sposób, za porednict-
wem dwóch dekoderów BCD -
kod wywietlacza siedmiosegmen-
towego (74LS247). Dekodery
74LS247 posiadaj¹ wyjcia typu
open-collector o wytrzyma³oci na-
piêciowej 15V, a zatem nadaj¹ siê
doskonale do pracy w naszym
uk³adzie. Pr¹d p³yn¹cy przez seg-
usun¹æ w przypadku testowania z zaprogramowanym procesorem
Dim R As Byte
deklaracja zmiennej jak bajtu
Dim Q As Byte
deklaracja zmiennej jak bajtu
Dim X As Byte
deklaracja zmiennej jak bajtu
Config Sda = P3.0
poinstruowanie kompilatora, które wyprowadzenie
procesora pracuje jako SDA
Config Scl = P3.1
poinstruowanie kompilatora, które wyprowadzenie
procesora pracuje jako SCL
I2csend 112 , 0
wys³anie na wywietlacz o adresie 112 DEC wartoci 00 (*)
Wait 1
czekaj 1 s
For R = 1 To 99
pocz¹tek pêtli FOR...NEXT
X = Makebcd(r)
konwersja wartoci R na dwucyfrowy kod BCD
I2csend 112 , X
wys³anie do wywietlacza kolejnej liczby w kodzie BCD
For Q = 1 To 50
pêtla opónienia (usun¹æ w przypadku testowania
Next Q
z zaprogramowanym procesorem)
Wait 1
czekaj 1 s
Next R
zamkniêcie pêtli FOR ... NEXT
End
koniec programu
(*) w jêzyku MCS BASIC pêtla FOR...NEXT mo¿e byæ wykonywana tylko od wartoci 1.
St¹d koniecznoæ osobnego wys³ania do wywietlacza wartoci 00.
28
Elektronika Praktyczna 8/2000
39522558.062.png 39522558.067.png 39522558.068.png 39522558.001.png 39522558.002.png 39522558.003.png 39522558.004.png 39522558.005.png 39522558.006.png 39522558.007.png 39522558.008.png 39522558.009.png 39522558.010.png 39522558.011.png 39522558.012.png 39522558.013.png 39522558.014.png 39522558.015.png 39522558.016.png 39522558.017.png 39522558.018.png 39522558.019.png 39522558.020.png 39522558.021.png 39522558.022.png 39522558.023.png 39522558.024.png 39522558.025.png 39522558.026.png 39522558.027.png 39522558.028.png 39522558.029.png 39522558.030.png 39522558.031.png 39522558.032.png 39522558.033.png 39522558.034.png 39522558.035.png 39522558.036.png 39522558.037.png 39522558.038.png 39522558.039.png 39522558.040.png 39522558.041.png 39522558.042.png 39522558.043.png 39522558.044.png 39522558.045.png 39522558.046.png 39522558.047.png 39522558.048.png 39522558.049.png 39522558.050.png 39522558.052.png 39522558.053.png 39522558.054.png 39522558.055.png 39522558.056.png 39522558.057.png 39522558.058.png 39522558.059.png 39522558.060.png 39522558.061.png 39522558.063.png 39522558.064.png
Podwójny wywietlacz siedmiosegmentowy sterowany I 2 C
WYKAZ ELEMENTÓW
Rezystory
R1..R3: 3,3k
W
W
R6..R19: 220
W
Kondensatory
C1: 100
F/10V
C2: 100nF
Pó³przewodniki
DP1, DP2: wywietlacz
siedmiosegmentowy 57mm
IC1, IC2: 74LS247
IC3: PCF8574A
Ró¿ne
CON1: ARK2 (3,5mm)
JP1, JP2, JP3: 3x2 goldpin +
3 jumpery
JP4, JP5: 2x goldpin + jumper
2 szeregi po 4 goldpiny
4 jumpery
Rys. 2. Rozmieszczenie elementów na p³ytce drukowanej.
cze wk³adamy w p³ytkê od strony
druku i nastêpnie zaginamy ich
wyprowadzenia tak, aby zetknê³y
siê z przylutowanymi wczeniej do
p³ytki odcinkami srebrzanki. Ostat-
ni¹ czynnoci¹ podczas monta¿u
p³ytki bêdzie przylutowanie wypro-
wadzeñ wywietlaczy do srebrzanki
za pomoc¹ du¿ych kropli cyny.
Aby pokazaæ na wywietlaczach
jak¹ liczbê, nale¿y do uk³adu
PCF8574 wys³aæ jej reprezentacjê
w kodzie BCD. W ka¿dym jêzyku
programowania napisanie procedury
konwertuj¹cej liczbê z zakresu 0..99
na kod BCD zajê³oby trochê czasu.
Jednak w jêzyku MCS BASIC, sto-
sowanym w pakiecie BASCOM, wy-
starczy jedno tylko polecenie: X=
MAKEBCD(A) gdzie:
A - liczba, któr¹ chcemy poddaæ
konwersji,
X - ¿¹dana liczba w kodzie BCD.
Uwaga: na p³ytce obwodu dru-
kowanego, tu¿ obok punktów lu-
towniczych wywietlaczy, umiesz-
czono dodatkowe punkty, oznaczo-
ne na stronie opisowej literami
P. W otwory w tych punktach
wlutowujemy odcinki srebrzanki
tak, aby wystawa³y ponad stronê
elementów p³ytki na ok. 3..4mm.
Gruboæ srebrzanki lub w ostatecz-
noci miedzianego drutu powinna
zostaæ dobrana tak, aby wchodzi³a
ona w otwory na wcisk.
Poniewa¿ po wlutowaniu wy-
wietlaczy wykonanie jakichkol-
wiek poprawek bêdzie bardzo
utrudnione, sprawdzamy bardzo
dok³adnie poprawnoæ pierwszego
etapu monta¿u i jakoæ lutowania.
Ostatni¹, najtrudniejsz¹ czynno-
ci¹ podczas monta¿u modu³u bêdzie
wlutowanie w p³ytkê wywietlaczy
siedmiosegmentowych. Wywietla-
Aby sprawdziæ dzia³anie nasze-
go wywietlacza, mo¿emy napisaæ
program pokazany na list. 1 .
Do napisania i skompilowania
tego programu Czytelnicy nie po-
siadaj¹cy pakietu BASCOM 8051
mog¹ wykorzystaæ jego sharewa-
re'ow¹ wersjê: BASCOM LT Demo,
która jest dostêpna na stronie
www.ep.com.pl/ftp/tools.html .
Poskompilowaniuprogramumo-
¿emy albo zaprogramowaæ procesor,
albo wykorzystaæ do sprawdzenia
wykonanego uk³adu emulator sprzê-
towy sterowany z pakietu BASCOM.
Zbigniew Raabe, AVT
zbigniew.raabe@ep.com.pl
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostêpne w Internecie
pod adresem: http://www.ep.com.pl/
pcb.html oraz na p³ycie CD-EP08/
2000 w katalogu PCB .
Elektronika Praktyczna 8/2000
29
R4, R5: 220
m
39522558.065.png 39522558.066.png
Zgłoś jeśli naruszono regulamin