modułowy komputer edukacyjny.pdf

(651 KB) Pobierz
Modułowy komputer edukacyjny. Płytka wyświetlacza i klawiatury. AVT-399/2
Modułowy komputer edukacyjny
P R O J E K T Y
Modułowy komputer
edukacyjny
Płytka wyświetlacza i klawiatury
kit AVT−399/2
Podczas projektowania tej
czÍúci systemu autor stara³ siÍ
uproúciÊ konstrukcjÍ do mini-
mum, zachowuj¹c jednak pe³n¹
funkcjonalnoúÊ i†prost¹ obs³ugÍ
prezentowanego modu³u.
DziÍki temu, doúÊ z³oøony
wyúwietlacz sk³adaj¹cy siÍ
maksymalnie z†szesnastu 7-
segmentowych znakÛw LED
oraz rozbudowana klawia-
tura wraz ze wszystkimi
uk³adami towarzysz¹cymi
(dekoderem adresowym, uk³a-
dem selekcji cyfr oraz odczytu
klawiszy) zosta³y umieszczone
na jednej, zwartej p³ytce dru-
kowanej o†wymiarach
130x100mm. PrzyjÍte rozwi¹-
zanie sprzÍtowe modu³u
umoøliwia programiúcie szyb-
k¹ adaptacjÍ tworzonego przez
siebie oprogramowania.
Wbudowany dekoder adresowy,
zbudowany przy wykorzystaniu re-
programowalnego uk³adu PLD ty-
pu GAL16V8, pozwoli³ na zmniej-
szenie liczby niezbÍdnych elemen-
tÛw do minimum. Jego zadaniem
jest dekodowanie za³oøonego na
etapie konstrukcji obszaru wejúcia-
wyjúcia procesora, zgodnego z†za-
sadami przyjÍtymi w†opisie p³yty
g³Ûwnej (kit AVT-399/1 - opis
w†poprzednim numerze EP).
Wyúwietlacz, w†zaleønoúci od
potrzeb uøytkownika, moøe mieÊ
jedn¹ lub dwie linie z†oúmioma
znakami kaøda. Klawiatura jest
takøe elementem, ktÛry kaødy mo-
øe dostosowaÊ do swoich potrzeb.
Zastosowano w†niej multipleksowy
sposÛb odczytu 24 klawiszy, a
cztery pozosta³e do³¹czono bezpo-
úrednio do wyprowadzeÒ szyny
danych poprzez bufor, co pozwo-
li³o na bezpoúredni¹ ich obs³ugÍ,
np. jako klawiszy priorytetowych.
W†kolejnym odcinku,
poúwiÍconym opisowi
modu³owego systemu
mikroprocesorowego,
przedstawiamy p³ytkÍ
zawieraj¹c¹ wyúwietlacz
i†klawiaturÍ. Te dwa
podstawowe urz¹dzenia
wejúcia/wyjúcia s¹ niezbÍdne
do korzystania z†komputera.
DziÍki zastosowaniu 28
klawiszy lokalnych oraz
moøliwoúci rozbudowania
wyúwietlacza do dwÛch linii,
kaødy uøytkownik ma duø¹
swobodÍ dzia³ania podczas
pracy z†systemem.
Podstawowe parametry i właściwości
modułu AVT−399/2.
na³y magistrali systemowej dopro-
wadzonej do z³¹cza Z1 modu³u.
Sygna³y D0..D7 to szyna danych,
A0..A11 to sygna³y adresu, /WR i†/
RD, sygna³y steruj¹ce odpowiednio
zapisem i†odczytem informacji do
modu³u. Ca³y uk³ad dodatkowo
korzysta z†sygna³u IO1 (adresy:
FF00h..FFFFh), ktÛry uaktywnia
(poziom L) ca³y modu³, umoøli-
wiaj¹c zapis znakÛw do wyúwiet-
lania lub odczyt stanu klawiatury.
Sygna³ ten jest generowany przez
dekoder adresowy znajduj¹cy siÍ
na p³ytce bazowej (AVT-399/1),
a†opisany w†poprzednim numerze
EP. Uk³ad U9 spe³nia rolÍ deko-
dera adresowego uk³adÛw wyko-
nawczych modu³u. S¹ to w†kolej-
noúci:
- bufor odczytu aktywnej kolumny
klawiszy (U7), offset: +F8h;
- zatrzask aktywnej pozycji wy-
úwietlacza (kolumny klawiszy),
offset: +FAh;
- zatrzask znaku pierwszej linii
wyúwietlacza (U3), offset: +FCh;
- zatrzask znaku drugiej linii wy-
úwietlacza (U4), offset: +FEh.
Prawie wszystkie sygna³y steru-
j¹ce oraz adresowe s¹ doprowa-
klawiatura: 24 klawisze − multipleks , 4 klawisze −
odczyt bezpośredni;
wbudowane nadprądowe zabezpieczenie
segmentów wyświetlacza;
zintegrowany dekoder adresowy w strukturze GAL,
adresy: FFF8h..FFFFh;
możliwość współpracy z dowolnym systemem
mikroprocesorowym wyposażonym w typowe
sygnały magistrali 8−bitowej;
buforowanie (z pamięcią) wyboru pozycji
wyświetlacza oraz aktualnie wyświetlanego znaku
na aktywnej pozycji;
pełna kompatybilność (wymiary, wyprowadzenia)
z modułem AVT−399/1;
możliwość zamocowania wyświetlacza tekstowego
LCD (2x24 znaki HD44780);
zasilanie: +5V TTL / 150..300mA (pobór prądu
zależy od liczby zapalonych segmentów aktywnej
pozycji);
Opis uk³adu
Schemat elektryczny modu³u
przedstawiono na rys. 1 . Ca³y
uk³ad jest sterowany poprzez syg-
wymiary zmontowanej płytki: 100x130x20mm
(szer.xdł.xwys.).
Elektronika Praktyczna 1/98
49
wbudowany wyświetlacz: maksymalnie 2 linie po
8 pozycji 7−segmentowych (LED);
23347846.032.png 23347846.033.png
Modułowy komputer edukacyjny
Rys. 1. Schemat elektryczny modułu klawiatury i wyświetlacza.
50
Elektronika Praktyczna 1/98
23347846.034.png 23347846.035.png 23347846.001.png 23347846.002.png 23347846.003.png 23347846.004.png 23347846.005.png 23347846.006.png 23347846.007.png 23347846.008.png 23347846.009.png 23347846.010.png 23347846.011.png 23347846.012.png 23347846.013.png 23347846.014.png 23347846.015.png 23347846.016.png 23347846.017.png 23347846.018.png 23347846.019.png 23347846.020.png
 
Modułowy komputer edukacyjny
Listing 1.
/*
* Dekoder dla wyświetlacza systemu
mikroprocesorowego AVT399/2
* autor: S.Surowinski, file compiled: 01-
09-1997
*/
module (in
A11,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1,WR,RD,IO1;
out KLAWISZ, POZYCJA, LINIA1, LINIA2)
D0..D7 w†momencie podania nis-
kiego sygna³u logicznego na wej-
úcie G tego uk³adu. Sygna³ ten,
generowany przez dekoder adreso-
wy, przyjmuje wspomnian¹ war-
toúÊ w†przypadku wydania komen-
dy odczytu spod adresu FFF8h
(takøe FFF9h).
Klawiatura i wyúwietlacz pra-
cuj¹ w†uk³adzie multipleksowania.
Oznacza to, øe w†jednej chwili
aktywna (zapalona) jest jednak
tylko pozycja wyúwietlacza (jedno-
czeúnie w†obu liniach) oraz moø-
liwy jest odczyt jednej kolumny
klawiszy, co dok³adnie widaÊ na
rysunku. W†efekcie, kaødy wy-
úwietlacz (w obu liniach) pracuje
przez oko³o 1/8 okresu, jednak
przy zastosowaniu dobrej jakoúci
wyúwietlaczy gwarantuje to wyso-
k¹ jasnoúÊ wyúwietlanej informa-
cji.
np. zawieszenia siÍ programu, pro-
cesor przestaje adresowaÊ rejestr
pozycji wyúwietlacza (U8), co po-
woduje przerwanie generowania
impulsÛw zapisu na wyjúciu
ìPOZYCJAî dekodera U9. W†efek-
cie, po oko³o 10 milisekundach
(sta³a czasowa C7+R17) na wejúciu
D selektora uk³adu U5 pojawia siÍ
wysoki stan logiczny, co blokuje
dekodowanie wyjúÊ 0..7 tegoø uk³a-
du. Wyjúcia znajd¹ siÍ wtedy
w†stanie odciÍcia (otwarty kolek-
tor), co spowoduje wy³¹czenie
wszystkich pozycji wyúwietlacza.
Jako te ostatnie zastosowano ele-
menty o†wspÛlnej anodzie, co gwa-
rantuje duø¹ jasnoúÊ wyúwietlania.
Anody wyúwietlaczy s¹ po³¹czone
parami (z†obu linii naraz) i†stero-
wane s¹ za poúrednictwem tran-
zystorÛw PNP T1..T8. Rezystory
w†obwodach bazy i†emitera gwa-
rantuj¹ odpowiedni¹ polaryzacjÍ
tranzystorÛw. Wartoúci tych ele-
mentÛw nie s¹ krytyczne - patrz
spis elementÛw.
Jak widaÊ na schemacie elek-
trycznym, katody wszystkich wy-
úwietlaczy (w kaødej linii oddziel-
nie) s¹ po³¹czone i†sterowane
z†wyjúÊ wzmacniaczy U1 i†U2.
Rezystory RP2 i†RP3 ograniczaj¹
pr¹d w†segmentach do wartoúci
bezpiecznej - nawet w†przypadku
uszkodzenia uk³adu U6a oraz za-
wieszenia siÍ systemu. Informacja
o†aktualnie zapalonych segmentach
- przedstawiaj¹cych okreúlon¹ cyf-
rÍ lub znak graficzny - jest zapi-
sywana oddzielnie dla kaødej z†li-
nii w†uk³adach U3 (dla pierwszej
linii) i†U4 (dla drugiej). Zapis
nastÍpuje przez podanie dodatnie-
go zbocza na wejúcie CLK (11)
tych uk³adÛw. NiezbÍdne sygna³y
zapisu s¹ generowane przez deko-
der U9, kiedy procesor zaadresuje
odpowiedni zatrzask w†danej linii
wyúwietlacza.
Typowy cykl obs³ugi wyúwiet-
lacza podczas normalnej pracy jest
nastÍpuj¹cy. Najpierw procesor wy-
gasza ostatnio zapalon¹ pozycjÍ
wyúwietlacza wyzerowuj¹c rejestry
U3 i†U4 (zapis liczby ì0î). Wtedy
na wejúciach U1 i†U2 znajduj¹ siÍ
logiczne zera, co w†efekcie powo-
duje ìodciÍcieî (stan wysokiej im-
pedancji) wyjúÊ steruj¹cych seg-
menty wskaünikÛw ìO1..O8î. Na-
stÍpnie jest zaadresowany zatrzask
U8 i†wpisana zostaje kolejna po-
zycja wyúwietlacza. Stan wyjúÊ
{
KLAWISZ.oe = 1;
POZYCJA.oe = 1;
LINIA1.oe = 1;
LINIA2.oe = 1;
/* adres FFF8 - odczyt klawiszy */
KLAWISZ = RD | IO1 | !(A11 & A10 & A9 &
A8 & A7 & A6 & A5 & A4 & A3 & !A2 & !A1);
/* adres FFFA - bufor pozycji wyswietlacza i
klawiatury */
!POZYCJA = WR | IO1 | !(A11 & A10 & A9 &
A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1);
/* adres FFFC - bufor znaku 1 linii */
!LINIA1 = WR | IO1 | !(A11 & A10 & A9 &
A8 & A7 & A6 & A5 & A4 & A3 & A2 & !A1);
/* adres FFFE - bufor znaku 2 linii */
!LINIA2 = WR | IO1 | !(A11 & A10 & A9 &
A8 & A7 & A6 & A5 & A4 & A3 & A2 & A1);
putpart(“G16V8”, “DEKOD_2”,
/* pin 1 */ A7,
/* pin 2 */ IO1,
/* pin 3 */ A8,
/* pin 4 */ A9,
/* pin 5 */ A10,
/* pin 6 */ A11,
/* pin 7 */ A1,
/* pin 8 */ A4,
/* pin 9 */ A3,
/* pin 10 */ GND,
/* pin 11 */ A2,
/* pin 12 */ LINIA1,
/* pin 13 */ LINIA2,
/* pin 14 */ A6,
/* pin 15 */ KLAWISZ,
/* pin 16 */ WR,
/* pin 17 */ RD,
/* pin 18 */ A5,
/* pin 19 */ POZYCJA,
/* pin 20 */ VCC);
}
Uk³ad U5 pe³ni rolÍ selektora
aktywnej pozycji wyúwietlacza
i†jednoczeúnie kolumny klawiatu-
ry. Zastosowano popularny deko-
der BCD na 1†z†10 w†postaci kos-
tki 74145. Trzy najm³odsze wejúcia
dekodera (A,B,C) s¹ sterowane za
poúrednictwem poczwÛrnego za-
trzasku U8, ktÛry zapamiÍtuje trzy
najm³odsze bity D0..D1, za poúred-
nictwem ktÛrych jest przekazywa-
na informacja o†aktualnej pozycji
wyúwietlanego znaku. Czwarty bit
(D) uk³adu U5 moøe byÊ uaktyw-
niony permanentnie poprzez zwar-
cie wyprowadzenia 12 - U5 do
masy lub aktywowany okresowo (z
podtrzymaniem) z†wyjúcia uniwib-
ratora U6a. W†roli tego ostatniego
pracuje uk³ad 74123. Wyboru spo-
sobu sterowania dokonuje siÍ za
pomoc¹ zwornika JP1. DziÍki pod-
trzymywaniu generowanego na wy-
júciu /Q (pin 4) impulsu, moøliwe
jest realizowanie sprzÍtowego wat-
chdoga zabezpieczaj¹cego segmen-
ty wyúwietlacza przez przeci¹øe-
niem. OtÛø kiedy procesor prze-
miata wyúwietlacz, wybieraj¹c za
kaødym razem kolejn¹ pozycjÍ do
zaúwiecenia, na wejúciu wyzwala-
j¹cym B†(U6a) pojawiaj¹ siÍ dodat-
nie impulsy, ktÛrych okres wystÍ-
powania jest krÛtszy od d³ugoúci
generowanego w†uniwibratorze im-
pulsu - zaleønego zreszt¹ od war-
toúci elementÛw C7 i†R17. DziÍki
temu na wyjúciu U6a przez ca³y
czas panuje stan niski, co uaktyw-
nia jedno z†oúmiu (0-7) wyjúÊ
dekodera U5. W†przypadku awarii,
dzone do wejúÊ dekodera U9.
Wyj¹tkiem jest linia adresowa A0,
a†to ze wzglÍdu na nie wystarcza-
j¹c¹ liczbÍ wejúÊ uk³adu GAL16V8.
Pomimo tego uzyskany ìskok ad-
resowyî, wynosz¹cy 2†najm³odsze
pozycje adresu, w†znakomitej wiÍk-
szoúci zastosowaÒ jest wystarcza-
j¹cy. Pozwala to na zastosowanie
wielu innych urz¹dzeÒ sterowa-
nych sygna³em IO1 dekodera p³yty
g³Ûwnej bez koniecznoúci rozbudo-
wy dekodera g³Ûwnego o†dodatko-
we sygna³y aktywacyjne. W†efekcie
modu³, przy zastosowaniu struktu-
ry logicznej zapisanej w†uk³adzie
GAL, zajmuje ostatnie 8†adresÛw
w†64kB przestrzeni adresowej pro-
cesora: FFF8h..FFFFh. Na list. 1
przedstawiono opis tej struktury
w†jÍzyku TANGO PLD, a†na rys.
2 pokazano umiejscowienie modu-
³u w†obszarze adresowym ca³ego
komputera.
Uk³ad U7 pe³ni rolÍ bufora
przy odczycie stanu klawiatury.
Zastosowana 8-bitowa dwukierun-
kowa brama, w†postaci uk³adu
74245, pracuje tylko ìw jedn¹
stronÍî, przekazuj¹c stan linii
z†wejúÊ B1..D8 na szynÍ danych
Elektronika Praktyczna 1/98
51
23347846.021.png
Modułowy komputer edukacyjny
selektora U5 zmienia siÍ na ko-
lejny, np. z†wyjúcia ì3î na ì4î
(aktywny poziom niski). Po tym
procesor zapisuje - adresuj¹c uk³ad
U3 - znak do wyúwietlania w†pier-
wszej linii wskaünika, podaj¹c na
jego wejúcia kombinacje zer i†je-
dynek odpowiadaj¹cych wyúwiet-
lanemu znakowi, w†kolejnoúci jak
podano na schemacie elektrycz-
nym. W†efekcie powoduje to za-
úwiecenie znaku na wyúwietlaczu.
Kolejnym krokiem jest zapisanie
znaku do wyúwietlania w†drugiej
linii wskaünika. Zasady s¹ takie
same jak w†poprzednim przypad-
ku: logiczne ì0î gasi segment,
a ì1î zapala.
Rezygnacja z†gotowych dekode-
rÛw kodu 7-segmentowego na rzecz
uk³adÛw U3 i†U4 jest w†przypadku
systemÛw mikroprocesorowych zale-
t¹, bowiem pozwala na wyúwietla-
nie niestandardowych, praktycznie
dowolnych znakÛw i†symboli na
wskaünikach 7-segmentowych, a†na-
wet wykonywanie ma³ych animacji.
RÛwnolegle z†wyúwietlaniem in-
formacji moøliwe jest odczytywa-
nie klawiatury. Jak pamiÍtamy,
procesor zapisa³ znak w†drugiej
linii wyúwietlacza, teraz moøe za-
j¹Ê siÍ sprawdzeniem czy uøyt-
kownik nie wcisn¹³ jednego z†kla-
wiszy. Kolejnym krokiem bÍdzie
wiÍc zaadresowanie (/RD=0) bufo-
ra U7, co spowoduje odczyt in-
formacji z†wejúÊ B1..B8, z†ktÛrych
cztery s¹ do³¹czone do wspÛlnych
wierszy klawiszy, cztery starsze
wyjúcia (B5..B8) s¹ przy³¹czone
bezpoúrednio do klawiszy specjal-
nych oznaczonych umownymi
symbolami +, -, OK i†M.
Zauwaømy, øe w†sytuacji kiedy
øaden z†28 klawiszy nie jest wciú-
niÍty, dziÍki rezystorom RP1 na
wszystkich wejúciach B1..B8 uk³a-
du U7 panuje stan wysoki. Od-
czytanie zatem przez procesor licz-
Listing 2.
;Definicje adresow w przestrzeni procesora
KEY_BUF equ 0FFF8h ;adres ukladu U7 (klawisz)
DSP_POS equ 0FFFAh ;adres ukladu U8 (pozycja)
DSP_L1 equ 0FFFCh ;adres ukladu U3 (1 linia)
DSP_L2 equ 0FFFEh ;adres ukladu U4 (2 linia)
;Definicja zmiennych dodatkowych w wewn. RAM procesora
klawisz equ 6Eh
;komorka przechowujaca kod wcisnietego klaw.
cnt256
equ 6Fh
;licznik modulo 256
DL1
equ 70h
;70h-78h bufor na znaki dla linii 1 (DL1-8)
DL9
equ 79h
;79h-7Fh bufor na znaki dla linii 2 (DL9-16)
;——— obsluga wyswietlacza
mov DPTR,#DSP_L1
;adres znaku w 1 linii
clr A
;wyzeruj bufory znakowe
movx @DPTR,A
;wygaszenie w linii 1
inc DPTR
;adres znaku w 2 linii
inc DPTR
movx @DPTR,A
;wygaszenie w linii 2
inc cnt256
;inkrementacja licznika modulo 256
mov A,cnt256
cpl A
;bo bufor odwrotnie
mov DPTR,#DSP_POS
;wpis nowej pozycji (3 lsb) do U8
mov A,cnt256
anl A,#111b ;zamaskowanie bitow dla pozycji wyswietlaczy
add A,#DL1
;obliczenie adresu kodu w buforze wysw.
mov R0,A
;zaladowanie adresu do wskaznika
mov A,@R0
;pobranie kodu znaku z bufora w wewn.RAM
mov DPTR,#DSP_L1
;adres bufora znaku 1 linii
movx @DPTR,A
;i zapisanie do w ukladzie U3 (74574)
mov A,cnt256
anl A,#111b
;zamaskowanie bitow dla pozycji wyswietlaczy
add A,#DL9
;obliczenie adresu kodu w buforze wysw.
mov A,@R0
;pobranie kodu znaku z bufora programowego
mov DPTR,#DSP_L2
;adres bufora znaku 2 linii
movx @DPTR,A
;i zapisanie do w ukladzie U4 (74574)
mov A,cnt256
jnz exito
;——— obsluga klawiszy
mov DPTR,#KEY_BUF
;adres bufora klawiatury - U7
movx A,@DPTR
;pobranie stanu klawiszy w kolumnie
mov DPTR,#ascii
;adres do tabeli kodow klawiszy
jnb Acc.5,klawM
;sprawdzanie klawiszy bezposrednich
jnb Acc.4,klawOK
;priorytet: M, OK, +, -
jnb Acc.6,klawPLUS
jnb Acc.7,klawMINUS
cpl A
;zanegowanie informacji
anl A,#0Fh
;4 msb nie wazne - maskuj lsb
prawo:
rrc A
;badanie kolejnego bitu
jc
jest1
;czy wcisniety klawisz ?
djnz R0,prawo
;nie to przesun nastepny bit
sjmp koniec
;gdy czwarty bit to zakoncz
jest1:
dec R0
mov A,R0
rl
A
rl
A
;Acc * 8
mov R0,A
;obliczanie ofsetu kodu klawisza
mov A,cnt256
anl A,#111b
add A,R0
mov DPTR,#keycods
;adres do tabeli kodow znakow
movc A,@A+DPTR
;po czym skok na koniec procedury
klawM:
.. tu mozna podjac jakies dzialanie
.. w przypadku wcisniecia klawisza M
klawOK:
.. tu mozna podjac jakies dzialanie
.. w przypadku wcisniecia klawisza OK
klawPLUS:
.. tu mozna podjac jakies dzialanie
.. w przypadku wcisniecia klawisza +
klawMINUS:
.. tu mozna podjac jakies dzialanie
.. w przypadku wcisniecia klawisza -
koniec:
mov klawisz,A
;umieszczenie kodu wcisnietego
;klawisza w buforze
..
;zakonczenie procedury (np. reti)
Rys. 2. Mapa pamięci.
;——— tablica kodow klawiszy
keycods
db 0,k_F4,k_F8,’0——’
db 0,k_F3,k_F7,’789EF’
db 0,k_F2,k_F6,’456CD’
db 0,k_F1,k_F5,’123AB’
;——— tablic cyfr szesnastkowych
ascii
db ‘0123456789ABCDEF’
by 255 (FFh) z†portu klawiatury
(U7) úwiadczy o†tym, øe w†aktyw-
nej w†danej chwili kolumnie kla-
wiatury wszystkie przyciski s¹
zwolnione.
WciúniÍcie klawisza spowoduje
pojawienie siÍ logicznego zera przy
uaktywnieniu kolumny, w†ktÛrej
zosta³ on naciúniÍty. Na podstawie
znajomoúci numeru aktywnej w†da-
nej chwili kolumny oraz wartoúci
odczytanego z†bufora U7 bajtu in-
formacji ³atwo jest obliczyÊ, ktÛry
klawisz zosta³ akurat wciúniÍty.
52
Elektronika Praktyczna 1/98
movx @DPTR,A
;adres ukladu U8 - wybor pozycji
mov R0,A
;zaladowanie adresu do wskaznika
mov R0,#4
;4 bity do sprawdzenia
rl
A
sjmp koniec
;i pobranie kodu klawisza
23347846.022.png
Modułowy komputer edukacyjny
Na list. 2 przedstawiono frag-
ment przyk³adowej procedury re-
alizuj¹cej sekwencyjne wyúwietla-
nie informacji oraz badanie kla-
wiatury. Procedura taka jest zwyk-
le umieszczana w†obs³udze prze-
rwania powsta³ego na skutek okre-
sowego przepe³niania siÍ licznika
T0 lub T1 (T2) procesora.
Gwoli wyjaúnienia: oznaczenia:
ìk_F1î..îk_F8î dotycz¹ tzw. klawi-
szy ìfunkcyjnychî, ich kody mog¹
byÊ dowolne, np.:
k_F2 equ 98h.
Jak widaÊ na pierwszy rzut oka,
przedstawiona przyk³adowa proce-
dura odczytuje klawisze na zasa-
dzie ìkto pierwszy ten lepszyî.
Bardziej zaawansowani Czytelnicy
mog¹ zmodyfikowaÊ przedstawio-
ny listing. Autor proponuje, jako
Êwiczenie, napisanie procedury ob-
s³ugi klawiatury, ktÛra zwraca³aby
dodatkowe kody w†przypadku
wciúniÍcia kilku klawiszy na raz
(jak to ma np. miejsce w†klawia-
turach komputerÛw PC - klawisze
Shift, Alt, Ctrl). Aby u³atwiÊ za-
danie podpowiadam, øe naleøy
odczytaÊ w†pe³nym cyklu (8 ko-
lumn) stan wszystkich klawiszy,
a†nastÍpnie na tej podstawie ob-
liczyÊ kod klawisza - rozbudowu-
j¹c wczeúniej tabelÍ kodÛw klawia-
tury ìkeycodsî.
Rys. 3. Rozmieszczenie elementów na płytce klawiatury.
Montaø i uruchomienie
Ca³y uk³ad elektryczny urz¹dze-
nia umieszczono na dwustronnej
p³ytce drukowanej z†metalizacj¹ ot-
worÛw. Rozmieszczenie elemen-
tÛw przedstawia rys. 3 , a†rozk³ad
úcieøek na kaødej stronie druku
jest zamieszczony na wk³adce we-
wn¹trz numeru. Przy projektowa-
niu p³ytki autor po³oøy³ szczegÛl-
ny nacisk na ergonomiczne umiesz-
czenie elementÛw maj¹cych bezpo-
úredni kontakt z†uøytkownikiem.
P³ytka ma wymiary takie same
jak p³ytka bazowa opisywana w†po-
przednim odcinku artyku³u.
Wszystkie sygna³y wyprowadzono
na z³¹cze typu ìgoldpinî (Z1)
zgodne ze z³¹czem Z1' na p³ytce
bazowej. DziÍki temu po³¹czenie
obu p³ytek jest bardzo proste
i†umoøliwia roz³¹czenie ich w†do-
wolnej chwili. Jak widaÊ z†rysun-
ku montaøowego, p³ytka posiada
na bokach 2†ìskrzyde³kaî z†otwo-
rami, dziÍki ktÛrym moøliwe jest
zamocowanie opcjonalnego wy-
úwietlacza LCD. Rozstaw otworÛw
pasuje do modu³Ûw 2x24 (2 linie
po 24 znaki). W†przypadku rezyg-
nacji z†LCD, zbÍdne fragmenty
p³ytki moøna po prostu odci¹Ê.
Montaø naleøy rozpocz¹Ê niety-
powo od wlutowania diod D1..D24
(uwaga! od strony druku), zwra-
caj¹c uwagÍ na ich prawid³ow¹
polaryzacjÍ. Nie naleøy prÛbowaÊ
umieszczaÊ ich od strony elemen-
tÛw, bowiem uniemoøliwi to pÛü-
niejsze wlutowanie klawiszy. Nie-
wielkie wymiary zastosowanych
diod powoduj¹, øe nie bÍd¹ one
naraøone na uszkodzenia, np.
w†przypadku przesuwania p³ytki
po stole.
Kolejn¹ czynnoúci¹ jest wluto-
wanie podstawek pod uk³ady sca-
lone. NastÍpnie naleøy wlutowaÊ
z³¹cze Z1. Autor zaleca zastosowa-
nie ìpodstawekî takøe pod wy-
úwietlacze. W†tym celu najlepiej
jest wykorzystaÊ odcinki typowych,
precyzyjnych listew montaøowych,
przycinaj¹c pod kaødy wyúwiet-
lacz dwie po 5†pinÛw kaøda. Moø-
na teø zastosowaÊ odpowiednio
przyciÍte zwyk³e podstawki pod
uk³ady scalone typu DIL. DziÍki
temu zabiegowi czo³a wyúwietla-
czy bÍd¹ znajdowa³y siÍ ponad
gÛrn¹ p³aszczyzn¹ pozosta³ych ele-
mentÛw, co pozwoli na wygodne
zamontowanie opcjonalnego filtru,
a†poza tym umoøliwi szybk¹ wy-
mianÍ wyúwietlacza w†przypadku
awarii ktÛrejú z†pozycji.
Wszystkie rezystory s¹ monto-
wane w†pozycji stoj¹cej. Nie na-
leøy zapomnieÊ o†tranzystorach
T1..R8 oraz kondensatorach bloku-
j¹cych. Po zamontowaniu z³¹cza
JP1 naleøy obsadziÊ go jumperem
w†pozycji zaleønej od tego czy
zastosowaliúmy zabezpieczenie
nadpr¹dowe (uk³ad U6) czy teø
nie. W†tym drugim przypadku
montaø elementÛw U6, C7 oraz
R17 jest zbÍdny, a†koÒcÛwka 12
dekodera U5 powinna byÊ zwarta
do masy za pomoc¹ JP1.
Wlutowanie klawiszy koÒczy
montaø uk³adu. W†uk³adzie zasto-
sowano typowe w³¹czniki chwilo-
we zaopatrzone w†estetyczne kla-
Elektronika Praktyczna 1/98
53
23347846.023.png 23347846.024.png 23347846.025.png 23347846.026.png 23347846.027.png 23347846.028.png 23347846.029.png 23347846.030.png 23347846.031.png
Zgłoś jeśli naruszono regulamin