Programator procesorów
Programator procesorów
89CX051
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Ä™-
2502
2502
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 1. Proponowany programator może Jak to działa?
nie tylko na publikację schematu programato- pracować wyłącznie z programem BA- Schemat elektryczny proponowanego układu
ra, ale także na wykonanie płytki obwodu dru- SCOM LT lub BASCOM8051. został pokazany na rysunku 1. Ponieważ
kowanego, przetestowanie układu i następnie 2. Za pomocą opisanego niżej urządze- układ jest banalnie prosty i opisanie go nie
rozprowadzanie go pod postacią kitu. nia możemy programować wyłącznie pro- zajmie wiele miejsca, możemy poświecić
Programator firmy MCS Electronics jest cesory serii 89CX051, czyli 89C1051, chwilę na sprecyzowanie, na czym właściwie
urządzeniem wręcz uderzającym swą prostotą. 89C2051 i 89C4051. polega programowanie procesorów i jaki jest
Zbudowany został z wykorzystaniem zaledwie jego algorytm w przypadku kostek rodziny
trzech tanich i bardzo łatwo dostępnych ukła- Jeżeli jednak komuś z Was nie odpowiada 89CX051.
dów scalonych i garstki elementów dyskret- koncepcja budowy programatora o nieco Zapewne wszyscy wiecie, że mikroproce-
nych. Jego wykonanie jest absolutnie możliwe ograniczonych możliwościach, to w ofercie sor sam jako taki nie potrafi dosłownie nic.
nawet dla początkujących elektroników, AVT znajduje się uniwersalny programator Aby go ożywić i zmusić do wykonywania
a układ nie wymaga jakiejkolwiek regulacji ani obsługujący całą rodzinę 51, zaprojektowa- niekiedy bardzo skomplikowanych czynno-
uruchamiania. Jednak coś za coś , prostota ny przez Sławomira Surowińskiego. Jest to ści, potrzebny jest napisany przez człowieka
i taniość układu została okupiona dwoma, nie- kit AVT-320, idealne narzędzie dla bardziej program, który musi zostać umieszczony
zbyt zresztą dokuczliwymi ograniczeniami: zaawansowanych konstruktorów. w miejscu łatwo dostępnym dla procesora.
Elektronika dla Wszystkich
17
BASCOM College
Każdy mikroprocesor musi dysponować gramowalną pamięć programu stosowano mowywać praktycznie w nieskończoność,
co najmniej dwoma rodzajami pamięci: pa- zwykle wewnętrzne lub zewnętrzne pamięci poprawiać napisany program i wpisywać do
mięcią programu i pamięcią danych. Jako pa- EPROM, obecnie coraz większe uznanie uzy- jego pamięci nowy. Do tego celu potrzebny
mięć danych wykorzystuje się zwykle pamię- skują pamięci EEPROM, których kasowanie nam jest jedynie programator, choćby tak ba-
ci RAM lub/i EEPROM, umieszczone na ze- nie wymaga stosowania specjalnych urządzeń nalnie prosty, jak opisywany w tym artykule.
wnątrz lub wewnątrz procesora, natomiast pa- i może odbywać się w każdym przystosowa- Jakie czynności właściwie wykonuje pro-
mięcią programu jest z zasady pamięć stała, nym do tego celu programatorze. gramator? Przyjrzyjmy się bliżej algorytmowi
obecnie najczęściej reprogramowalna (przy- Zalety procesorów z pamięcią programu programowania procesorów serii 89CX051.
najmniej w procesorach stosowanych w kon- typu EEPROM szczególnie powinni docenić Pomocą będzie też rysunek 2. Po umieszcze-
strukcjach amatorskich). Dawniej jako repro- amatorzy. Taki procesor możemy przeprogra- 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.
Wykaz elementów
Kondensatory:
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C4, C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Rezystory:
RP1 . . . . . . . . . . . . . . . . . . . . . . . . .R-PACK 10k&!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
P
1
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 &!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470 &!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2k&!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R4, R5, R6 . . . . . . . . . . . . . . . . . . . . . . . . . . .3,3k&!
R
R
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Półprzewodniki:
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
D2 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 12V
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Z
1
D3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
D4 . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 5,6V
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Z
5
IC1, IC2 . . . . . . . . . . . . . . . . . . . . . . .PCF8574 AP
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
IC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74LS05
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T1, T2, T3 . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
T
T
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Pozostałe:
CON1 . . . .złacze CENTRONICS 36 lutowane w płytkę
.
.
.
.
C
3
l
w
p
CON . . . . . . . . . . . . . . . . . . . . . . . . .ARK2 (3,5mm)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
CON3 . . . . . . . . . . . . . .Podstawka DIL20 precyzyjna
.
.
.
.
.
.
.
.
.
.
.
.
.
.
D
p
Komplet podzespołów z płytką jest
dostępny w sieci handlowej AVT jako
kit szkolny AVT-2502
Rys. 1 Schemat ideowy programatora
Elektronika dla Wszystkich
18
BASCOM College
7. Aby zweryfikować zapisane dane (bajt),
Funkcja RST P3.2 P3.3 P3.4 P3.5 P3.7
należy teraz obniżyć napięcie na wejściu RST
Zapis danych 12V IMP*) L H H H
do poziomu logicznej jedynki, ustawić odpo-
Odczyt danych H H L L H H
wiedniÄ… kombinacjÄ™ logicznÄ… (odczyt danych)
Protekcja bit 1 12V IMP H H H H
na wejściach portu P3 i dokonać odczytu da-
Protekcja bit 2 12V IMP H H L L
nych z wyjść portu P1. (Uwaga, weryfikacja
Kasowanie 12V IMP H L L L
danych może być także dokonana hurtowo :
Odczyt sygnatury H H L L L L
po zapisaniu całej zawartości pamięci odczy-
tujemy cały program i porównujemy z orygi-
*) IMP- ujemny impuls 1 ms (kasowanie 10 ms)
nałem znajdującym się na dysku komputera).
8. Po sprawdzeniu poprawności zapisu baj-
tu zwiększamy wartość wewnętrznego licz- towane są z komputera poprzez cztery linie nien być wyposażony w podstawkę typu
nika pamięci programu o 1 przez podanie złącza CENTRONICS i przekazywane na ZIF (Zero Inserting Force) umożliwiającą
pojedynczego impulsu na wejście XTAL1. wejścia procesora za pośrednictwem interfej- łatwą wymianę programowanych układów.
9. Powtarzamy operacje opisane w punktach sów linia I2C wyjście równoległe, wykorzy- Jednak koszt takiej podstawki przekroczy
5 do 8 aż do zapisania całej zawartości pa- stujących popularne układy PCF8574. z pewnością koszt wszystkich pozostałych
mięci, czyli dla układu bagatelka: 2048 razy! Wyjaśnienia może wymagać jeszcze sprawa elementów potrzebnych to budowy progra-
10. Opcjonalnie wpisujemy do pamięci pro- układu z tranzystorami T1 ... T3. Ten fragment matora! Jeżeli więc macie zamiar programo-
cesora bity zabezpieczające. układu nie jest niczym innym jak programowanym wać procesory jedynie sporadycznie, do nie
Ustawiamy stan niski na wejściu XTAL. stabilizatorem, dostarczającym napięć potrzebnych warto kupować drogiej podstawki ZIF i za-
11. Ustawiamy stan niski na wejściu RST. do sterowania wejściem RST programowanego miast niej zastosować zwykłą podstawkę,
12. Odłączamy wszystkie wyprowadzenia procesora. Napięcia przełączane są stanem na linii byle dobrej jakości (taki element będzie do-
procesora. 5/12 wyprowadzonej z wyjścia 12 IC2. Stan starczany w kicie). Jeżeli jednak zdecyduje-
wysoki na tym wyjściu cie się na podstawkę ZIF, to należy ją zaku-
powoduje dostarczenie pić osobno.
do wejścia RST proce- Montaż układu przeprowadzamy w typo-
sora napięcia równego wy sposób, unikając wzorowania się na mo-
5V, a stan niski delu pokazanym na fotografii. Dlaczego? A
pozwala na pro- no, przez wrodzone mi roztargnienie zamo-
gramowanie procesora cowałem tam odwrotnie podstawkę ZIF tak,
poprzez wymuszenie że pomimo iż układ pracował poprawnie,
na wejściu RST napię- wkładanie procesorów do podstawki było
cia +12V. Natomiast bardzo utrudnione (dzwignia zawadzała
wystąpienie na wyjściu o stabilizator napięcia i kondensator elektro-
11 IC2 stanu wysok- lityczny).
iego powoduje Warto jeszcze poruszyć sprawę zasilania
odłączenie jakiegokol- zmontowanego układu. Z uwagi na stosowa-
wiek napięcia od wejś- ne w urządzeniu stabilizatory napięcia, musi-
cia RST i wyzerowanie my dostarczyć do niego napięcie stałe
procesora. z przedziału 13 ... 16VDC. Napięcie większe
Dioda LED służy może spowodować uszkodzenie lub wadliwe
jedynie do wizualnej działanie stabilizatora IC3, a mniejsze może
kontroli pracy pro- doprowadzić do obniżenia napięcia na wej-
gramatora, włączając ściu RST procesora poniżej 12V.
się podczas każdej
wykonywanej
przez układ oper-
acji.
Rys. 2 Programowanie i weryfikacja
Montaż i uruchomienie
Teraz możemy już wyjąć zaprogramowany Na rysunku 3 została pokazana mozaika
procesor z podstawki, wstawić go do urucha- ścieżek płytki drukowanej, wykonanej
mianego układu, stwierdzić, że napisany pod- na laminacie dwustronnym z metalizacją
czas nieprzespanej nocy program zawiera je- oraz rozmieszczenie na niej elementów.
szcze błędy, poprawić je i ... zacząć całą zaba- Jeszcze przed rozpoczęciem montażu
wę od początku! Pocieszające jest tylko to, że powinniśmy chwilę się zastanowić i po-
cały opisany wyżej algorytm programowania wziąć ważną decyzję. Pomyślmy, jakie
wykonywany jest automatycznie przez kom- są nasze zamiary na przyszłość i czy
puter w czasie nie dłuższym niż kilka sekund! chcemy opracowywać wiele układów
No tak, podczas opisywania algorytmu wykorzystujÄ…cych procesory 89CX051?
programowania procesora 89C2051 przy oka- W zasadzie każdy programator, do które-
zji wyczerpująco odpowiedzieliśmy na pyta- go z założenia często wkładamy i wyj-
nie Jak to działa? ! Wszystkie dane transmi- mujemy programowane układy powi- Rys. 2 Schemat montażowy
Elektronika dla Wszystkich
19
Wyszukiwarka
Podobne podstrony:
avt 871 Programator procesorów AVR przez BASCOMzestaw uruchominiowy dla procesorów 89Cx051 i AVRavt 515 Programator mikrokontrolerów AVR i AT89S8252programator procesorów AVR 1avt 868 Programowalny zegar z LCD proc 89programator procesorów AVR 2Emulator procesorów 89cx051Programator procesorów 51 firmy Atmel README2cw 3 programowanie procesowProgramator procesorów 51 firmy Atmel READMEavt 524 Programator USB mikrokontrolerów ATmega ISPBACSOM College, czyli Szkoła Programowania Procesorów, cz 1więcej podobnych podstron