53_59.pdf

(812 KB) Pobierz
Mikroprocesorowy system edukacyjny, część 1 - AVT-353
Mikroprocesorowy system edukacyjny
P R O J E K T Y
Mikroprocesorowy system
edukacyjny, czêæ 1
kit AVT-353
Prezentowane urz¹dzenie
powsta³o z myl¹ g³ównie
o tych Czytelnikach, którzy
stawiaj¹ pierwsze kroki
w wiecie mikrokontrolerów.
Jest to bowiem kompletny
mikrokomputer,
z wbudowanymi
w wewnêtrzn¹ pamiêæ
gotowymi procedurami, które
u¿ytkownik mo¿e w prosty
sposób wykorzystaæ do
tworzenia w³asnych, bardzo
z³o¿onych programów.
Tak¿e zaawansowani
u¿ytkownicy mikrokontrolerów
znajd¹ tutaj wiele
interesuj¹cych rozwi¹zañ,
które bêd¹ mogli wykorzystaæ
w swoich opracowaniach.
Dziêki bogatym mo¿liwociom
oprogramowania wbudowanego
w urz¹dzenie, prezentowany
system mo¿na zastosowaæ
tak¿e jako bardzo po¿yteczne
narzêdzie warsztatowe.
Sporód wielu dostêpnych na
rynku rozwi¹zañ, wspomagaj¹-
cych proces projektowy sterowni-
ków, opartych na mikrokontrole-
rach z rodziny MCS51, znaczna
ich liczba charakteryzuje siê wa-
dami, czêstokroæ ograniczaj¹cymi
ich zastosowanie przez amatorów
techniki mikroprocesorowej. Do
tych wad nale¿¹: wysoka cena
modu³u bazowego i czêsto ko-
niecznoæ stosowania dodatkowe-
go programatora pamiêci lub emu-
latora mikroprocesora. Jednak naj-
powa¿niejsz¹ niedogodnoci¹ jest
koniecznoæ w³asnorêcznego op-
rogramowania systemu od pod-
staw.
Projekt niniejszy stanowi od-
mienne podejcie do problemu -
stosunkowo prosty system mikro-
procesorowy, oparty o mikrokon-
troler z rodziny MCS51, integruje
w sobie funkcjê systemu urucho-
mieniowego oraz emulatora pa-
miêci typu EPROM, u³atwiaj¹ce-
go ³adowanie i testowanie kolej-
nych wersji programu. U³atwia to
zintegrowany system operacyjny,
bêd¹cy zbiorem procedur wspo-
magaj¹cych proces tworzenia op-
rogramowania u¿ytkownika. Udo-
stêpnia on operacje realizuj¹ce
kontakt ze wiatem zewnêtrznym
przez: interfejs RS232, magistralê
I 2 C, wywietlacz ciek³okrystalicz-
ny oraz programowan¹ klawiatu-
rê. Dodatkowo, system operacyj-
ny oferuje procedury operacji
arytmetycznych, przetwarzania
danych, pomiarów i generacji
wielkoci nieelektrycznych, ta-
kich jak: czas, czêstotliwoæ
i okres.
Opis projektu zosta³ podzielo-
ny na trzy czêci. W pierwszej
zostanie omówiony sposób dzia-
³ania oraz monta¿ systemu wraz
z towarzysz¹cym mu oprogramo-
waniem funkcji emulatora EP-
ROM. W drugiej czêci omawia
siê sposób po³¹czenia i u¿ytko-
wania wywietlacza ciek³okrysta-
licznego, który ze wzglêdu na
ró¿norodnoæ typów i producen-
tów mo¿e nastrêczaæ k³opoty.
W czêci trzeciej zostan¹ omó-
wione procedury systemu opera-
cyjnego wraz z przyk³adami ich
u¿ycia w programach u¿ytkowni-
ka.
Budowa i dzia³anie
systemu
uruchomieniowego
Schemat elektryczny uk³adu
przedstawiono na rys.1 . Jednos-
tk¹ centraln¹ systemu jest mik-
rokontroler U1, pracuj¹cy w kon-
figuracji z wewnêtrzn¹ pamiêci¹
programu (koñcówka EA=1), za-
wieraj¹c¹ procedury ³aduj¹ce op-
rogramowanie u¿ytkownika, jak
i system operacyjny. Jednoczenie
mikrokontroler wykorzystuje mo¿-
liwoæ wspó³pracy z zewnêtrzn¹
magistral¹, daj¹c¹ dostêp do ze-
wnêtrznego obszaru pamiêci. Ma-
gistrala jest uzyskiwana przez
porty P0 i P2 mikrokontrolera
Elektronika Praktyczna 10/97
53
30483613.051.png 30483613.059.png
Mikroprocesorowy system edukacyjny
oraz rejestr zatrzaskowy U4, pra-
cuj¹cy z aktywnymi wyjciami
trójstanowymi (koñcówka /OE =
0). Daje to dostêp do 16 linii
adresowych - linie A0 do A7
zatrzaskiwane s¹ sygna³em ALE
na wyjciach rejestru U4, nato-
miast linie A8 do A15 uzyski-
wane s¹ bezporednio na koñ-
cówkach portu P2 (linie A13
i A14 pozostan¹ niewykorzysta-
ne). Dodatkowo jest wyodrêbnio-
nych osiem linii danych D0 do
D7, uzyskiwanych na koñców-
kach portu P0 mikrokontrolera.
W uk³adzie zastosowano kon-
cepcjê po³¹czonej pamiêci progra-
mu i danych, której realizacja
polega na iloczynie logicznym
sygna³ów /PSEN oraz /RD mik-
rokontrolera (diody D3 i D4 wraz
z rezystorem R16). Uzyskany
w ten sposób sygna³ steruje koñ-
cówkê /OE pamiêci RAM (U2),
w efekcie czego mikrokontroler
mo¿e zarówno pobieraæ rozkazy
(sygna³ /PSEN), jak i odczytywaæ
(sygna³ /RD) oraz (oczywicie)
zapisywaæ (sygna³
/WR) dane podczas odwo³añ do
zewnêtrznej pamiêci RAM.
Dodatkowym uk³adem scalo-
nym do³¹czonym do magistrali
jest uniwersalny uk³ad wejcia/
wyjcia PIO (U3), daj¹cy do
dyspozycji u¿ytkownika trzy o-
miobitowe kana³y wejcia/wy-
jcia. Zosta³ on umieszczony
w przestrzeni zewnêtrznej pamiê-
ci danych, zajmuj¹c w niej cztery
a d r e s y
i bajty pamiêci - trzy dla portów
oznaczonych odpowiednio PA, PB
i PC oraz dla rejestru steruj¹cego
oznaczonego CTRL.
Mapa pamiêci sys-
temu, okrelaj¹ca do-
stêp do wewnêtrznej
i zewnêtrznej pamiê-
ci programu oraz da-
nych, jak i uk³adu
wejcia/wyjcia PIO,
przedstawiona jest na
rys. 2 . Wynika z nie-
go podzia³ obszaru pa-
miêci na dwa segmenty
o pojemnoci 32kB, roz-
ró¿niane stanem najwy-
¿szej linii adresowej A15.
Stan niski wybiera bezpo-
rednio, przez koñcówkê /
CE, uk³ad PIO (U3), na-
tomiast stan wysoki wy-
biera, przez koñcówkê CE,
uk³ad pamiêci RAM (U2).
Koñcówka /CE pamiêci
RAM ma na sta³e podany
stan niski.
Tak wiêc programy
u¿ytkownika s¹ ³adowane
do zewnêtrznej pamiêci
RAM, pocz¹wszy od adre-
su 8000h, uzyskuj¹c jed-
noczenie dostêp do tego
samego obszaru traktowa-
nego jako zewnêtrzna pa-
miêæ danych, oraz uniwer-
salnego uk³adu wejcia/
wyjscia, umieszczonego
pod najni¿szymi adresa-
mi obszaru zewnêtrznej
pamiêci danych. Dodat-
kowo, dziêki wewnêtr-
znej logice mikrokontro-
lera, ka¿de odwo³anie
do najni¿szych 4kB pa-
miêci programu jest
Rys. 1. Schemat uk³adu.
54
Elektronika Praktyczna 10/97
30483613.060.png 30483613.061.png 30483613.001.png 30483613.002.png 30483613.003.png 30483613.004.png 30483613.005.png 30483613.006.png 30483613.007.png 30483613.008.png 30483613.009.png 30483613.010.png 30483613.011.png 30483613.012.png 30483613.013.png 30483613.014.png 30483613.015.png 30483613.016.png 30483613.017.png 30483613.018.png 30483613.019.png 30483613.020.png 30483613.021.png 30483613.022.png 30483613.023.png 30483613.024.png 30483613.025.png 30483613.026.png 30483613.027.png 30483613.028.png 30483613.029.png 30483613.030.png 30483613.031.png 30483613.032.png 30483613.033.png 30483613.034.png 30483613.035.png 30483613.036.png 30483613.037.png 30483613.038.png
Mikroprocesorowy system edukacyjny
zawsze prze³¹czane na wewnêt-
rzn¹ pamiêæ programu mikrokon-
trolera, dziêki czemu program
u¿ytkownika mo¿e w prosty spo-
sób korzystaæ z zapisanych tam
procedur systemu operacyjnego.
Skutkiem ubocznym tego mecha-
nizmu oraz prostoty samego wy-
bierania uk³adów pod³¹czonych
do magistrali zewnêtrznej mikro-
kontrolera jest fakt istnienia nie-
okrelonego obszaru w zewnêtr-
znej pamiêci programu. Rozci¹ga
siê on od adresu 1000h (4kB+1)
a¿ do koñca dolnego segmentu,
wyznaczonego adresem 7FFFh.
Jednak fakt ten, oprócz treci
czysto informacyjnej, nie stanowi
jakiejkolwiek przeszkody dla
u¿ytkownika systemu.
Bardziej dociekliwi Czytelnicy
z pewnoci¹ zauwa¿¹ zastosowa-
nie w systemie niepe³nego deko-
dowania pamiêci RAM, jak i uni-
wersalnego uk³adu wejcia/wyjcia
- pamiêæ RAM jest powielona
czterokrotnie w górnym segmencie
zewnêtrznej pamiêci, natomiast
uk³ad PIO powielony jest a¿ 8192
razy w segmencie dolnym.
Na dalszym etapie, aby unik-
n¹æ niejednoznacznoci, przyjêto
pocz¹tek zewnêtrznej pamiêci
RAM od adresu 8000h, natomiast
uk³adu PIO od adresu 0h. Za³o-
¿enie powy¿sze jest uzasadnione
wygod¹ u¿ytkownika, gdy¿ gene-
ralnie dostêp do pamiêci RAM
jest realizowany przez wskanik
DPTR, natomiast uk³ad PIO bê-
dzie adresowany przez rejestry
R0 lub R1 mikrokontrolera.
Budowê systemu uruchomie-
niowego uzupe³niaj¹ obwody po-
mocnicze umo¿liwiaj¹ce pracê,
jak i podstawowy kontakt ze
wiatem zewnêtrznym. Nale¿y do
nich interfejs szeregowy RS232,
zbudowany w oparciu o tranzys-
tory T1 oraz T2 wraz ze
wspó³pracuj¹cymi rezystorami R2,
R3, R4, R5, R6, R7, diod¹ D1
i kondensatorem C5. Tranzystor
T1 stanowi prosty inwerter, prze-
kszta³caj¹cy poziomy napiêcia
charakterystyczne dla standardu
³¹cza szeregowego (typowo ±12V)
na poziomy napiêcia TTL, wyma-
gane przez wejcie szeregowe
RxD mikrokontrolera. Poniewa¿
w systemie nie zastosowano prze-
twornicy napiêcia ujemnego, jest
ono pobierane w sposób sztuczny
z koñcówki RxD (dostêpnej na
z³¹czu JP2). Stan spoczynkowy
nadajnika urz¹dzenia sprzêgniête-
go z systemem, jakim jest w stan-
dardzie RS232 ujemny poziom
napiêcia, przenosi siê przez dio-
dê D1, ³aduj¹c kondensator C5
napiêciem ujemnym. Uzyskany
na tym elemencie potencja³ jest
przenoszony z powrotem przez
rezystory R6 i R5 do urz¹dzenia
sprzêgniêtego z systemem,
sygnalizuj¹c stan spoczynkowy
nadajnika zintegrowanego w mik-
rokontrolerze.
Zastosowana na z³¹czu JP2
zwora ³¹cz¹ca sygna³y DSR, RTS
i DTR wymusza przy pod³¹czeniu
urz¹dzenia zewnêtrznego pe³nym
kablem modemowym pracê w try-
bie null modem , przy jednoczes-
nym zachowaniu wszystkich fun-
kcji dodatkowych. Kolejnym ob-
wodem umo¿liwiaj¹cym kontakt
systemu ze wiatem zewnêtrznym
jest sprzêg wywietlacza ciek³ok-
rystalicznego.
Trzecim obwodem s³u¿¹cym
do komunikacji jest interfejs ma-
gistrali I 2 C. Sk³ada siê on z dwu
z³¹cz magistrali JP3 i JP4, na
które wprowadzono zasilanie,
sygna³ danych (SDA) i zegara
(SCL). Oporniki R9 i R10 zasto-
sowano celem w³aciwej po-
laryzacji linii danych i zegara.
Na p³ytce systemu uruchomie-
niowego umieszczono opcjonaln¹
pamiêæ EEPROM (U5) wspó³pra-
cuj¹c¹ z magistral¹ I2C. Jest to
nieulotna, reprogramowana elek-
trycznie pamiêæ sta³a o po-
jemnoci 256B, w której
u¿ytkownik systemu mo¿e
przechowywaæ dane konfi-
guracyjne swoich progra-
mów (z jednoczesn¹ ich
ochron¹ przed zanikiem za-
silania systemu). Zastosowa-
no uk³ad firmy PHILIPS
PCF8582 w dowolnym
wykonaniu, wymagaj¹cy do-
datkowo rezystora R8 oraz kon-
densatora C4. U¿ycie zastêpczego
uk³adu firmy SGS-THOMSON ty-
pu ST24C02 wi¹¿e siê z koniecz-
noci¹ zast¹pienia kondensatora
C4 zwork¹. Oczywicie mo¿na
zastosowaæ inny, ni¿ wymienione
typ pamiêci, stosownie do niego
konfiguruj¹c elementy R8 i C4.
Ostatnim, widocznym na sche-
macie, ogniwem komunikacji jest
z³¹cze JP5, na które wyprowadzo-
no koñcówki trzech omiobito-
wych portów wejcia/wyjcia, li-
nie przerwañ mikrokontrolera
/INT0 i /INT1 oraz wejcia licz-
ników/czasomierzy T0 i T1. Do-
stêpny jest tak¿e sygna³ wzorco-
wy ALE o czêstotliwoci 2MHz
oraz koñcówki zasilania: +Vin,
+5V, a tak¿e masa (GND).
Elementem bezporedniej ko-
munikacji, nie zaznaczonym na
schemacie, a wystêpuj¹cym tylko
w projekcie obwodu drukowane-
go, jest z³¹cze umieszczone po
lewej stronie mikrokontrolera U1.
Jak mo¿na zauwa¿yæ, integruje
ono porty P1 oraz P3, które s¹
wykorzystywane do komunikacji
poprzez opisane wczeniej uk³a-
dy sprzêgaj¹ce oraz dodatkowe
punkty zasilania +5V i masê
(GND). Dostêpne w ten sposób
pola lutownicze przeznaczyæ mo¿-
na na rozszerzenie liczby dostêp-
nych koñcówek, realizuj¹cych
standardowo okrelone funkcje -
oznaczeniu punktu, przy pomocy
Rys. 2. Mapa pamiêci systemu.
Elektronika Praktyczna 10/97
55
30483613.039.png 30483613.040.png 30483613.041.png 30483613.042.png 30483613.043.png 30483613.044.png 30483613.045.png 30483613.046.png 30483613.047.png 30483613.048.png 30483613.049.png 30483613.050.png 30483613.052.png 30483613.053.png 30483613.054.png 30483613.055.png 30483613.056.png 30483613.057.png
 
Mikroprocesorowy system edukacyjny
schematu ideowego, przyporz¹d-
kowaæ nale¿y spe³nian¹ w syste-
mie rolê.
W sk³ad obwodów umo¿liwiaj¹-
cych pracê mikrokontrolera U1
wchodzi rezonator kwarcowy X1
wraz z pomocniczymi kondensato-
rami C1 i C2. Czêstotliwoæ jego
pracy powinna wynosiæ typowo
12MHz, co jest wartoci¹ wzorcow¹
dla procedur systemu operacyjnego,
i nie powinna byæ zmieniana.
Ostatnim uk³adem wymagaj¹-
cym szczegó³owego omówienia
jest obwód zerowania mi-
krokontrolera, wykonany w opar-
ciu o tranzystor T3 wraz z wspó³-
pracuj¹cymi elementami (rezysto-
ry: R11, R12, R13, R14, R15 oraz
D2, C3 i SW1), którego dzia³anie
polega na kontroli wartoci napiê-
cia zasilania systemu. Utrzymy-
wany w stanie przewodzenia tran-
zystor T3, którego baza jest spo-
laryzowana przez kalibrowany
dzielnik z³o¿ony z rezystorów R11,
R14 i R15, wymusza w trakcie
normalnej pracy stan niski na
koñcówce RESET mikrokontrolera.
Obwód zerowania posiada in-
tegraln¹ funkcjê restartu rêczne-
go, dokonywanego przez zwarcie
styków mikroprze³¹cznika SW1
oraz zerowania z systemu nad-
rzêdnego, pod³¹czonego przez z³¹-
cze JP2. Uzyskiwane jest to dziê-
ki po³¹czeniu rezystora R13 oraz
diody D2 z koñcówk¹ DTR z³¹cza
JP2. Pojawienie siê napiêcia do-
datniego lub pozostawienie tej
koñcówki nie pod³¹czonej nie ma
wp³ywu na pracê systemu uru-
chomieniowego.
Napiêcie ujemne, wprowadzo-
ne na tê koñcówkê, utrzymuje
system w stanie ci¹g³ego zerowa-
nia (stan wysoki na koñcówce
RESET mikrokontrolera). Mo¿li-
woæ powy¿sza jest wykorzysty-
wana podczas ³adowania progra-
mu u¿ytkownika do pamiêci
RAM, gdy¿ po zerowaniu ka¿do-
razowo automatycznie jest uru-
chamiana procedura ³aduj¹ca,
umieszczona w wewnêtrznej pa-
miêci programu mikrokontrolera.
Na koniec opisu budowy sys-
temu uruchomieniowego przed-
stawimy obwód zasilania, sk³ada-
j¹cy siê ze stabilizatora g³ównego
oraz rezerwowego zasilania pa-
miêci RAM. Stabilizator g³ówny
jest wykonany w oparciu o mono-
lityczny regulator S1, dostarcza-
j¹cy niezbêdnego napiêcia o war-
toci +5V oraz kondensatorów
filtruj¹co-odsprzêgaj¹cych C6, C7
i C8. Generalnie, system urucho-
mieniowy jest przystosowany do
zasilania napiêciem niestabilizo-
wanym o wartoci 8 do 15V (ty-
powo 12V), ze ród³a o wydaj-
noci pr¹dowej wynosz¹cej oko³o
200mA. Zastosowaæ mo¿na zwyk-
³y zasilacz kalkulatorowy, spe³-
niaj¹cy wy¿ej wymienione wa-
runki. Nie nale¿y zasilaæ systemu
napiêciem o wartoci +5V, dopro-
wadzonym do oznaczonych tak
koñcówek z³¹cz JP1 i JP5, ponie-
wa¿ jest ono tam wyprowadzone
celem zasilania zewnêtrznych
uk³adów logicznych napiêciem
stabilizowanym.
W sk³ad obwodu rezerwowego
zasilania pamiêci U2 wchodzi
dioda D5 i rezystor R17, których
zadaniem jest kluczowanie ród³a
zasilania. Mo¿e byæ nim napiêcie
+5V do³¹czone przez diodê D5
(rezystor R17 ogranicza pr¹d ³a-
dowania akumulatora) lub aku-
mulator B1 zasilaj¹cy pamiêæ
przez rezystor R17. Zastosowano
tu prost¹ metodê ³adowania aku-
mulatora malej¹cym pr¹dem, tj.
w miarê wzrostu stopnia na³ado-
wania akumulatora wzrasta jego
napiêcie, a tym samym zmniejsza
siê spadek napiêcia na rezystorze
R17, maleje przep³ywaj¹cy przez
niego pr¹d, bêd¹cy jednoczenie
pr¹dem ³adowania akumulatora.
kompilatorów i asemblerów stwo-
rzonych dla rodziny procesora
8051. Tak wiêc mo¿liwe jest
bezporednie przesy³anie do sys-
temu uruchomieniowego plików
wynikowych kompilacji, czy te¿
asemblacji programów u¿ytkow-
nika, gdy¿ oprogramowanie ob-
s³uguje funkcjê emulatora, auto-
matycznie dokonuj¹c przekodo-
wania z formatu heksadecymalne-
go na binarny. Nadmieniæ nale¿y,
i¿ obs³ugiwanym formatem zbio-
rów szesnastkowych jest format
INTEL HEX (opisany w EP9/97).
Je¿eli pierwszym odebranym
znakiem nie bêdzie :, ca³y prze-
sy³any program u¿ytkownika jest
traktowany jako zbiór binarny -
zostanie on bezporednio za³ado-
wany do pamiêci systemu. Pod-
czas ³adowania zbiorów w tym
formacie zrealizowano tzw.
echo. Polega ono na kontroli
poprawnoci zapisu bajtu progra-
mu do pamiêci, a nastêpnie na
odes³aniu tak uzyskanego bajtu,
przy pomocy ³¹cza szeregowego,
z powrotem do urz¹dzenia prze-
sy³aj¹cego kod programu u¿ytkow-
nika, którym bêdzie komputer
typu PC. Umo¿liwia to u¿ytkow-
nikom z wiêkszym dowiadcze-
niem zastosowanie w miejscu pa-
miêci RAM typu 6264 uk³adu
pamiêci EEPROM typu np. 28C64.
Mechanizm ten nale¿y wykorzys-
taæ nastêpuj¹co: bajt odsy³any jest
dopiero po uzyskaniu poprawnego
zapisu komórki pamiêci EEPROM.
Tak wiêc, program ³aduj¹cy, dzia-
³aj¹cy na komputerze PC, otrzy-
muje w ten sposób informacjê
o zakoñczeniu cyklu zapisu, co
umo¿liwia przes³anie kolejnego
bajtu programu u¿ytkownika.
Po za³adowaniu ca³oci pro-
gramu u¿ytkownika, oprogramo-
wanie emulatora EPROM przeka-
zuje mu kontrolê nad systemem
uruchomieniowym. Sytuacja ta
pozostanie nie zmieniona, a¿ do
sprzêtowego wyzerowania proce-
sora lub wykonania d³ugiego sko-
ku z wnêtrza programu u¿ytkow-
nika pod adres 0 (tj. LJMP 0).
Programy u¿ytkownika powin-
ny byæ asemblowane od adresu
8000h (wektory przerwañ odpo-
wiednio 8003h, 800Bh, 8013h,
itd.), gdy¿ pod takim adresem
znajduje siê po³¹czona pamiêæ
programu i danych U2 (patrz rys.
2 - mapa pamiêci systemu).
Pamiêæ ta ma 8kB pojemnoci,
co dla wiêkszoci zastosowañ jest
Funkcja emulatora
EPROM
Funkcja emulatora EPROM jest
uruchamiana ka¿dorazowo po ze-
rowaniu systemu, kiedy to zains-
talowane wewn¹trz mikrokontro-
lera oprogramowanie analizuje
stan odbiornika ³¹cza szeregowe-
go. Nieodebranie jakiegokolwiek
znaku przez czas oko³o 0,9 se-
kundy lub odebranie znaku ró¿-
nego od ? powoduje natych-
miastowe przekazanie sterowania
do programu u¿ytkownika (o ile
ten zosta³ uprzednio za³adowany
do pamiêci systemu). Odebranie
natomiast znaku ? powoduje
nadanie winiety zintegrowanego
programu ³aduj¹cego oraz uru-
chomienie procedur realizuj¹cych
funkcjê emulatora EPROM, które
oczekuj¹ na transmisjê programu
u¿ytkownika. Je¿eli pierwszym,
odebranym znakiem jest :, to
ca³y przesy³any program u¿yt-
kownika traktowany jest jako
zbiór w formacie heksadecymal-
nym, uzyskiwanym z wiêkszoci
56
Elektronika Praktyczna 10/97
 
Mikroprocesorowy system edukacyjny
wartoci¹ w zupe³noci wystarcza-
j¹c¹. Uwa¿aæ jednak nale¿y, aby
nie przesy³aæ programów o objê-
toci wiêkszej ni¿ 8kB binarnie,
poniewa¿ ca³oæ informacji znajdu-
j¹ca siê poza granic¹ 8kB spowo-
duje zniszczenie danych znajduj¹-
cych siê ju¿ w pamiêci. Spowodo-
wane jest to niepe³nym dekodowa-
niem uk³adu pamiêci. Te dwa
opisane ograniczenia s¹ jedynymi
dotycz¹cymi programów u¿ytkow-
nika. Wraz z systemem uruchomie-
niowym s¹ dostarczane na dyskiet-
ce dwa programy wspomagaj¹ce
jego funkcje: emul51.exe dla fun-
kcji emulatora, oraz recv51.exe dla
obs³ugi interfejsu szeregowego. Za-
stosowanie programów wymaga wy-
konania kabelka po³¹czeniowego
wed³ug rys. 3 , który od strony
komputera PC mo¿e byæ zako-
ñczony odpowiednio z³¹czem CA-
NON25 (je¿eli dysponujemy z³¹-
czem du¿ym), lub CANON9 (je¿eli
dostêpne jest z³¹cze ma³e). Wyboru
wariantu nale¿y dokonaæ indy-
widualnie, w zale¿noci od wolne-
go portu szeregowego COMn. Je¿eli
dysponujemy kilku¿y³owym kabel-
kiem w oplocie ekranuj¹cym, to
oplot nale¿y u¿yæ jako po³¹czenie
masowe (GND).
Zastosowanie programu
emul51.exe umo¿liwia w pe³ni au-
tomatyczne ³adowanie i urucho-
mienie programu u¿ytkownika
wraz z jednoczesn¹, podstawow¹
obs³ug¹ sytuacji nieprawid³owych.
Program obs³uguje system urucho-
mieniowy podpiêty do komputera
PC przez z³¹cze interfejsu szere-
gowego COM1 lub COM2.
Sk³adnia wywo³ania programu
jest nastêpuj¹ca:
< emul51 nazwa_pliku [COMn] >,
gdzie < nazwa_pliku > jest nazw¹
pliku wynikowego kompilacji lub
asemblacji wraz z rozszerzeniem,
który ma zostaæ za³adowany do
pamiêci systemu. Natomiast op-
cjonalny parametr < COMn > infor-
muje program o u¿ytym ³¹czu
szeregowym COM1 lub COM2
(je¿eli numer ³¹cza zostanie po-
miniêty, przyjêty bêdzie domy-
lnie COM1).
Program emul51.exe umo¿li-
wia ³adowanie plików heksadecy-
malnych, jak i binarnych, jednak
obs³uga tych ostatnich nie
uwzglêdnia tzw. echa realizo-
wanego przez zainstalowane
w mikrokontrolerze oprogramowa-
nie emulatora EPROM.
Jak wspomniano, dodatkow¹
opcj¹ programu jest sygnalizacja
nieprawid³owoci, takich jak
b³êdne podanie oznaczenia portu
szeregowego, nazwy pliku lub
brak pod³¹czenia wtyków do kom-
putera PC i systemu uruchomie-
niowego, nie w³¹czone zasilanie
systemu itd.
Drugi program - recv51.exe
s³u¿y do obustronnej komunikacji
u¿ytkownika z systemem realizu-
j¹cym jego program. Zadanie to
jest wykonywane przez odbiór
i wywietlanie na ekranie moni-
tora nap³ywaj¹cych ³¹czem szere-
gowych informacji, jak i przesy-
³anie danych wprowadzanych
bezporednio z klawiatury kom-
putera PC do systemu urucho-
mieniowego. Dodatkowo wprowa-
dzono mo¿liwoæ zdalnego zero-
wania (jednak bez mo¿liwoci
ingerencji w za³adowany do pa-
miêci program u¿ytkownika) oraz
zapis przebiegu sesji ³¹cznoci do
pliku recv51.ssa . Nale¿y wykazaæ
jednak pewn¹ ostro¿noæ, gdy¿
w razie wykonania zdalnego ze-
rowania, poprzednio zapisane
w tym pliku informacje zostan¹
skasowane i zapis rozpocznie siê
od nowa.
Sk³adnia wywo³ania programu
jest nastêpuj¹ca:
< recv51.exe [COMn] > - opcjo-
nalny parametr < COMn > infor-
muje o u¿ytym ³¹czu szeregowym
COM1 lub COM2 (domylnie
przyjêty zostanie COM1). Podob-
nie jak poprzednio opisany pro-
gram emul51.exe , program
recv51.exe sygnalizuje nie-
prawid³owoci w sposób
niemal identyczny.
W dzia³aniu obu opisa-
nych programów przeszka-
dzaæ mog¹ rezydentnie
zainstalowane w kompute-
rze PC sterowniki urz¹dzeñ
dodatkowych, u¿ywaj¹ce do
swoich celów ³¹cza szere-
gowego, przeznaczonego do
komunikacji z systemem urucho-
mieniowym. Aby unikn¹æ niespo-
dzianek nale¿y je b¹d zdeinsta-
lowaæ (przez modyfikacjê odpo-
wiednich plików config.sys, i/lub
autoexec.bat), b¹d przenieæ na
inne dostêpne ³¹cze szeregowe.
Nale¿y dodatkowo nadmieniæ,
¿e ze wzglêdu na metodykê ze-
rowania systemu uruchomie-
niowego przez wykorzystanie sta-
nu linii DTR ³¹cza szeregowego,
podczas wy³¹czenia komputera
PC oraz bezporednio po jego
w³¹czeniu system uruchomienio-
wy bêdzie pozostawaæ w stanie
ci¹g³ego zerowania, co w sposób
oczywisty blokuje jego pracê. Aby
umo¿liwiæ równoleg³y start sys-
temu uruchomieniowego bezpo-
rednio po w³¹czeniu zasilania
komputera PC, na pocz¹tku pliku
autoexec.bat nale¿y dopisaæ na-
stêpuj¹ce linie:
@mode COMn,4800,n,8,1 >nul
@echo ! >COMn,
gdzie < COMn > okrela numer
³¹cza przeznaczonego do komu-
nikacji z systemem.
W pierwszej linii okrelamy pa-
rametry ³¹cza wymagane przez
zintegrowane oprogramowanie
emulatora EPROM (szybkoæ
4800Bd, bez kontroli parzystoci,
osiem bitów danych i jeden bit
stopu). Natomiast w drugiej linii
przesy³amy znak ró¿ny od ?,
z jednoczesnym ustawieniem sta-
nu 1 na linii DTR ³¹cza szere-
gowego. Operacja ta spowoduje
natychmiastowe uruchomienie
programu u¿ytkownika, o ile by³
on uprzednio za³adowany do pa-
miêci.
Monta¿ i uruchomienie
Widok p³ytki drukowanej znaj-
duje siê na wk³adce wewn¹trz
numeru, a rozmieszczenie ele-
mentów pokazano na rys. 4 .
Monta¿ nale¿y rozpocz¹æ od
ewentualnego sprawdzenia i roz-
wiercenia otworów pod nastêpu-
j¹ce elementy: wiert³em 3-mm
cztery otwory none umieszczone
w pobli¿u krawêdzi p³ytki i wier-
t³em 2,5-mm otwór mocuj¹cy sta-
bilizator S1. Otwory pod nastê-
puj¹ce elementy: z³¹cze JP2, aku-
mulator B1, stabilizator S1, z³¹-
cze zasilania JP1 oraz ewentual-
nie punkty lutownicze z³¹cza JP5
(o ile zamierzamy je w przysz³o-
ci lutowaæ) nale¿y rozwierciæ
wiert³em 1-mm. Dodatkowo, wier-
Rys. 3. Sposób wykonania po³¹czeñ w
uproszczonym kablu RS232 (null modem).
Elektronika Praktyczna 10/97
57
30483613.058.png
Zgłoś jeśli naruszono regulamin