Mikrokontrolery cz4.pdf
(
496 KB
)
Pobierz
1265725 UNPDF
Też to potrafisz
Kontynuujemy opis mikrokontrole−
ra 8051. W tym odcinku powiemy
w jaki sposób można dołączyć ze−
wnętrzną pamięć pogramu oraz
danych. Podane konkretne rozwią−
zania sprzętowe poparte schema−
tami elektrycznymi, z pewnością
dadzą Ci pojęcie na temat kontruo−
wania podstawowych bloków fun−
kcjonalnych małego systemu mik−
roprocesorowego. Opis takiego
układu będącego jednocześnie ba−
zą do naszej przyszłej nauki pro−
gramowania 8051 prezentujemy
w niniejszym numerze EdW, warto
jednak abyś najpierw zapoznał się
z niniejszym artykułem.
Mikrokontrolery?
To takie proste...
Część 4
Mikrokontroler 8051 – opis układu
Zewnętrzna pamięć programu
Jak się dowiedziałeś z wcześniejszych
części naszego cyklu, procesor 8051 i mu
podobne mają możliwość dołączenia do−
datkowej zewnętrznej pamięci programu,
np. typu EPROM. W pamięci tej podobnie
jak w wewnętrznej pamięci programu za−
szytej w kostce 8751 (8752) programista
umieszcza poszczególne rozkazy progra−
mu , używając do tego celu np. programa−
tora pamięci EPROM lub programatora do
programowania mikroprocesorów z rodzi−
ny MCS−51. Wiesz już że procesor może
pracować w następujących konfiguracjach:
a) tylko z wewnętrzną pamięcią progra−
mu (dla kostek 8751, 8752)
b) z wewnętrzna i zewnętrzną pamięcią
programu jednocześnie, w tym przy−
padku zewnętrzna pamięć programu
stanowi jak gdyby „przedłużenie” pa−
mięci wewnętrznej.
c) oraz tylko z zewnętrzną pamięcią pro−
gramu np. typu EPROM.
Pierwszy tryb jest bardzo wygodny, po−
zwala na „pełne” wykorzystanie wszyst−
kich zalet mikrokontrolera jednoukłado−
wego w całym tego słowa znaczeniu. Pro−
gramista wykorzystując procesor w wers−
ji z wbudowaną pamięcią programu
(8751,8951, xx52) cały kod swego progra−
mu umieszcza wewnątrz kości, dzięki
czemu ma do dyspozycji wszystkie porty
mikrokontrolera – w tym także P0 i P2.
(patrz poprzednie odcinki naszego cyklu).
Kostka 87C51 (89C51) ma „tylko” 4kB
(8x52 8kB pamięci programu), najczęściej
te „tylko” w zupełności wystarcza, lecz
zdarza się że jest to za mało, wtedy ko−
nieczne jest dołączenie dodatkowej ze−
wnętrznej pamięci programu w postaci
kostki EPROM. W tym przypadku (jak
wspomniałem w poprzednim odcinku)
maksymalna długość programu równa
wielkości obu pamięci zewnętrznej jak
i wewnętrznej nie może przekroczyć
64kB – czyli 65536 8−bitowych słów.
Czyli że np. do kostki 87C52 (zawiera−
jącej 8 kB wewnętrznej EPROM) można
dołączyć maksymalnie 56kB EPROM
z zewnątrz.
Trzeci tryb pracy tylko z zewnętrzną pa−
mięcią programu jak pamiętasz z pierw−
szej części cyklu wymaga zwarcia wypro−
wadzenia /EA (pin 31 procesora 8051/52)
do masy. Parę lat temu, kiedy procesory
‘51 z wbudowaną wewnętrzną pamięcią
programu kosztowały niemało, natomiast
kostki bez niej można było nabyć za kilka−
dziesiąt tysięcy (starych złotych) nazywa−
łem ten tryb pracy „oszczędnościowym”
(chyba tylko dla własnej kieszeni). Jak się
wkrótce przekonasz drogi Czytelniku pier−
wsze praktyczne kroki z wykorzystaniem
twego pierwszego systemu mikroproce−
sorowego warto będzie poczynić korzys−
tając właśnie z tego trybu.
Tak jak przy nauce jazdy samochodem
istnieje większe ryzyko stłuczki, tak
w przypadku mikroprocesora nie warto
na początku ryzykować uszkodzeniem
kostki z zapisanym w niej programem, le−
piej jest kod programu umieścić w ze−
wnętrznej pamięci EPROM.
A propos „pierwszego systemu
z 8051” – w bieżącym numerze EdW
znajdziesz opis kitu zawierającego wszys−
tkie niezbędne elementy do zbudowania
małego lecz w pełni funkcjonalnego sys−
temiku do nauki programowania i obsługi
procesorów rodziny MCS−51. Publikacja
tego systemu jest celowa i wyprzedza
nieco rozpoczęcie nauki programowania.
Wszystko po to abyś drogi Czytelniku
miał trochę czasu na nabycie tego zesta−
wu, zapoznanie się z nim, zmontowanie
oraz wstępne sprawdzenie poprawnego
działania. Wtedy wraz z pierwszym arty−
kułem dotyczącym programowania 8051
będziesz mógł rozpocząć praktyczne lek−
cje z mikrokontrolerem. Początek kursu
planowany jest w październiku.
Wracajmy jednak do naszego artykułu.
Pozostając wiernym zasadzie przekazy−
wania Tobie, tylko niezbędnych, praktycz−
nych informacji na temat ‘51−ki nie będę
się rozwodził nad teorią obsługi zewnę−
trznej pamięci programu przez sam pro−
cesor, a jedynie przedstawię Ci nieza−
wodny sposób dołączenia jej do układu
mikrokontrolera.
Rysunek 5 przedstawia schemat elekt−
ryczny takiego połączenia. W układzie tym
40
E
LEKTRONIKA DLA WSZYSTKICH 8/97
Też to potrafisz
Rys. 5. Sposób dołączenia zewnętrznej pamięci programu do procesora
zrezygnowano z użycia wewnętrznej pa−
mięci programu – wykorzystano więc kos−
tkę w wersji bez ROM (8051/52), pin /EA
zwarto do masy, w jako zewnętrzną pa−
mięć programu wykorzystano kostkę EP−
ROM o pojemności 64kB typu 27C512.
Oczywiście w praktyce nie jest konieczne
używanie tak pojemnej pamięci. Do na−
szych celów i eksperymentów wystarczy
pamięć 27C64 o pojemności 8kB. W ta−
kim przypadku linie adresowe A15, A14,
A13 (piny 28, 27 i 26 portu P2) pozostaną
niedołączone, lecz niestety i tak będą nie
do wykorzystania, bowiem w trybie adre−
sowania zewnętrznej pamięci programu
(jak i danych) cały port P2 przekazuje star−
szy bajt 16−bitowego adresu.
Zgodnie z opisem z I części artykułu,
w układzie wykorzystano dodatkowy re−
jestr w postaci układu 74HCT573, które−
go zadaniem jest zatrzaśnięcie młodszej
części 16−bitowego adresu, czyli sygna−
łów A0...A7. W czasie trwania dodatniego
poziomu sygnału na wyjściu ALE, mikro−
procesor wystawia: na piny portu P2 star−
sza część 16−bitowego adresu A8...A15,
natomiast na port P0 wystawiona zostaje
młodsza część adresu A0...A7, która zo−
staje od razu przekazana poprzez
74HCT573 na wejścia adresowe A0...A7
pamięci EPROM. Dzieje się tak dlatego że
układ ‘573 aktywowany jest poziomem,
toteż w przypadku gdy na jego wejściu
C (połączonym z ALE) panuje stan wyso−
ki, rejestr ten jest „przezroczysty” tzn. że
dane pojawiające się na jego wejściach
D1...D8 natychmiast pojawiają się na wy−
jściach Q1...Q8. Dołączenie wejścia /OC
układu U2 do masy powoduje odblokowa−
nie na stałe wyjść Q1...Q8
(gdy /OC=1 to wyjścia te przechodzą
w stan wysokiej impedancji – lecz w na−
szym przypadku nie ma to praktycznego
zastosowania).
Następnie podczas opadającego zbocza
sygnału ALE młodsza cześć adresu zostaje
„zapamiętana” w U2, a procesor może wte−
dy z portu P0 odczytać kolejny bajt z pamię−
ci EPROM podając stan niski na wyprowa−
dzenie /PSEN, które jak widać ze schematu
jest dołączone do wejścia /OE pamięci.
Wejście wyboru pamięci U3 /CE jest
na stałe zwarte do masy, co oznacza że
pamięć EPROM jest ciągle aktywna a do
jej odczytu wystarczy niski poziom poda−
ny na wejście /OE.
Czasem w różnych aplikacjach szczegól−
nie w urządzeniach zasilanych bateryjnie
wejście /OC układu U2 oraz wejście wybo−
ru pamięci EPROM /CE są razem dołączone
do wyjścia sygnału ALE. Nie jest to błędem,
bowiem podczas cyklu odczytu z zewnętr−
znej pamięci tak programu jak i danych
wszystkie operacje tak odczytu jak i zapisu
do tych pamięci odbywają się podczas sta−
nu niskiego na wyjściu ALE procesora.
Cykl odczytu z zewnętrznej pamięci
programu możesz dodatkowo prześle−
dzić na rysunku 6.
Podsumowując te akapit powinieneś
zapamiętać, że
– przestawiony sposób dołączenia ze−
wnętrznej pamięci programu jest typo−
wym dla tej konfiguracji pracy procesora
– odczyt kolejnych bajtów (rozkazów) z ze−
wnętrznej EPROM odbywa się za pośred−
nictwem sygnału /PSEN, o którym pisa−
łem w I części naszego cyklu przy okazji
omawiania wyprowadzeń procesora
– dodatkowo w układzie z zewnętrzną
pamięcią programu (jak się zaraz oka−
że także i danych) niezbędny jest do−
datkowy układ scalony w postaci 8−
krotnego rejestru równoległego
74HCT573. Można użyć wersji LS.
Natomiast kostki 74HCT373 (LS373),
które maja taka samą strukturę we−
wnętrzną, różnią się od układu 573
rozmieszczeniem wyprowadzeń
D1...D8 i Q1...Q8.
Zainteresowanych w/w układami od−
syłam do katalogów serii TTL. My w na−
szych rozwiązaniach będziemy nagmin−
nie korzystać z układów ‘573 ze względu
na bardziej korzystny rozkład jego wypro−
wadzeń wprost dostosowany do użycia
Rys. 6.
Cykl odczytu z zewnętrznej pamięci programu
E
LEKTRONIKA DLA WSZYSTKICH 8/97
41
Też to potrafisz
Rys. 7. Sposób dołączenia zewnętrznej pamięci danych 32kB do procesora 8051
wraz z poczciwym 8051 oraz pochodny−
mi w obudowach DIL−40.
– 8 kostek 6264 (8x 8kB = 64kB) lub
w ostateczności
– 32 kostki 6116 (32x 2kB = 64kB).
Oczywiście dwie ostatnie sytuacje
w przypadku wymaganej maksymalnej po−
jemności zewnętrznej SRAM są nieprak−
tyczne, po pierwsze ze względu na ilość
układów scalonych co prowadzi do zwięk−
szenia płytki drukowanej, po drugie pojawia
się konieczność stosowania dodatkowego
dekodera adresu w postaci np. układu serii
TTL−LS typ 74LS138 – dekoder 1 z 8.
Rysunek 7 pokazuje podstawowy układ
dołączenia zewnętrznej kostki SRAM
o pojemności 32kB do mikrokontrolera
8051. Jak widać układ połączeń jest bar−
dzo zbliżony do schematu z rysunku 5,
gdzie omawialiśmy praktyczny sposób do−
łączenia zewnętrznej pamięci programu
typu EPROM. Dla zwiększenia czytelności
rysunku rezygnujemy z rysowania każ−
dego z połączeń magistrali adresowej
(A0...A15) oraz danych (AD0...AD7) od−
dzielnie, w zamian zastąpimy je wspól−
nym „fachowym” symbolem „szyny”
– w postaci pogrubionej kreski. Każde
połączenie „odchodzące” od takiej
magistrali ma swoją nazwę (etykietę),
czyli że końcówki układów scalonych
(w tym przypadku: procesora U1, pa−
mięci U3 oraz zatrzasku U2) przy któ−
rych znajduje się taka sama etykieta li−
terowa, są ze sobą elektrycznie połą−
czone. Prawda, że prostsze?!
Przyzwyczajmy się zatem do takie−
go sposobu czytania i rysowania sche−
matów, szczególnie jeżeli przedsta−
wiony schemat zawiera wielokońców−
kowe układy scalone takie jak mikro−
procesor. Wracajmy jednak do tematu.
Do adresowania pamięci wykorzys−
tuje się, podobnie jak do pamięci pro−
gramu, te same linie adresowe:
A0...A15, oraz danych: AD0...AD7.
Jednak sterowanie odczytem zewnętr−
znej pamięci danych zajmuje się sygnał
/RD (końcówka 17 – U1) od skrótu „Read”
– przypomnij sobie część I naszego cyklu).
Podanie odpowiednich stanów logicznych
na końcówki adresowe pamięci (U3) odpo−
wiadające adresowi komórki pamięci we−
wnątrz układu, a następnie podanie stanu
niskiego na końcówkę /RD spowoduje po−
jawienie się danej (z pamięci) na wyprowa−
dzeniach magistrali AD0...AD7 i w konsek−
wencji odczyt jej przez mikroprocesor, za
pośrednictwem portu P0.
Sytuację te w postaci przebiegów
przedstawia rysunek 8. Nie podaję tu cza−
sów poszczególnych cykli, po pierwsze
z czysto prakt]ycznego powodu, po dru−
gie ze względu że zależą one od częstot−
liwości zegara (rezonatora kwarcowego
dołączonego do procesora).
Skoro wiemy jak praktycznie (sprzęto−
wo) realizowany jest odczyt z zewnętrznej
Zewnętrzna pamięć danych
W podobny sposób jak w przypadku
zewnętrznej pamięci programu, do więk−
szości procesorów serii MCS−51 (w tym
8051/52) dołącza się zewnętrzną pamięć
danych. Do tego celu używa się zazwy−
czaj (a prawie zawsze) kostek pamięci
statycznych nazywanych często SRAM
od skrótu: „Static RAM”, czyli pamięć
statyczna. Pamięć taka powinna charak−
teryzować się 8−bitową organizacją da−
nych oraz równoległym adresowaniem,
tak jak w przypadku zwykłych EPROM
ów. Najpopularniejsze i spotykane w han−
dlu, a przy tym najlepiej nadające się do
naszych potrzeb kości pamięci SRAM to:
a) 6116 – pamięć SRAM o pojemności
2kB (6116 – 16kbitów, czyli 16384 bi−
tów / 8 = 2kB = 2048 B ).
b) 6264 – j/w lecz o pojemności 8kB (6264 –
64kbity, czyli 65536 / 8 = 8kB = 8192 B)
c) 62256 – j/w lecz o pojemności 32kB
(62256 – 256 kbitów, czyli 262144
/ 8 = 32kB...)
Cena układów wymienionych pamięci
jest obecnie znikoma, nie znaczy to jednak
że warto stosować pamięci z zapasem
(np. największe 32kB), zawsze warto prze−
widzieć wielkość praktycznie wykorzysty−
wanej ilości komórek pamięci i odpowied−
nio dobrać wymagany typ pamięci.
Pierwszy wymienionych układ SRAM
6116 spotykany jest w handlu w typowej
obudowie 24−końcówkowej o rozstawie
600 mils, dwa ostatnie natomiast w obu−
dowach 28−pinowych (600 mils, spotyka−
ne tez są wersje w „wąskich” obudo−
wach o rozstawie 300 mils).
Do kontrolerów serii ‘51 można dołą−
czyć maksymalnie 64kB zewnętrznej pa−
mięci danych. Można więc w takim
(skrajnym) przypadku zastosować:
– 2 kostki 62256 (2x 32kB = 64kB) lub
Rys. 8. Cykl odczytu i zapisu
z zewnętrznej pamięci danych
42
E
LEKTRONIKA DLA WSZYSTKICH 8/97
Też to potrafisz
pamięci danych, to warto powiedzieć jak
dokonywany jest zapis. Otóż do tego ce−
lu służy kolejny sygnał procesora nazywa−
ny /WR (od skrótu „write”− zapis), a wy−
stawiany przez procesor na końcówkę 16
(U1) w czasie tej operacji. Podobnie ja
w przypadku odczytu, najpierw procesor
ustala adres na końcówkach A0...A15
(port P2 oraz wyjścia zatrzasku U2), na−
stępnie podaje daną na port P0, po czym
wystawia stan niski na pin /WR, co po−
woduje zapis danej w pamięci SRAM.
Jak już wcześniej wspomniałem, za−
stosowanie zewnętrznej pamięci tak pro−
gramu jak i danych wiąże się ze zuboże−
niem typowej „jednoukładowości” mik−
rokontrolera, bowiem zajęte zostają portu
P0 i P2 procesora. O ile w przypadku pra−
cy z zewnętrzną pamięcią programu dzie−
je się tak zawsze: port P0 pracuje jako
multipleksowana (na zmianę) szyna da−
nych lub młodszej części adresu, a port
P2 wystawia starsze 8 bitów 16−bitowe−
go adresu, o tyle w przypadku pracy z ze−
wnętrzną pamięcią danych (bez zewnętr−
znej pamięci programu) istnieje możli−
wość oszczędniejszego gospodarowania
portami procesora.
W przykładzie opisanym powyżej mó−
wiliśmy , że procesor przy odczycie lub
zapisie „....wystawia 16−bitowy adres
(A0...A15) ... . Do tego potrzebne są
2 porty, które w takim przypadku nie na−
dają się do dodatkowego wykorzystania,
jako np. wyjścia sterowania przekaźnika−
mi, lub czymkolwiek innym.
Istnieje jednak możliwość innego odczy−
tu zewnętrznej pamięci danych, nazywana
„stronicowaniem”. Ma ona zastosowanie
szczególnie wtedy, kiedy zewn. pamięć da−
nych mam mniejszy rozmiar od maksymal−
nej przestrzeni adresowej procesora np.
2kB. Jak widać z rysunku 9 pamięć taka
(U3) ma tylko 11 linii adresowych (A0...A10),
co pozwala na zaadresowanie 2048 komó−
rek pamięci (bajtów). Tak więc pozostałe li−
nie adresowe procesora A11...A15 pozosta−
łyby niewykorzystane gdyby zastosować
odczyt jak w poprzednim przypadku z peł−
nym adresem A0...A15.
Przy „stonicowanym „ sposobie ob−
sługi zewn. pamięci danych, procesor
wystawia tylko młodszą część 16−bitowe−
go adresu (linie AD0...AD7), zaś port P2
pozostaje „nietknięty”. Wnikliwy czytel−
nik zauważy że w konsekwencji takiego
sposobu obsługi możliwe będzie zaadre−
sowanie tylko 256 bajtów (2 do potęgi
8 = 256) tej pamięci, a nie jak w naszym
przykładzie aż 2kB. No tak, chyba że
przed odczytem przez procesor, sami, za
pomocą sygnałów A8...A10 (wystawia−
nych poprzez 3 piny portu P0) ustawimy
niejako „fizyczny” adres 256 bajtowej
strony adresowanej pamięci.
Zauważmy przecież że za pomocą tych
trzech końcówek można „zaadresować”
8 stron po 256 bajtów każda co w sumie
da nam do dyspozycji pełne 2048 bajtów,
czyli 2kB. Zauważmy też że, co najważ−
niejsze, pozostałe końcówki portu P2 po−
zostają wolne i możemy je dowolnie wy−
korzystać jako wejścia lub wyjścia cyfro−
we... Prawda, że genialne?!
No tak, ale kiedy ten procesor adresuje
pamięć za pomocą pełnego adresu, a kie−
dy za pomocą stronicowania .....!. Otóż
w celu rozróżnienia przedstawionych
dwóch typów adresowania wprowadzone
są dwie różne instrukcje procesora, któ−
rych używa programista (w przyszłości Ty
! drogi Czytelniku) podczas projektowania
układu i pisania programu, w zależności od
potrzeb, ale o tym powiemy dokładnie
przy okazji nauki programowania 8051.
dzone przez programistę na etapie
tworzenia programu, stałe np. w posta−
ci tablic (sinusów, logarytmów nie−
zbędnych do obliczeń) lub cokolwiek
innego, nie będącego typową
„instrukcją” programu lub jej argumen−
tem. Aż się prosi żeby te dane umiesz−
czane były w zewnętrznej pamięci da−
nych (w wewnętrznej RAM prawdopo−
dobnie zabrakłoby na nie miejsca), czy−
li w układach SRAM. Nie ma sprawy,
można przecież je przenieść (progra−
mowo) z EPROM do SRAM w czasie
inicjacji mikroprocesora, tylko po co !.
Czy nie lepiej „jakoś” połączyć obszar
pamięci programu i danych, zachowu−
jąc oczywiście odrębne obszary adre−
sowe, pozostawiając tylko jednolity
sposób odczytu tych danych?!
I druga sytuacja, bardziej praktyczna
w fazie nauki sytuacja.
b) Zbudowałem uniwersalny mikroste−
rownik z 8051...., chciałbym mieć moż−
liwość wpisywania na bieżąco (np. za
pomocą komputera) moich programów
i testowania ich w tym układzie bez po−
trzeby każdorazowego programowania
pamięci EPROM za pomocą drogiego
programatora, na który mnie zresztą nie
stać ..... . Czy nie dało by się wykorzys−
tać dołączoną pamięć danych SRAM ja−
ko część obszaru adresowego pamięci
programu (i odwrotnie) i wpisywać do
niej nowe programy bez wyjmowania
układu scalonego z podstawki ?... .
W przedstawionych dwóch przypad−
kach, rozwiązaniem problemu jest wyko−
rzystanie do odczytu danych tak z pamięci
programu jak i danych, iloczynu sygnałów:
– odczytu z zewnętrznej pamięci danych /RD
oraz
– odczytu z zewnętrznej pamięci progra−
mu /PSEN
Iloczyn taki w praktyce najłatwiej jest
wykonać za pomocą pojedynczej 2−we−
jściowej bramki AND, jak pokazano na
rysunku 10. Przedstawiono nieco rozbudo−
waną konfigurację procesora pracującego
„Miksowanie” przestrzeni
adresowych programu
i danych
Często w praktyce podczas konstruo−
wania i oprogramowywania układów wy−
korzystujących zewnętrzne pamięci tak
programu jak i danych zdarzają się nastę−
pujące dwie sytuacje:
a) w zewnętrznej pamięci programu (EP−
ROM – stałej) znajdują się, wprowa−
Rys. 9. Przykład adresowania zewnętrznej pamięci danych 2kB poprzez stronicowanie
E
LEKTRONIKA DLA WSZYSTKICH 8/97
43
Też to potrafisz
Rys. 10. Sposób zmiksowania zewnętrznych pamięci danych i programu
z zewnętrzną pamięcią programu U3 (EP−
ROM 8kB) oraz pamięci danych U4
(SRAM 8kB). Zauważmy jednak że odczyt
z obu pamięci może odbywać się „tak
samo”. Dzięki wymnożeniu sygnałów /RD
i /PSEN, procesor ma możliwość odczytu
kolejnej instrukcji programu (za pomocą
/PSEN) tak z pamięci U3 jak i U4, bowiem
sygnał RD&PS (będący iloczynem /RD
i /PSEN) steruje wejściami /OE odczytu
obu pamięci (U3 i U4). Oczywiście sprawa
zapisu nadal dotyczy tylko pamięci SRAM
U4 (dołączony sygnał /WR procesora U1
do końcówki /WE pamięci U4).
W celu rozdzielenia obszarów adreso−
wych obu pamięci (tak aby nie następo−
wał konflikt przy odczycie na magistrali
AD0...AD7, co może mieć miejsce
w przypadku jednoczesnego pojawienia
się danej na wyjściach 11...19 układu U3
i U4), wykorzystano linię adresową A15.
Dzięki niej pamięć EPROM (U3) będzie
aktywna kiedy sygnał A15 będzie miał
stan niski, co jest adekwatne do obszaru
adresowania równemu: 0000h.....7FFFh
(oczywiście wtedy pamięć U4 jest nieak−
tywna, bo sygnał wyboru CS2 – U4 ma
stan linii A15 = niski).
Pamięć SRAM U4 będzie natomiast
obsługiwana w obszarze adresowym dla
A15 równego logicznemu „1”, czyli w za−
kresie: 8000h...FFFFh.
Na zakończenie, krótki przykład w jaki
sposób w takim układzie (z rys.10) reali−
zowany jest przypadek b) omawiany
wcześniej.
Otóż w pamięci EPROM U3 na stałe
znajduje się program umożliwiający np.
przesłanie danych (którymi mogą być tak−
że instrukcje programu) z komputera do
naszego układu mikroprocesorowego,
chociażby tego z rys.10. Program ten
często zwany „monitorem” lub „biosem”
wykonywany zostaje zaraz po włączeniu
zasilania procesora, bowiem pamięć EP−
ROM z rys.10 – układ U3 zaczyna się od
adresu początkowego 0000h.
Nie jest na razie istotne w jaki sposób
wspomniane dane zostają przesłane z kom−
putera, (może być w tym celu użyty port
szeregowy lub np. równoległy komputera).
Ważne jest że po przesłaniu mogą one
być zapisane w zewnętrznej pamięci
SRAM – U4, która przecież daje się zapi−
sywać jak zwykłą pamięć danych dzięki
sygnałowi /WR.
Kiedy już te dane, będące np. kawał−
kiem jakiegoś nowego, utworzonego
przez Ciebie programu (powiedzmy ze−
garka z 256 alarmami i tyloma timerami)
zostana wpisane do pamięci U4, możesz
teraz rozkazać procesorowi (wydając od−
powiednią instrukcję), „skoczyć” do ad−
resu 8000h i stamtąd rozpocząć dalsze
wykonywanie programu. Co będzie
w efekcie ...?, w efekcie dzięki bramce
AND (rys.10) jak powiedziałem wcześ−
niej, dalej wykonywanym programem bę−
dzie ten przesłany wcześniej z kompute−
ra i umieszczony w SRAM, czyli np. twój
super−zegarek (lub cokolwiek co w przy−
szłości stworzysz).
Zaletami takiego rozwiązania są:
– brak konieczności stosowania drogich
programatorów EPROM
– bardzo szybkie ładowanie nowych pro−
gramów do pamięci SRAM, co pozwo−
li uczącemu się programiście (takiemu
jak Ty) na szybkie obserwowanie efek−
tów swojej pracy
– niepotrzebne jest oczywiście kasowa−
nie SRAM przed zapisem nowej wers−
ji tworzonego programu
Nie brakuje i wad:
– po wyłączeniu zasilania program umiesz−
czony w SRAM zostaje wymazany (ale
dalej znajduje się np. w komputerze);
– konieczne jest „posiadanie” EPROM
ze wspomnianym „biosem” (moni−
torem).
Jak się wkrótce przekonasz, drogi Czy−
telniku, na etapie nauki programowania
i obsługi procesorów 8051 pierwsza „wa−
da” w praktyce wcale nie jest wadą.
O drugi drobiazg (zaprogramowany EP−
ROM) nie musisz się martwić, będziesz
mógł go otrzymać wraz zestawem dla po−
czątkujących programistów, który znaj−
dziesz w tym numerze EdW.
Bardziej ambitnych muszę w tym
miejscu uspokoić. Jestem pewien, że
każdy kto ukończy nasz kurs projektowa−
nia będziecie w stanie sam napisać swój
własny program monitora. Na razie na
etapie wstępnej nauki programowa−
nia, do której niebawem przejdziemy, nie−
zbędna będzie wersja „gotowa” bio−
su, wierzcie mi drodzy Czytelnicy, za−
oszczędzi to wam wielu stron teorii, któ−
ra na początku mogłaby niejednego
z Was przerazić swoimi rozmiarami,
a którą sami nabędziecie z czasem, ucząc
się pisać pierwsze swoje programy.
W następnym odcinku omówię po−
krótce (praktyczne rady) ważniejsze te−
maty dotyczące „czasowego” sposobu
wykonywania przez mikrokontroler 8051
programu, po czym przejdziemy do pier−
wszych kroków w programowaniu.
Słławomiir Surowiińskii
44
E
LEKTRONIKA DLA WSZYSTKICH 8/97
Plik z chomika:
tomix244
Inne pliki z tego folderu:
Mikrokontrolery cz9.pdf
(199 KB)
Mikrokontrolery cz8.pdf
(189 KB)
Mikrokontrolery cz7.pdf
(184 KB)
Mikrokontrolery cz6.pdf
(193 KB)
Mikrokontrolery cz5.pdf
(325 KB)
Inne foldery tego chomika:
!!tomix244!!
• Spawarki - schematy itp
• Spawarki - schematy itp(1)
● Windows Server 2012 64-Bit (PL)
‡‡ BOT DO REKLAM ! REKLAMA NA CHOMIKUJ BOOT DO WYSYLANIA REKLAM !!!
Zgłoś jeśli
naruszono regulamin