2500-02 Plytka testowa, Mikroprocesory & Mikrokontrolery, Bascom College
[ Pobierz całość w formacie PDF ]
★
★★
E m u l a t o r p r o c e s o r ó w
8 9 C X 0 5 1
★★
BASCOM College
W ramach programu BASCOM College
chciałbym zaproponować Moim Czytelni−
kom budowę jednego z najbardziej użytecz−
nych dla konstruktora urządzeń: emulatora
sprzętowego. Jednak zanim przejdziemy do
bardziej szczegółowego opisu proponowane−
go układu, etyka zawodowa nakazuje mi zło−
żyć następujące oświadczenie:
Emulator sprzętowy procesorów
89CX051, przeznaczony do współpracy z
kompilatorami BASCOM, został opra−
cowany przez firmę MCS Electronics i
GRIFO. Nie jestem autorem tego
urządzenia, a jedyną moją zasługą jest
zaprojektowanie płytki obwodu
drukowanego i przetestowanie układu.
Schemat emulatora został wykorzystany
za zgodą i aprobatą firmy GRIFO.
Emulator sprzętowy jest urządzeniem,
które nie tylko ułatwia tworzenie programów
na mikroprocesory. W wielu przypadkach po−
zwala on na pełne przetestowanie programu
i zaprojektowanego układu wyłącznie za po−
mocą komputera i odpowiedniego oprogra−
mowania, bez konieczności programowania
procesora. Mówiąc najprościej: komputer po−
łączony z uruchamianym urządzeniem za po−
mocą emulatora „udaje“, że jest włożonym
w podstawkę procesorem. Jakie to daje ko−
rzyści programiście? Ogromne, a przede
wszystkim znaczną oszczędność czasu. Pro−
cesory 89CX051 posiadają wprawdzie
2501
pamięć EEPROM, w której przechowywana
jest pamięć programu, ich programowanie
i przeprogramowywanie jest bardzo proste,
ale zawsze zajmuje cenny czas. Ponadto, pro−
gramator procesorów jest urządzeniem dość
kosztownym, a jego samodzielna budowa nie
należy do najprostszych zadań. Stosowanie
emulatorów programowego i sprzętowego
pozwala odwlec konieczność zaprogramowa−
nia procesora do ostatniej chwili, kiedy napi−
sany program będzie już wielokrotnie przete−
stowany i poprawiony. Emulator sprzętowy,
szczególnie w połączeniu z opisaną dalej
płytką prototypową, daje też dostęp do techni−
ki mikroprocesorowej kolejnej grupie hobby−
stów: Kolegom, którzy uwielbiają prace pro−
gramistyczne, ale wzięcie do ręki lutownicy
jest dla nich jedynie smutną koniecznością.
Powiedzmy sobie teraz kilka słów o moż−
liwościach i ograniczeniach proponowanego
układu. Może on współpracować z dwoma
programami – kompilatorami języka BASIC:
BASCOM−em i 8051. Sprawdziłem działanie
układu z obydwoma tymi programami i wy−
niki były więcej niż zachęcające
! Jednak
bez posiadania jed−
nego z wymienio−
nych programów
układ emulatora
jest całkowicie bez−
użyteczny!
Emulator pozwala
na symulację obecno−
ści w testowanym
układzie wyłącznie
procesorów
początkowym etapie działalności naszej szko−
ły programowania procesorów w języku
BASIC będziemy używać tylko tych proceso−
rów, wada nie wydaje się być zbyt uciążliwa.
Za pomocą naszego emulatora możemy
sprawdzić działanie
większości
funkcji wyko−
nywanych przez testowany program i projek−
towane urządzenie mikroprocesorowe.
Więk−
szości, nie wszystkich!
Ograniczeniem jest
szybkość pracy emulatora, już w założeniu
znacznie mniejsza od szybkości pracy proce−
sora. Tu w korzystnej sytuacji znajdą się
szczęśliwi posiadacze komputerów w nowo−
czesnej konfiguracji, wyposażonych w proce−
sory PENTIUM II lub lepsze. Im bowiem
szybszy procesor komputera, tym bardziej
emulacja mikroprocesora będzie odpowiadała
rzeczywistym warunkom pracy testowanego
układu.
Proponowany układ jest banalnie prosty
i łatwy do wykonania. Całkowicie odpowia−
da to trendom, które lansujemy w naszej
szkole programowana procesorów: prosty
hardware, a cały “rozum” urządzenia umie−
szczony jest w jego oprogramowaniu. Dlate−
go też do wykonania emulatora zachęcam na−
wet zupełnie początkujących konstruktorów,
a w szczególności tych, którzy nie za bardzo
lubią lutować, a cały wysiłek wkładają w pi−
sanie programów.
Rys. 4
typu
Jak to działa?
Na
rysunku 1
został pokazany schemat elek−
tryczny układu sprzętowego emulatora pro−
cesorów 89CX051. Jednak odpowiedź na po−
stawione wyżej pytanie będzie tym razem
dość trudna. Jak już wiecie, nie jestem auto−
rem tego układu i ... nie bardzo wiem, jak to
działa. Bez wnikania w zasady działania pro−
gramów BASCOM, które z kolei są tajemni−
cą producenta, możemy jedynie stwierdzić,
że przesyłanie informacji pomiędzy emulato−
rem a komputerem odbywa się zgodnie
AT89C2051
i AT89C4051.
Emu−
lacja jakichkolwiek
innych procesorów
nie jest możliwa
. Po−
nieważ jednak
umówiliśmy się, że na
Elektronika dla Wszystkich
15
BASCOM College
z protokołem transmisji danych w szynie I
2
C.
Do transferu danych wykorzystane
zostały dwa dwukierunkowe konwertery
I
2
C – 8−bitowa szyna danych. Emulator ob−
sługuje wszystkie wyprowadzenia procesora
z wyjątkiem wejść oscylatora kwarcowego
i wejścia RESET. Ważne jest, że wyprowa−
dzenia te nie są do niczego podłączone i że
podczas pracy z emulatorem nie musimy wy−
lutowywać z układu kwarcu, ani też zmieniać
niczego w układzie resetowania procesora.
Układ emulatora zasilany jest zawsze z te−
stowanego układu.
Montaż i uruchomienie
Na
rysunku 2
została pokazana mozaika
ścieżek płytki obwodu drukowanego, wyko−
nanego na laminacie dwustronnym z metali−
zacją. Montaż układu wykonujemy w typo−
wy sposób, rozpoczynając od wlutowania
w płytkę podstawek pod układy scalone,
a kończąc na zamontowaniu złącza CON2
i przewodu z wtykiem emulacyjnym.
Warto szerzej omówić sprawę montażu
wtyku emulacyjnego, co bynajmniej nie
jest tak proste, jak mogłoby się wydawać.
W zestawie znajduje się odcinek przewodu
taśmowego 20−żyłowego i dwa wtyki: je−
den, znany już nam wtyk zaciskany na
przewodzie taśmowym, który dołączymy
do złącza CON1 na płytce, i drugi, z wy−
glądu podobny do podstawki pod układ
scalony. Sposób zaciśnięcia na kablu
pierwszego z wtyków został już wyczerpu−
jąco opisany w jednym z poprzednich nu−
merów EdW, natomiast drugi wtyk, emula−
cyjny, jest dla nas jeszcze nowością. Prze−
glądając wykaz elementów uważni Czytel−
nicy z pewnością zauważyli, że wymienio−
na w nim jest podstawka typu DIL20, pod−
czas gdy na płytce nie ma miejsca na układ
o tej liczbie nóżek. Ta druga podstawka jest
tylko elementem pomocniczym do monta−
żu na kablu wtyku emulacyjnego i, nieste−
ty, ulegnie podczas tej operacji całkowite−
mu zniszczeniu. Kolejność postępowania
podczas montażu wtyku emulacyjnego bę−
dzie następująca:
1. Wtyk emulacyjny wkładamy do “dodatko−
wej” podstawki DIL20.
Rys. 1 Schemat ideowy emulatora
2. W szczelinę we wtyku emulacyjnym wsu−
wamy jeden koniec przewodu taśmowego.
3. Całość ściskamy w imadle aż do usłysze−
nie cichego trzasku, świadczącego o za−
mknięciu się wtyku emulacyjnego. Podczas
wykonywania tej czynności podstawka zo−
stanie całkowicie zniszczona, ale jest to jedy−
na pewna metoda zabezpieczenia końcówek
wtyku emulacyjnego przed uszkodzeniem.
Układ emulatora zmontowany ze spraw−
nych elementów nie wymaga już więcej ja−
kichkolwiek czynności i po dołączeniu do
portu drukarkowego komputera z zainstalo−
wanym jednym z programów BASCOM po−
winien działać poprawnie. Użytkowanie
emulatora opisane będzie dokładnie w cyklu
artykułów opisujących
program BASCOM i dla−
tego teraz podam Wam je−
dynie najpotrzebniejsze
informacje.
Wtyk emulacyjny
układu powinien zostać
umieszczony w testowa−
nym urządzeniu, zamiast
procesora. Badany układ
powinien być zasilany od−
powiednim dla niego na−
pięciem, tj. 5VDC. Po po−
łączeniu ze sobą (przy
wyłączonym zasilaniu)
trzech układów: kompute−
ra, emulatora i testowane−
go urządzenia włączamy zasilanie i urucha−
miamy na komputerze program BASCOM
LT lub BASCOM8051. Ładujemy program,
którego działanie chcemy sprawdzić, kompi−
lujemy go i uruchamiamy symulator.
Dalsze czynności zależne są od funkcji
wykonywanych przez testowany program.
Co jednak mają zrobić niecierpliwi kon−
struktorzy, którzy nie mają jeszcze przygoto−
wanego żadnego układu z procesorami
89CX051, ani płytki testowej, a chcieliby
przetestować działania emulatora? Można to
zrobić w bardzo prosty sposób.
Do podstawki DIL20 lutujemy “w pają−
ku” zgodnie z
rysunkiem 3
wyświetlacz
siedmiosegmentowy LED. Musi to być
Rys. 2 Schemat montażowy
Rys. 3
16
Elektronika dla Wszystkich
BASCOM College
wyświetlacz ze wspól−
ną katodą! Do podstaw−
ki dołączamy zasilanie
5VDC (nóżka 20 +,
nóżka 10 −) i łączymy ją
z emulatorem. Następ−
nie piszemy w edytorze
BASCOM−a króciutki
programik:
Po jego skompilowa−
niu uruchamiamy emu−
lator (rys.4) i obserwuje−
my zachowanie wyświe−
tlacza. Jeżeli zaczną się
na nim pojawiać cyfry
od 0 do 9 wyświetlane
w pętli, to nasz układ
emulatora możemy
uznać za sprawny i goto−
wy do testowania napi−
sanych programów.
Dim R As Byte 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim A As Word 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim Cyfra(10) As Byte 'deklaracja tablicy, niezbędna w dialekcie BASCOM
Cyfra (1) = 127
' definicja wyświetlania cyfry "0"
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
µ
F/10
C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R−pack SIL 10k
Ω
Półprzewodniki:
IC2, IC1 . . . . . . . . . . . . . . . . . . . . . . . . . . .PCF8574P
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
Pozostałe:
CON1 . . . . . .złącze zaciskane 20 pin lutowane w płytkę
CON2 . . . . . . . . . . . .złącze DB25/M lutowane w płytkę
Wtyk emulacyjny 20 pin
Przewód taśmowy ok. 1 mb
Podstawki pod układy scalone + podstawka DIL20
Goldpin 2 x 10 pin
Cyfra (2) = 6
' definicja wyświetlania cyfry "1"
Cyfra (3) = 155
' definicja wyświetlania cyfry "2"
Cyfra (4) = 143
' definicja wyświetlania cyfry "3"
Cyfra (5) = 166
' definicja wyświetlania cyfry "4"
Cyfra (6) = 173
' definicja wyświetlania cyfry "5"
Cyfra (7) = 189
' definicja wyświetlania cyfry "6"
Cyfra (8) = 7
' definicja wyświetlania cyfry "7"
Cyfra (9) = 191
' definicja wyświetlania cyfry "8"
Cyfra (10) = 175
' definicja wyświetlania cyfry "9"
Do
For R = 1 To 10
P3 = Cyfra (r)
Print R
For A = 1 To 1000 : Next A 'pętla opóźnienia zależna od szybkości komputera
Next R
Loop
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT−2501
Programator procesorów
89CX051
Jak już zapewne wiecie, sam program BAS−
COM to za mało: potrzebne są jeszcze proste
narzędzia hardware'owe umożliwiające mu
kontakt z procesorem. Jednym z tych narzę−
dzi jest opisany emulator sprzętowy, a dru−
gim, którym zajmiemy się teraz – programa−
tor, bez którego wykonywanie układów z mi−
kroprocesorami jest absolutnie niemożliwe.
Programator MCS Flash Programmer zo−
stał opracowany przez firmę MCS Electronics,
która w swej uprzejmości udzieliła mi zgody
nie tylko na publikację schematu programato−
ra, ale także na wykonanie płytki obwodu dru−
kowanego, przetestowanie układu i następnie
rozprowadzanie go pod postacią kitu.
Programator firmy MCS Electronics jest
urządzeniem wręcz uderzającym swą prostotą.
Zbudowany został z wykorzystaniem zaledwie
trzech tanich i bardzo łatwo dostępnych ukła−
dów scalonych i garstki elementów dyskret−
nych. Jego wykonanie jest absolutnie możliwe
nawet dla początkujących elektroników,
a układ nie wymaga jakiejkolwiek regulacji ani
uruchamiania. Jednak “coś za coś”, prostota
i taniość układu została okupiona dwoma, nie−
zbyt zresztą dokuczliwymi ograniczeniami:
2502
1.
Proponowany programator może
pracować wyłącznie z programem BA−
SCOM LT lub BASCOM8051.
2.
Za pomocą opisanego niżej urządze−
nia możemy programować wyłącznie pro−
cesory serii 89CX051, czyli 89C1051,
89C2051 i 89C4051.
Jak to działa?
Schemat elektryczny proponowanego układu
został pokazany na
rysunku 1
. Ponieważ
układ jest banalnie prosty i opisanie go nie
zajmie wiele miejsca, możemy poświecić
chwilę na sprecyzowanie, na czym właściwie
polega programowanie procesorów i jaki jest
jego algorytm w przypadku kostek rodziny
89CX051.
Zapewne wszyscy wiecie, że mikroproce−
sor sam jako taki nie “potrafi” dosłownie nic.
Aby go “ożywić’ i zmusić do wykonywania
niekiedy bardzo skomplikowanych czynno−
ści, potrzebny jest napisany przez człowieka
program, który musi zostać umieszczony
w miejscu łatwo “dostępnym” dla procesora.
Jeżeli jednak komuś z Was nie odpowiada
koncepcja budowy programatora o nieco
ograniczonych możliwościach, to w ofercie
AVT znajduje się uniwersalny programator
obsługujący całą rodzinę ’51, zaprojektowa−
ny przez Sławomira Surowińskiego. Jest to
kit AVT−320, idealne narzędzie dla bardziej
zaawansowanych konstruktorów.
Elektronika dla Wszystkich
17
BASCOM College
Każdy mikroprocesor musi dysponować
co najmniej dwoma rodzajami pamięci: pa−
mięcią programu i pamięcią danych. Jako pa−
mięć danych wykorzystuje się zwykle pamię−
ci RAM lub/i EEPROM, umieszczone na ze−
wnątrz lub wewnątrz procesora, natomiast pa−
mięcią programu jest z zasady pamięć stała,
obecnie najczęściej reprogramowalna (przy−
najmniej w procesorach stosowanych w kon−
strukcjach amatorskich). Dawniej jako repro−
gramowalną pamięć programu stosowano
zwykle wewnętrzne lub zewnętrzne pamięci
EPROM, obecnie coraz większe uznanie uzy−
skują pamięci EEPROM, których kasowanie
nie wymaga stosowania specjalnych urządzeń
i może odbywać się w każdym przystosowa−
nym do tego celu programatorze.
Zalety procesorów z pamięcią programu
typu EEPROM szczególnie powinni docenić
amatorzy. Taki procesor możemy przeprogra−
mowywać praktycznie w nieskończoność,
poprawiać napisany program i wpisywać do
jego pamięci nowy. Do tego celu potrzebny
nam jest jedynie programator, choćby tak ba−
nalnie prosty, jak opisywany w tym artykule.
Jakie czynności właściwie wykonuje pro−
gramator? Przyjrzyjmy się bliżej algorytmowi
programowania procesorów serii 89CX051.
Pomocą będzie też
rysunek 2
. Po umieszcze−
niu procesora przeznaczonego do zaprogra−
mowania w podstawce programatora muszą
zostać wykonane następujące czynności:
1.
Wymuszenie stanu niskiego na wejściu
RST na okres nie krótszy niż 10ms.
2.
Wymuszenie stanu wysokiego na wej−
ściach RST i P3.2.
3.
Ustawienie odpowiedniej kombinacji sta−
nów logicznych, właściwych dla funkcji,
która ma zostać wykonana na wejściach
P3.3, P3.4, P3.5 i P3.7. W tabeli poniżej ze−
stawione zostały wszystkie tryby pracy pro−
cesora podczas programowania i odpowiada−
jące im stany logiczne na wejściach portu P3.
4.
Programowanie i weryfikacja zapisanych
danych. Na wejściach portu P1 musi zostać
ustawiona kombinacja logiczna odpowiada−
jąca pierwszemu bajtowi wpisywanego do
pamięci programu (adres 000H).
5.
Dołączenie do wejścia RST napięcia do−
kładnie równego +12VDC.
6.
Podanie na wejście P3.2 krótkiego impul−
su ujemnego powodującego zapisanie bajtu
w pamięci.
Ω
R4, R5, R6 . . . . . . . . . . . . . . . . . . . . . . . . . . .3,3k
Ω
Półprzewodniki:
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED
D2 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 12V
D3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
D4 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 5,6V
IC1, IC2 . . . . . . . . . . . . . . . . . . . . . . .PCF8574 AP
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
IC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
T1, T2, T3 . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
Pozostałe:
CON1 . . . .złacze CENTRONICS 36 lutowane w płytkę
CON . . . . . . . . . . . . . . . . . . . . . . . . .ARK2 (3,5mm)
CON3 . . . . . . . . . . . . . .Podstawka DIL20 precyzyjna
Rys. 1 Schemat ideowy programatora
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT−2502
18
Elektronika dla Wszystkich
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
µ
F/16
C4, C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
µ
F/25
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R−PACK 10k
Ω
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
Ω
R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
Ω
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2k
BASCOM College
7.
Aby zweryfikować zapisane dane (bajt),
należy teraz obniżyć napięcie na wejściu RST
do poziomu logicznej jedynki, ustawić odpo−
wiednią kombinację logiczną (odczyt danych)
na wejściach portu P3 i dokonać odczytu da−
nych z wyjść portu P1. (Uwaga, weryfikacja
danych może być także dokonana „hurtowo“:
po zapisaniu całej zawartości pamięci odczy−
tujemy cały program i porównujemy z orygi−
nałem znajdującym się na dysku komputera).
8.
Po sprawdzeniu poprawności zapisu baj−
tu zwiększamy wartość wewnętrznego licz−
nika pamięci programu o „1“ przez podanie
pojedynczego impulsu na wejście XTAL1.
9.
Powtarzamy operacje opisane w punktach
5 do 8 aż do zapisania całej zawartości pa−
mięci, czyli dla układu bagatelka: 2048 razy!
10.
Opcjonalnie wpisujemy do pamięci pro−
cesora bity zabezpieczające.
Ustawiamy stan niski na wejściu XTAL.
11.
Ustawiamy stan niski na wejściu RST.
12.
Odłączamy wszystkie wyprowadzenia
procesora.
Funkcja
RST
P3.2
P3.3
P3.4
P3.5
P3.7
Zapis danych
12V
IMP*) L
H
H
H
Odczyt danych
H
H
L
L
H
H
Protekcja – bit 1
12V
IMP
H
H
H
H
Protekcja – bit 2
12V
IMP
H
H
L
L
Kasowanie
12V
IMP
H
L
L
L
Odczyt sygnatury
H
H
L
L
L
L
*) IMP− ujemny impuls 1 ms (kasowanie 10 ms)
towane są z komputera poprzez cztery linie
złącza CENTRONICS i przekazywane na
wejścia procesora za pośrednictwem interfej−
sów linia I
2
C – wyjście równoległe, wykorzy−
stujących popularne układy PCF8574.
Wyjaśnienia może wymagać jeszcze sprawa
układu z tranzystorami T1 ... T3. Ten fragment
układu nie jest niczym innym jak programowanym
stabilizatorem, dostarczającym napięć potrzebnych
do sterowania wejściem RST programowanego
procesora. Napięcia przełączane są stanem na linii
5/12 wyprowadzonej z wyjścia 12 IC2. Stan
wysoki na tym wyjściu
powoduje dostarczenie
do wejścia RST proce−
sora napięcia równego
5V, a stan niski
pozwala na pro−
gramowanie procesora
poprzez wymuszenie
na wejściu RST napię−
cia +12V. Natomiast
wystąpienie na wyjściu
11 IC2 stanu wysok−
iego powoduje
odłączenie jakiegokol−
wiek napięcia od wejś−
cia RST i wyzerowanie
procesora.
Dioda LED służy
jedynie do wizualnej
kontroli pracy pro−
gramatora, włączając
się podczas każdej
wykonywanej
przez układ oper−
acji.
nien być wyposażony w podstawkę typu
ZIF (Zero Inserting Force) umożliwiającą
łatwą wymianę programowanych układów.
Jednak koszt takiej podstawki przekroczy
z pewnością koszt wszystkich pozostałych
elementów potrzebnych to budowy progra−
matora! Jeżeli więc macie zamiar programo−
wać procesory jedynie sporadycznie, do nie
warto kupować drogiej podstawki ZIF i za−
miast niej zastosować zwykłą podstawkę,
byle dobrej jakości (taki element będzie do−
starczany w kicie). Jeżeli jednak zdecyduje−
cie się na podstawkę ZIF, to należy ją zaku−
pić osobno.
Montaż układu przeprowadzamy w typo−
wy sposób, unikając wzorowania się na mo−
delu pokazanym na fotografii. Dlaczego? A
no, przez wrodzone mi roztargnienie zamo−
cowałem tam odwrotnie podstawkę ZIF tak,
że pomimo iż układ pracował poprawnie,
wkładanie procesorów do podstawki było
bardzo utrudnione (dźwignia zawadzała
o stabilizator napięcia i kondensator elektro−
lityczny).
Warto jeszcze poruszyć sprawę zasilania
zmontowanego układu. Z uwagi na stosowa−
ne w urządzeniu stabilizatory napięcia, musi−
my dostarczyć do niego napięcie stałe
z przedziału 13 ... 16VDC. Napięcie większe
może spowodować uszkodzenie lub wadliwe
działanie stabilizatora IC3, a mniejsze może
doprowadzić do obniżenia napięcia na wej−
ściu RST procesora poniżej 12V.
Rys. 2 Programowanie i weryfikacja
Montaż i uruchomienie
Na
rysunku 3
została pokazana mozaika
ścieżek płytki drukowanej, wykonanej
na laminacie dwustronnym z metalizacją
oraz rozmieszczenie na niej elementów.
Jeszcze przed rozpoczęciem montażu
powinniśmy chwilę się zastanowić i po−
wziąć ważną decyzję. Pomyślmy, jakie
są nasze zamiary na przyszłość i czy
chcemy opracowywać wiele układów
wykorzystujących procesory 89CX051?
W zasadzie każdy programator, do które−
go z założenia często wkładamy i wyj−
mujemy programowane układy powi−
Teraz możemy już wyjąć zaprogramowany
procesor z podstawki, wstawić go do urucha−
mianego układu, stwierdzić, że napisany pod−
czas nieprzespanej nocy program zawiera je−
szcze błędy, poprawić je i ... zacząć całą zaba−
wę od początku! Pocieszające jest tylko to, że
cały opisany wyżej algorytm programowania
wykonywany jest automatycznie przez kom−
puter w czasie nie dłuższym niż kilka sekund!
No tak, podczas opisywania algorytmu
programowania procesora 89C2051 przy oka−
zji wyczerpująco odpowiedzieliśmy na pyta−
nie “Jak to działa?”! Wszystkie dane transmi−
Rys. 2 Schemat montażowy
Elektronika dla Wszystkich
19
[ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl charloteee.keep.pl
★
★★
E m u l a t o r p r o c e s o r ó w
8 9 C X 0 5 1
★★
BASCOM College
W ramach programu BASCOM College
chciałbym zaproponować Moim Czytelni−
kom budowę jednego z najbardziej użytecz−
nych dla konstruktora urządzeń: emulatora
sprzętowego. Jednak zanim przejdziemy do
bardziej szczegółowego opisu proponowane−
go układu, etyka zawodowa nakazuje mi zło−
żyć następujące oświadczenie:
Emulator sprzętowy procesorów
89CX051, przeznaczony do współpracy z
kompilatorami BASCOM, został opra−
cowany przez firmę MCS Electronics i
GRIFO. Nie jestem autorem tego
urządzenia, a jedyną moją zasługą jest
zaprojektowanie płytki obwodu
drukowanego i przetestowanie układu.
Schemat emulatora został wykorzystany
za zgodą i aprobatą firmy GRIFO.
Emulator sprzętowy jest urządzeniem,
które nie tylko ułatwia tworzenie programów
na mikroprocesory. W wielu przypadkach po−
zwala on na pełne przetestowanie programu
i zaprojektowanego układu wyłącznie za po−
mocą komputera i odpowiedniego oprogra−
mowania, bez konieczności programowania
procesora. Mówiąc najprościej: komputer po−
łączony z uruchamianym urządzeniem za po−
mocą emulatora „udaje“, że jest włożonym
w podstawkę procesorem. Jakie to daje ko−
rzyści programiście? Ogromne, a przede
wszystkim znaczną oszczędność czasu. Pro−
cesory 89CX051 posiadają wprawdzie
2501
pamięć EEPROM, w której przechowywana
jest pamięć programu, ich programowanie
i przeprogramowywanie jest bardzo proste,
ale zawsze zajmuje cenny czas. Ponadto, pro−
gramator procesorów jest urządzeniem dość
kosztownym, a jego samodzielna budowa nie
należy do najprostszych zadań. Stosowanie
emulatorów programowego i sprzętowego
pozwala odwlec konieczność zaprogramowa−
nia procesora do ostatniej chwili, kiedy napi−
sany program będzie już wielokrotnie przete−
stowany i poprawiony. Emulator sprzętowy,
szczególnie w połączeniu z opisaną dalej
płytką prototypową, daje też dostęp do techni−
ki mikroprocesorowej kolejnej grupie hobby−
stów: Kolegom, którzy uwielbiają prace pro−
gramistyczne, ale wzięcie do ręki lutownicy
jest dla nich jedynie smutną koniecznością.
Powiedzmy sobie teraz kilka słów o moż−
liwościach i ograniczeniach proponowanego
układu. Może on współpracować z dwoma
programami – kompilatorami języka BASIC:
BASCOM−em i 8051. Sprawdziłem działanie
układu z obydwoma tymi programami i wy−
niki były więcej niż zachęcające
! Jednak
bez posiadania jed−
nego z wymienio−
nych programów
układ emulatora
jest całkowicie bez−
użyteczny!
Emulator pozwala
na symulację obecno−
ści w testowanym
układzie wyłącznie
procesorów
początkowym etapie działalności naszej szko−
ły programowania procesorów w języku
BASIC będziemy używać tylko tych proceso−
rów, wada nie wydaje się być zbyt uciążliwa.
Za pomocą naszego emulatora możemy
sprawdzić działanie
większości
funkcji wyko−
nywanych przez testowany program i projek−
towane urządzenie mikroprocesorowe.
Więk−
szości, nie wszystkich!
Ograniczeniem jest
szybkość pracy emulatora, już w założeniu
znacznie mniejsza od szybkości pracy proce−
sora. Tu w korzystnej sytuacji znajdą się
szczęśliwi posiadacze komputerów w nowo−
czesnej konfiguracji, wyposażonych w proce−
sory PENTIUM II lub lepsze. Im bowiem
szybszy procesor komputera, tym bardziej
emulacja mikroprocesora będzie odpowiadała
rzeczywistym warunkom pracy testowanego
układu.
Proponowany układ jest banalnie prosty
i łatwy do wykonania. Całkowicie odpowia−
da to trendom, które lansujemy w naszej
szkole programowana procesorów: prosty
hardware, a cały “rozum” urządzenia umie−
szczony jest w jego oprogramowaniu. Dlate−
go też do wykonania emulatora zachęcam na−
wet zupełnie początkujących konstruktorów,
a w szczególności tych, którzy nie za bardzo
lubią lutować, a cały wysiłek wkładają w pi−
sanie programów.
Rys. 4
typu
Jak to działa?
Na
rysunku 1
został pokazany schemat elek−
tryczny układu sprzętowego emulatora pro−
cesorów 89CX051. Jednak odpowiedź na po−
stawione wyżej pytanie będzie tym razem
dość trudna. Jak już wiecie, nie jestem auto−
rem tego układu i ... nie bardzo wiem, jak to
działa. Bez wnikania w zasady działania pro−
gramów BASCOM, które z kolei są tajemni−
cą producenta, możemy jedynie stwierdzić,
że przesyłanie informacji pomiędzy emulato−
rem a komputerem odbywa się zgodnie
AT89C2051
i AT89C4051.
Emu−
lacja jakichkolwiek
innych procesorów
nie jest możliwa
. Po−
nieważ jednak
umówiliśmy się, że na
Elektronika dla Wszystkich
15
BASCOM College
z protokołem transmisji danych w szynie I
2
C.
Do transferu danych wykorzystane
zostały dwa dwukierunkowe konwertery
I
2
C – 8−bitowa szyna danych. Emulator ob−
sługuje wszystkie wyprowadzenia procesora
z wyjątkiem wejść oscylatora kwarcowego
i wejścia RESET. Ważne jest, że wyprowa−
dzenia te nie są do niczego podłączone i że
podczas pracy z emulatorem nie musimy wy−
lutowywać z układu kwarcu, ani też zmieniać
niczego w układzie resetowania procesora.
Układ emulatora zasilany jest zawsze z te−
stowanego układu.
Montaż i uruchomienie
Na
rysunku 2
została pokazana mozaika
ścieżek płytki obwodu drukowanego, wyko−
nanego na laminacie dwustronnym z metali−
zacją. Montaż układu wykonujemy w typo−
wy sposób, rozpoczynając od wlutowania
w płytkę podstawek pod układy scalone,
a kończąc na zamontowaniu złącza CON2
i przewodu z wtykiem emulacyjnym.
Warto szerzej omówić sprawę montażu
wtyku emulacyjnego, co bynajmniej nie
jest tak proste, jak mogłoby się wydawać.
W zestawie znajduje się odcinek przewodu
taśmowego 20−żyłowego i dwa wtyki: je−
den, znany już nam wtyk zaciskany na
przewodzie taśmowym, który dołączymy
do złącza CON1 na płytce, i drugi, z wy−
glądu podobny do podstawki pod układ
scalony. Sposób zaciśnięcia na kablu
pierwszego z wtyków został już wyczerpu−
jąco opisany w jednym z poprzednich nu−
merów EdW, natomiast drugi wtyk, emula−
cyjny, jest dla nas jeszcze nowością. Prze−
glądając wykaz elementów uważni Czytel−
nicy z pewnością zauważyli, że wymienio−
na w nim jest podstawka typu DIL20, pod−
czas gdy na płytce nie ma miejsca na układ
o tej liczbie nóżek. Ta druga podstawka jest
tylko elementem pomocniczym do monta−
żu na kablu wtyku emulacyjnego i, nieste−
ty, ulegnie podczas tej operacji całkowite−
mu zniszczeniu. Kolejność postępowania
podczas montażu wtyku emulacyjnego bę−
dzie następująca:
1. Wtyk emulacyjny wkładamy do “dodatko−
wej” podstawki DIL20.
Rys. 1 Schemat ideowy emulatora
2. W szczelinę we wtyku emulacyjnym wsu−
wamy jeden koniec przewodu taśmowego.
3. Całość ściskamy w imadle aż do usłysze−
nie cichego trzasku, świadczącego o za−
mknięciu się wtyku emulacyjnego. Podczas
wykonywania tej czynności podstawka zo−
stanie całkowicie zniszczona, ale jest to jedy−
na pewna metoda zabezpieczenia końcówek
wtyku emulacyjnego przed uszkodzeniem.
Układ emulatora zmontowany ze spraw−
nych elementów nie wymaga już więcej ja−
kichkolwiek czynności i po dołączeniu do
portu drukarkowego komputera z zainstalo−
wanym jednym z programów BASCOM po−
winien działać poprawnie. Użytkowanie
emulatora opisane będzie dokładnie w cyklu
artykułów opisujących
program BASCOM i dla−
tego teraz podam Wam je−
dynie najpotrzebniejsze
informacje.
Wtyk emulacyjny
układu powinien zostać
umieszczony w testowa−
nym urządzeniu, zamiast
procesora. Badany układ
powinien być zasilany od−
powiednim dla niego na−
pięciem, tj. 5VDC. Po po−
łączeniu ze sobą (przy
wyłączonym zasilaniu)
trzech układów: kompute−
ra, emulatora i testowane−
go urządzenia włączamy zasilanie i urucha−
miamy na komputerze program BASCOM
LT lub BASCOM8051. Ładujemy program,
którego działanie chcemy sprawdzić, kompi−
lujemy go i uruchamiamy symulator.
Dalsze czynności zależne są od funkcji
wykonywanych przez testowany program.
Co jednak mają zrobić niecierpliwi kon−
struktorzy, którzy nie mają jeszcze przygoto−
wanego żadnego układu z procesorami
89CX051, ani płytki testowej, a chcieliby
przetestować działania emulatora? Można to
zrobić w bardzo prosty sposób.
Do podstawki DIL20 lutujemy “w pają−
ku” zgodnie z
rysunkiem 3
wyświetlacz
siedmiosegmentowy LED. Musi to być
Rys. 2 Schemat montażowy
Rys. 3
16
Elektronika dla Wszystkich
BASCOM College
wyświetlacz ze wspól−
ną katodą! Do podstaw−
ki dołączamy zasilanie
5VDC (nóżka 20 +,
nóżka 10 −) i łączymy ją
z emulatorem. Następ−
nie piszemy w edytorze
BASCOM−a króciutki
programik:
Po jego skompilowa−
niu uruchamiamy emu−
lator (rys.4) i obserwuje−
my zachowanie wyświe−
tlacza. Jeżeli zaczną się
na nim pojawiać cyfry
od 0 do 9 wyświetlane
w pętli, to nasz układ
emulatora możemy
uznać za sprawny i goto−
wy do testowania napi−
sanych programów.
Dim R As Byte 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim A As Word 'deklaracja zmiennej, niezbędna w dialekcie BASCOM
Dim Cyfra(10) As Byte 'deklaracja tablicy, niezbędna w dialekcie BASCOM
Cyfra (1) = 127
' definicja wyświetlania cyfry "0"
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
µ
F/10
C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R−pack SIL 10k
Ω
Półprzewodniki:
IC2, IC1 . . . . . . . . . . . . . . . . . . . . . . . . . . .PCF8574P
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
Pozostałe:
CON1 . . . . . .złącze zaciskane 20 pin lutowane w płytkę
CON2 . . . . . . . . . . . .złącze DB25/M lutowane w płytkę
Wtyk emulacyjny 20 pin
Przewód taśmowy ok. 1 mb
Podstawki pod układy scalone + podstawka DIL20
Goldpin 2 x 10 pin
Cyfra (2) = 6
' definicja wyświetlania cyfry "1"
Cyfra (3) = 155
' definicja wyświetlania cyfry "2"
Cyfra (4) = 143
' definicja wyświetlania cyfry "3"
Cyfra (5) = 166
' definicja wyświetlania cyfry "4"
Cyfra (6) = 173
' definicja wyświetlania cyfry "5"
Cyfra (7) = 189
' definicja wyświetlania cyfry "6"
Cyfra (8) = 7
' definicja wyświetlania cyfry "7"
Cyfra (9) = 191
' definicja wyświetlania cyfry "8"
Cyfra (10) = 175
' definicja wyświetlania cyfry "9"
Do
For R = 1 To 10
P3 = Cyfra (r)
Print R
For A = 1 To 1000 : Next A 'pętla opóźnienia zależna od szybkości komputera
Next R
Loop
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT−2501
Programator procesorów
89CX051
Jak już zapewne wiecie, sam program BAS−
COM to za mało: potrzebne są jeszcze proste
narzędzia hardware'owe umożliwiające mu
kontakt z procesorem. Jednym z tych narzę−
dzi jest opisany emulator sprzętowy, a dru−
gim, którym zajmiemy się teraz – programa−
tor, bez którego wykonywanie układów z mi−
kroprocesorami jest absolutnie niemożliwe.
Programator MCS Flash Programmer zo−
stał opracowany przez firmę MCS Electronics,
która w swej uprzejmości udzieliła mi zgody
nie tylko na publikację schematu programato−
ra, ale także na wykonanie płytki obwodu dru−
kowanego, przetestowanie układu i następnie
rozprowadzanie go pod postacią kitu.
Programator firmy MCS Electronics jest
urządzeniem wręcz uderzającym swą prostotą.
Zbudowany został z wykorzystaniem zaledwie
trzech tanich i bardzo łatwo dostępnych ukła−
dów scalonych i garstki elementów dyskret−
nych. Jego wykonanie jest absolutnie możliwe
nawet dla początkujących elektroników,
a układ nie wymaga jakiejkolwiek regulacji ani
uruchamiania. Jednak “coś za coś”, prostota
i taniość układu została okupiona dwoma, nie−
zbyt zresztą dokuczliwymi ograniczeniami:
2502
1.
Proponowany programator może
pracować wyłącznie z programem BA−
SCOM LT lub BASCOM8051.
2.
Za pomocą opisanego niżej urządze−
nia możemy programować wyłącznie pro−
cesory serii 89CX051, czyli 89C1051,
89C2051 i 89C4051.
Jak to działa?
Schemat elektryczny proponowanego układu
został pokazany na
rysunku 1
. Ponieważ
układ jest banalnie prosty i opisanie go nie
zajmie wiele miejsca, możemy poświecić
chwilę na sprecyzowanie, na czym właściwie
polega programowanie procesorów i jaki jest
jego algorytm w przypadku kostek rodziny
89CX051.
Zapewne wszyscy wiecie, że mikroproce−
sor sam jako taki nie “potrafi” dosłownie nic.
Aby go “ożywić’ i zmusić do wykonywania
niekiedy bardzo skomplikowanych czynno−
ści, potrzebny jest napisany przez człowieka
program, który musi zostać umieszczony
w miejscu łatwo “dostępnym” dla procesora.
Jeżeli jednak komuś z Was nie odpowiada
koncepcja budowy programatora o nieco
ograniczonych możliwościach, to w ofercie
AVT znajduje się uniwersalny programator
obsługujący całą rodzinę ’51, zaprojektowa−
ny przez Sławomira Surowińskiego. Jest to
kit AVT−320, idealne narzędzie dla bardziej
zaawansowanych konstruktorów.
Elektronika dla Wszystkich
17
BASCOM College
Każdy mikroprocesor musi dysponować
co najmniej dwoma rodzajami pamięci: pa−
mięcią programu i pamięcią danych. Jako pa−
mięć danych wykorzystuje się zwykle pamię−
ci RAM lub/i EEPROM, umieszczone na ze−
wnątrz lub wewnątrz procesora, natomiast pa−
mięcią programu jest z zasady pamięć stała,
obecnie najczęściej reprogramowalna (przy−
najmniej w procesorach stosowanych w kon−
strukcjach amatorskich). Dawniej jako repro−
gramowalną pamięć programu stosowano
zwykle wewnętrzne lub zewnętrzne pamięci
EPROM, obecnie coraz większe uznanie uzy−
skują pamięci EEPROM, których kasowanie
nie wymaga stosowania specjalnych urządzeń
i może odbywać się w każdym przystosowa−
nym do tego celu programatorze.
Zalety procesorów z pamięcią programu
typu EEPROM szczególnie powinni docenić
amatorzy. Taki procesor możemy przeprogra−
mowywać praktycznie w nieskończoność,
poprawiać napisany program i wpisywać do
jego pamięci nowy. Do tego celu potrzebny
nam jest jedynie programator, choćby tak ba−
nalnie prosty, jak opisywany w tym artykule.
Jakie czynności właściwie wykonuje pro−
gramator? Przyjrzyjmy się bliżej algorytmowi
programowania procesorów serii 89CX051.
Pomocą będzie też
rysunek 2
. Po umieszcze−
niu procesora przeznaczonego do zaprogra−
mowania w podstawce programatora muszą
zostać wykonane następujące czynności:
1.
Wymuszenie stanu niskiego na wejściu
RST na okres nie krótszy niż 10ms.
2.
Wymuszenie stanu wysokiego na wej−
ściach RST i P3.2.
3.
Ustawienie odpowiedniej kombinacji sta−
nów logicznych, właściwych dla funkcji,
która ma zostać wykonana na wejściach
P3.3, P3.4, P3.5 i P3.7. W tabeli poniżej ze−
stawione zostały wszystkie tryby pracy pro−
cesora podczas programowania i odpowiada−
jące im stany logiczne na wejściach portu P3.
4.
Programowanie i weryfikacja zapisanych
danych. Na wejściach portu P1 musi zostać
ustawiona kombinacja logiczna odpowiada−
jąca pierwszemu bajtowi wpisywanego do
pamięci programu (adres 000H).
5.
Dołączenie do wejścia RST napięcia do−
kładnie równego +12VDC.
6.
Podanie na wejście P3.2 krótkiego impul−
su ujemnego powodującego zapisanie bajtu
w pamięci.
Ω
R4, R5, R6 . . . . . . . . . . . . . . . . . . . . . . . . . . .3,3k
Ω
Półprzewodniki:
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED
D2 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 12V
D3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
D4 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 5,6V
IC1, IC2 . . . . . . . . . . . . . . . . . . . . . . .PCF8574 AP
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
IC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
T1, T2, T3 . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
Pozostałe:
CON1 . . . .złacze CENTRONICS 36 lutowane w płytkę
CON . . . . . . . . . . . . . . . . . . . . . . . . .ARK2 (3,5mm)
CON3 . . . . . . . . . . . . . .Podstawka DIL20 precyzyjna
Rys. 1 Schemat ideowy programatora
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT−2502
18
Elektronika dla Wszystkich
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
µ
F/16
C4, C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
µ
F/25
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R−PACK 10k
Ω
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
Ω
R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470
Ω
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2k
BASCOM College
7.
Aby zweryfikować zapisane dane (bajt),
należy teraz obniżyć napięcie na wejściu RST
do poziomu logicznej jedynki, ustawić odpo−
wiednią kombinację logiczną (odczyt danych)
na wejściach portu P3 i dokonać odczytu da−
nych z wyjść portu P1. (Uwaga, weryfikacja
danych może być także dokonana „hurtowo“:
po zapisaniu całej zawartości pamięci odczy−
tujemy cały program i porównujemy z orygi−
nałem znajdującym się na dysku komputera).
8.
Po sprawdzeniu poprawności zapisu baj−
tu zwiększamy wartość wewnętrznego licz−
nika pamięci programu o „1“ przez podanie
pojedynczego impulsu na wejście XTAL1.
9.
Powtarzamy operacje opisane w punktach
5 do 8 aż do zapisania całej zawartości pa−
mięci, czyli dla układu bagatelka: 2048 razy!
10.
Opcjonalnie wpisujemy do pamięci pro−
cesora bity zabezpieczające.
Ustawiamy stan niski na wejściu XTAL.
11.
Ustawiamy stan niski na wejściu RST.
12.
Odłączamy wszystkie wyprowadzenia
procesora.
Funkcja
RST
P3.2
P3.3
P3.4
P3.5
P3.7
Zapis danych
12V
IMP*) L
H
H
H
Odczyt danych
H
H
L
L
H
H
Protekcja – bit 1
12V
IMP
H
H
H
H
Protekcja – bit 2
12V
IMP
H
H
L
L
Kasowanie
12V
IMP
H
L
L
L
Odczyt sygnatury
H
H
L
L
L
L
*) IMP− ujemny impuls 1 ms (kasowanie 10 ms)
towane są z komputera poprzez cztery linie
złącza CENTRONICS i przekazywane na
wejścia procesora za pośrednictwem interfej−
sów linia I
2
C – wyjście równoległe, wykorzy−
stujących popularne układy PCF8574.
Wyjaśnienia może wymagać jeszcze sprawa
układu z tranzystorami T1 ... T3. Ten fragment
układu nie jest niczym innym jak programowanym
stabilizatorem, dostarczającym napięć potrzebnych
do sterowania wejściem RST programowanego
procesora. Napięcia przełączane są stanem na linii
5/12 wyprowadzonej z wyjścia 12 IC2. Stan
wysoki na tym wyjściu
powoduje dostarczenie
do wejścia RST proce−
sora napięcia równego
5V, a stan niski
pozwala na pro−
gramowanie procesora
poprzez wymuszenie
na wejściu RST napię−
cia +12V. Natomiast
wystąpienie na wyjściu
11 IC2 stanu wysok−
iego powoduje
odłączenie jakiegokol−
wiek napięcia od wejś−
cia RST i wyzerowanie
procesora.
Dioda LED służy
jedynie do wizualnej
kontroli pracy pro−
gramatora, włączając
się podczas każdej
wykonywanej
przez układ oper−
acji.
nien być wyposażony w podstawkę typu
ZIF (Zero Inserting Force) umożliwiającą
łatwą wymianę programowanych układów.
Jednak koszt takiej podstawki przekroczy
z pewnością koszt wszystkich pozostałych
elementów potrzebnych to budowy progra−
matora! Jeżeli więc macie zamiar programo−
wać procesory jedynie sporadycznie, do nie
warto kupować drogiej podstawki ZIF i za−
miast niej zastosować zwykłą podstawkę,
byle dobrej jakości (taki element będzie do−
starczany w kicie). Jeżeli jednak zdecyduje−
cie się na podstawkę ZIF, to należy ją zaku−
pić osobno.
Montaż układu przeprowadzamy w typo−
wy sposób, unikając wzorowania się na mo−
delu pokazanym na fotografii. Dlaczego? A
no, przez wrodzone mi roztargnienie zamo−
cowałem tam odwrotnie podstawkę ZIF tak,
że pomimo iż układ pracował poprawnie,
wkładanie procesorów do podstawki było
bardzo utrudnione (dźwignia zawadzała
o stabilizator napięcia i kondensator elektro−
lityczny).
Warto jeszcze poruszyć sprawę zasilania
zmontowanego układu. Z uwagi na stosowa−
ne w urządzeniu stabilizatory napięcia, musi−
my dostarczyć do niego napięcie stałe
z przedziału 13 ... 16VDC. Napięcie większe
może spowodować uszkodzenie lub wadliwe
działanie stabilizatora IC3, a mniejsze może
doprowadzić do obniżenia napięcia na wej−
ściu RST procesora poniżej 12V.
Rys. 2 Programowanie i weryfikacja
Montaż i uruchomienie
Na
rysunku 3
została pokazana mozaika
ścieżek płytki drukowanej, wykonanej
na laminacie dwustronnym z metalizacją
oraz rozmieszczenie na niej elementów.
Jeszcze przed rozpoczęciem montażu
powinniśmy chwilę się zastanowić i po−
wziąć ważną decyzję. Pomyślmy, jakie
są nasze zamiary na przyszłość i czy
chcemy opracowywać wiele układów
wykorzystujących procesory 89CX051?
W zasadzie każdy programator, do które−
go z założenia często wkładamy i wyj−
mujemy programowane układy powi−
Teraz możemy już wyjąć zaprogramowany
procesor z podstawki, wstawić go do urucha−
mianego układu, stwierdzić, że napisany pod−
czas nieprzespanej nocy program zawiera je−
szcze błędy, poprawić je i ... zacząć całą zaba−
wę od początku! Pocieszające jest tylko to, że
cały opisany wyżej algorytm programowania
wykonywany jest automatycznie przez kom−
puter w czasie nie dłuższym niż kilka sekund!
No tak, podczas opisywania algorytmu
programowania procesora 89C2051 przy oka−
zji wyczerpująco odpowiedzieliśmy na pyta−
nie “Jak to działa?”! Wszystkie dane transmi−
Rys. 2 Schemat montażowy
Elektronika dla Wszystkich
19
[ Pobierz całość w formacie PDF ]