Programator mikrokontrolerów ATMEL AT89C2051 1051


P R O J E K T Y Z A G R A N I C Z N E
PROJ EKT Y Z AGRANI CZ NE
Programator
mikrokontrolerów
Atmel AT89C2051/1051
Bardzo uÅ‚yteczne i nadajÄ…ce siÍ Mimo Å‚e implementacje sÄ… rÛÅ‚-
Układy AT89 stanowią
do wykorzystania w rÛÅ‚nych za- ne (zwÅ‚aszcza dotyczy to strony
dobrÄ… alternatywÍ dla
stosowaniach procesory Atmel ukÅ‚adowej), zarÛwno ukÅ‚ad jak
mikrokontrolerÛw PIC, jeÅ›li
AT89C2051/1051 nalełą do rodzi- i oprogramowanie powinny byĘ
niezbÍdne sÄ… bardziej
ny 8051. Wyposałone są w we- funkcjonalnie zgodne z opisanymi
rozbudowane polecenia
wnÍtrznÄ… pamiÍĘ PEROM flash w nocie aplikacyjnej. Uwaga: opi-
i mołliwośĘ sterowania.
(ang. Programmable and Erasable sywany programator nie wspÛÅ‚-
W artykule prezentujemy
Read Only Memory), ktÛra moÅ‚e pracuje z ukÅ‚adami o 40 wypro-
układ prostego programatora
byĘ ponad tysiąckrotnie przepro- wadzeniach (AT89C51/52).
procesorÛw AT89, dziÍki
gramowana. Przeprogramowanie
ktÛremu bÍdzie moÅ‚na bez
takiej pamiÍci trwa kilka sekund Tryby programowania
trudu rozpocząĘ tworzenie i nie wymaga długotrwałego etapu Układy 2051/1051 mogą byĘ
kasowania jej zawartoÅ›ci przy po- programowane w rÛÅ‚ny sposÛb.
przy ich pomocy własnych
mocy ultrafioletu. Procesory te sÄ… Tryby programowania sÄ… ustalane
projektÛw.
montowane w obudowach 20-nÛÅ‚- poprzez podanie sygnaÅ‚Ûw steru-
kowych. jÄ…cych na wyprowadzenia P3.3 -
Opisany w artykule programa- P.3.7 (rys. 1 i tab. 1).
tor wspÛÅ‚pracuje z komputerem
PC przez port rÛwnolegÅ‚y. Oprog- Read Signature Data -
Dane układu AT89C2051:
ramowanie dziaÅ‚a w Å›rodowisku Odczyt bajtÛw sygnatury
zgodność z MCS-51;
DOS, co pozwala na jego ułycie Trzy bajty są zaprogramowane
2kB reprogramowalnej pamięci flash, do 1000
w niemal wszystkich wspÛÅ‚czes- przez producenta i umoÅ‚liwiajÄ…
cykli kasowanie/zapis;
zakres napięć zasilania 2,7V..6V; nych komputerach PC. identyfikacjÍ procesora:
zakres częstotliwości zegara 0..24MHz;
Aby programator mÛgÅ‚ dziaÅ‚aĘ Bajt 1 - okreÅ›la producenta
podwójna blokada pamięci programu;
we wszystkich przewidzianych (1EH - Atmel)
wewnętrzna pamięć RAM 128*8 bitów;
trybach pracy, port rÛwnolegÅ‚y Bajt 2 - okreÅ›la typ ukÅ‚adu
15 programowanych linii we/wy;
komputera powinien zostaĘ skon- (21H - 2051, 11H - 1051)
dwa 16-bitowe liczniki/timery;
sześć zródeł przerwań;
figurowany do pracy w trybie 8- Bajt 3 - okreÅ›la napiÍcie
programowalne złącze szeregowe UART;
bitowego portu dwukierunkowego programujÄ…ce (FFH - 12V)
możliwość bezpośredniego sterowania diod
(nazywanego takłe trybem PS/2).
LED;
Zmiany konfiguracji dokonaĘ moł- Write Code Data
wbudowany komparator analogowy;
2 tryby pracy z niskim poborem mocy (ang. na modyfikujÄ…c ustawienia BIOS- - Zapis programu
Idle oraz Power Down).
u podczas procedury startowej W procesie tym jest dokonywa-
komputera. Przydatny przy tym ny zapis kodu do pamiÍci PE-
bÍdzie podrÍcznik uÅ‚ytkownika ROM. Przed rozpoczÍciem zapisu
komputera. naleÅ‚y usunąĘ zawartośĘ pamiÍci
Hardware i oprogramowanie zo- (po skasowaniu stany wszystkich
staÅ‚y zaprojektowane w oparciu komÛrek wynoszÄ… FFH), co jest
o informacje podane w nocie ap- realizowane w sposÛb elektrycz-
likacyjnej firmy Atmel (informacje ny, bez potrzeby uływania kasow-
w odpowiednim podrÍczniku, CD nika ultrafioletowego.
lub na stronie internetowej Podczas programowania w we-
www.atmel.com). wnÍtrznym liczniku znajduje siÍ
Tab. 1.
Tryb programowania P3.2 P3.3 P3.3 P3.4 P3.5 P3.7
Zapis kodu 12V !CLK L H H H
Odczyt kodu H H L L H H
Zapis Lock 1 12V !CLK H H H H
Zapis Lock 2 12V !CLK H H L L
Kasowanie 12V !CLK H L L L
Sygnatura H H L L L L
Elektronika Praktyczna 6/99
13
P R O J E K T Y Z A G R A N I C Z N E
zawartoÅ›ci pamiÍci, w tym takÅ‚e
bajtÛw blokady.
- READ SIGNATURE - wyprowa-
dzenie na ekran zawartości bi-
tÛw identyfikujÄ…cych.
- PROGRAM - zaprogramowanie
układu zawartością podanego
zbioru.
- PROGRAM LOCK - blokada pro-
gramowania i odczytu.
- VERIFY - odczyt zawartości pa-
miÍci i porÛwnanie z zawartoÅ›-
ciÄ… podanego zbioru.
Rys. 1. Konfiguracja wyprowadzeń i przepływ informacji podczas odczytu
- SAVE - Odczyt zawartości pa-
i programowania układów AT89C2051/1051.
miÍci i zapis w postaci zbioru
bieÅ‚Ä…cy adres, inkrementowany po napiÍcia programujÄ…cego. ZaleÅ‚- binarnego.
zaprogramowaniu kaÅ‚dej komÛrki, noÅ›ci czasowe cykli programowa-
aÅ‚ do zapeÅ‚nienia pamiÍci mikro- nia sÄ… kontrolowane przez pro- Wykonanie
kontrolera. gram komputerowy. Schemat rozmieszczenia ele-
UkÅ‚ad przedstawiony jest na mentÛw oraz mozaikÍ Å›cieÅ‚ek dru-
Chip Erase rys. 2. CałośĘ operacji kodowania ku płytki programatora przedsta-
- Kasowanie PamiÍci i dekodowania realizuje prepro- wia rys. 3.
W tym trybie caÅ‚a zawartośĘ gramowany ukÅ‚ad PLD (IC3). Na pÅ‚ytce znajduje siÍ kilka
pamiÍci PEROM oraz oba bity Nadajnik szyny LS245 (IC1) wÄ…skich Å›cieÅ‚ek i maÅ‚ych punk-
blokujÄ…ce zostajÄ… skasowane. Jest stanowi bufor linii danych, ponie- tÛw, a wiÍc naleÅ‚y zachowaĘ os-
to operacja niezbÍdna przed przy- waÅ‚ niektÛre z kart I/O PC posia- troÅ‚nośĘ przy samodzielnym wy-
stÄ…pieniem do programowania. Po dajÄ… w porcie rÛwnolegÅ‚ym rezys- konywaniu otworÛw. Do wykony-
skasowaniu stany komÛrek powin- tory podciÄ…gajÄ…ce i programator wania otworÛw naleÅ‚y uÅ‚ywaĘ
ny wynosiĘ FFH. musi zapewniĘ prąd o dostatecz- odpowiednio dobranych wierteł
nie wysokim natÍÅ‚eniu. (0,8mm w przypadku otworÛw
Read Code Bufor HC240 (IC5) odcina syg- pod układy IC1, IC3, IC4, tran-
- Odczyt Programu nały sterujące od programowanego zystory, rezystory i kondensatory,
ZawartośĘ pamiÍci PEROM mo- ukÅ‚adu podczas sekwencji starto- a 1,2mm w przypadku IC2 i IC4
łe zostaĘ odczytana, pod warun- wej. oraz 1mm w przypadku złącz).
kiem, Å‚e drugi bit blokady nie jest NapiÍcie programujÄ…ce moÅ‚e JeÅ›li zaistnieje potrzeba wyluto-
ustawiony. MoÅ‚liwośĘ odczytania przyjmowaĘ wartoÅ›ci 0V, 5V wania ktÛregokolwiek z podzespo-
zawartoÅ›ci pamiÍci moÅ‚e byĘ przy- i 12V. NapiÍĘ tych dostarcza sta- Å‚Ûw, to naleÅ‚y doprowadzaĘ jak
datna podczas weryfikacji oprog- bilizator LM317T (IC4), a tranzys- najmniej ciepła, poniewał ściełki
ramowania, a takłe do skopiowa- tory TR1 i TR2 pozwalają na ich mogą ulec oderwaniu od płytki.
nia programu do innego mikro- przeÅ‚Ä…czanie. Przed montaÅ‚em elementÛw na-
kontrolera, gdy nie dysponujemy leły wlutowaĘ zworki, zwłaszcza
zbiorem zawierajÄ…cym ten pro- Opis oprogramowania tÍ, ktÛra znajduje siÍ pod ukÅ‚a-
gram. Zalełności czasowe cykli pro- dem IC3.
gramowania sÄ… kontrolowane Na schemacie przewidziano
Write Lock Bits przez oprogramowanie. Aby unie- uÅ‚ycie dwÛch rÛÅ‚nych rodzajÛw
- Zapis BitÛw Blokady zaleÅ‚niĘ oprogramowanie od sys- rezystorÛw - standardowych i mi-
ZawartośĘ pamiÍci PEROM jest temu, wszystkie opÛünienia sÄ… niaturowych 0,125W. JeÅ›li wystÄ…-
niedostÍpna po zaprogramowaniu generowane przez timer kompute- piÄ… trudnoÅ›ci ze zdobyciem takich
bitÛw blokady. Ustawienie pierw- ra. rezystorÛw, moÅ‚na wlutowaĘ pio-
szego bitu blokady uniemołliwia Oprogramowanie jest oparte na nowo rezystory standardowe.
dalsze programowanie układu, na- algorytmie przedstawionym w no- Montując moduł oporowy
tomiast ustawienie drugiego bitu cie aplikacyjnej firmy Atmel. (R14..R21) naleÅ‚y pamiÍtaĘ o jego
blokady - uniemołliwia odczyt Wprowadzono w nim jednak pew- prawidłowym ustawieniu (kropka
zawartoÅ›ci pamiÍci, zapobiegajÄ…c ne zmiany i ulepszenia. Najistot- na obudowie przy wyprowadze-
kopiowaniu zawartoÅ›ci lub prÛbie niejsza zmiana polega na umoÅ‚- niu 1).
odtworzenia programu asemblero- liwieniu odczytu przez program Podstawka IC6 powinna byĘ
wego. zbiorÛw w postaci binarnej i w ko- typu ZIF, poniewaÅ‚ wkÅ‚adany
dzie Intela (mogÄ… to byĘ zbiory w niÄ… bÍdzie programowany
Opis układu z niesekwencyjnym adresowaniem układ. Podstawki ZIF posiadają
Hardware zawiera interfejs miÍ- - na ktÛrych odczyt nie pozwalajÄ… na ogÛÅ‚ wiÍcej niÅ‚ 20 wyprowa-
dzy portem rÛwnolegÅ‚ym kompu- niektÛre programy konwersji). dzeÒ i moÅ‚e okazaĘ siÍ konieczne
tera PC a programowanym ukła- Oprogramowanie zapewnia wy- wstawienie jej w zwykłą podstaw-
dem oraz zapewnia doprowadze- konanie nastÍpujÄ…cych operacji: kÍ. Pod ukÅ‚ady IC1, IC3 i IC5
nie właściwego dla danego układu - ERASE DEVICE - skasowanie stosujemy podstawki standardo-
Elektronika Praktyczna 6/99
14
P R O J E K T Y Z A G R A N I C Z N E
Obudowa 25-kontakto-
wego złącza typu D (SK1)
powinna zostaĘ uziemiona
przy jednym z punktÛw za-
mocowania. PÅ‚ytka jest Å‚Ä…-
czona z komputerem PC
standardowym, 25-łyło-
wym przewodem drukarki,
zakoÒczonym z obu stron
mÍskimi wtykami D.
Programator wymaga za-
silania ze ürÛdÅ‚a o napiÍ-
ciu od 14,5V do 18V i ob-
ciąłalności 200mA. Zaleca-
ne jest ułycie małego ada-
ptera sieciowego.
Programator mołna
umieściĘ w obudowie, choĘ
nie jest to konieczne. Wy-
bÛr pozostawiono wykonu-
jÄ…cemu projekt. Uwaga: jeÅ›-
li jednak zdecydujemy siÍ
na obudowÍ, naleÅ‚y uÅ‚yĘ
podstawki ZIF o długich
wyprowadzeniach, tak aby
wystawała z obudowy.
Sprawdzenie
Przed podjÍciem prÛby
programowania mikrokont-
rolerÛw naleÅ‚y sprawdziĘ,
czy:
- w układzie wlutowane zo-
stały wszystkie zworki;
- na płytce nie ma kropel
cyny;
- wszystkie elementy
o określonej polaryzacji zo-
stały prawidłowo wlutowa-
ne.
Jeśli wszystko wygląda
poprawnie, naleły włączyĘ
zasilanie płytki nie wsta-
wiając w nią układu prze-
znaczonego do zaprogra-
mowania i nie Å‚Ä…czÄ…c jej
z komputerem. Naleły
zmierzyĘ pobÛr prÄ…du, ktÛ-
ry powinien wynieśĘ około
100mA. Jeśli tak nie jest,
wyłączamy zasilanie i po-
nownie sprawdzamy układ.
Eksploatacja
programatora
Rys. 2. Schemat ideowy programatora układów AT89C2051/1051.
OpierajÄ…c siÍ na instruk-
we. Podczas lutowania podstawki powinny zostaĘ wlutowane piono- cji ułytkowania komputera naleły
ukÅ‚adu IC3 naleÅ‚y zachowaĘ wo, a powierzchnie metalowe ich upewniĘ siÍ, czy port rÛwnolegÅ‚y
szczegÛlnÄ… ostroÅ‚nośĘ, poniewaÅ‚ obudÛw winny byĘ zwrÛcone jest skonfigurowany do pracy
Å›cieÅ‚ki sÄ… w tym przypadku bar- w stronÍ pÅ‚ytki. W przypadku sta- w trybie dwukierunkowym 8-bito-
dzo wÄ…skie. PodstawkÍ tÍ naleÅ‚y bilizatora IC2 moÅ‚e byĘ potrzebny wym.
wlutowaĘ zgodnie z rysunkiem niewielki radiator, aczkolwiek JeÅ›li port znajduje siÍ na kar-
(Å›ciÍty rÛg). w przypadku prototypu nie zostaÅ‚ cie I/O, moÅ‚e okazaĘ siÍ koniecz-
Stabilizatory napiÍcia IC2 i IC4 on zastosowany. ne przestawienie zworki. JeÅ›li
Elektronika Praktyczna 6/99
15
P R O J E K T Y Z A G R A N I C Z N E
karty nie moÅ‚na skonfigurowaĘ do NastÍpnie naleÅ‚y wÅ‚Ä…czyĘ prze-
WYKAZ ELEMENTÓW
pracy dwukierunkowej, programo- wÛd drukarki w gniazdo progra-
Rezystory
wanie mikrokontrolerÛw bÍdzie matora, wstawiĘ przeznaczony do
(0,25W - o ile nie podano inaczej)
nadal mołliwe, ale polecenia VE- zaprogramowania mikrokontroler
R1..R4: 10k&!
RIFY i READ SIGNATURE nie w podstawkÍ ZIF i wÅ‚Ä…czyĘ zasi-
R5, R11: 2,2k&!
bÍdÄ… funkcjonowaĘ. Karty I/O sÄ… lanie programatora. UWAGA: za-
R6, R9: 1k&!
jednak na tyle tanie, łe mołna silanie programatora musi bez-
R7: 270&!
ewentualnie nabyĘ nowÄ…. Po skon- wzglÍdnie zostaĘ wyÅ‚Ä…czone przed
figurowaniu portu moÅ‚na podjąĘ wstawieniem lub wyjÍciem z pÅ‚yt- R8: 100k&!
prÛbÍ zaprogramowania mikrokon- ki programowanego ukÅ‚adu! R10: 4,7k&!
trolera. Jako opcjÍ domyÅ›lnÄ… program R12: 1k&!
Naleły włączyĘ kabel w wolny wybiera układ 2051. Typ układu
R13: 100&!
port drukarki (LPT1 lub LPT2). Po mołna zmieniĘ naciskając klawisz
RM1: 9 x 10k&! - R-pack
zgÅ‚oszeniu siÍ DOS-u uruchomiĘ 1 (1051) lub 2 (2051), co spowo-
Kondensatory
program PROG51. W linii rozka- duje zmianÍ pierwszej linii menu.
C1: 82pF, ceramiczny
zowej naleÅ‚y podaĘ informacjÍ JeÅ›li w podstawce ZIF znajduje
C2, C3, C6, C7, C8: 100pF
o numerze uÅ‚ytego portu drukar- siÍ ukÅ‚ad, moÅ‚na w sposÛb auto-
C4: 47µF/10V
ki, np. w przypadku LPT1 naleły matyczny odczytaĘ jego typ, przez
C5: 47µF/25V
podaĘ polecenie . Pro- naciÅ›niÍcie klawisza R wywoÅ‚ujÄ…c
Półprzewodniki
gram powinien zostaĘ uruchomio- polecenie READ SIGNATURE. Baj-
TR1: BF549
ny przed podłączeniem programa- ty sygnatury zostaną wyprowadzo-
TR2: BC557
tora, a port zostaje wyzerowany. ne na ekran, a właściwy typ ukła-
IC1: 74LS245
IC2: 7805
IC3: ISP2032 (preprogramowany
kontroler)
IC4: LM317T
IC5: 74HC240
IC6: 89C2051 (patrz tekst)
Różne
SK1: 25-kontaktowe żeńskie złącze
D, do montażu na płytce
dwie 20-nóżkowe podstawki DIL,
podstawka 20-nóżkowa ZIF
o szerokości 0,3" (patrz tekst), 44-
nóżkowa podstawka PLCC,
zasilacz sieciowy 14,5V - 18V/
200mA, kabel drukarki zakończony
25-kontaktowymi męskimi wtykami
D, mały radiator do układu IC2.
du zostanie ustawiony automa-
tycznie.
Aby zaprogramowaĘ układ, na-
leły nacisnąĘ klawisz P. Program
zapyta o nazwÍ i rodzaj zbioru.
MoÅ‚e to byĘ zbiÛr binarny lub
zbiÛr w kodzie Intela (zbiory takie
sÄ… zapisane w kodzie ASCII i po-
siadajÄ… rozszerzenie HEX). Zaleca-
ne jest wykorzystywanie zbiorÛw
drugiego rodzaju, poniewał pro-
gram dokładniej sprawdza takie
zbiory.
Przed zaprogramowaniem układ
zostanie całkowicie skasowany -
nie istnieje mołliwośĘ zaprogra-
mowania na nowo tylko czÍÅ›ci
pamiÍci.
Aby sprawdziĘ zawartośĘ pa-
miÍci ukÅ‚adu, naleÅ‚y nacisnąĘ
klawisz R. Program zapyta o na-
zwÍ zbioru, z ktÛrym naleÅ‚y po-
Rys. 3. Schemat rozmieszczenia elementów i mozaika ścieżek druku płytki
rÛwnaĘ zawartośĘ pamiÍci. JeÅ›li
programatora układów AT89C2051/1051.
Elektronika Praktyczna 6/99
16
P R O J E K T Y Z A G R A N I C Z N E
w wyniku porÛwnania stwierdzo- zaprogramowania ukÅ‚adu. JeÅ›li stwem nie bÍdzie dziaÅ‚aĘ zgod-
ne zostanÄ… rÛÅ‚nice, bÍdÄ… one prÛba powiedzie siÍ, ale w wyni- nie z oczekiwaniami.
wyprowadzone na ekran. ku odczytu sygnatury nie uzysku- W odrÛÅ‚nieniu od zbiorÛw
jemy bajtu FFH, port nie działa HEX zbiory binarne nie są kon-
Komunikaty o bÅ‚Ídach dwukierunkowo (jest inaczej skon- trolowane przez program.
Podczas pierwszego testu pro- figurowany lub nie mołe byĘ Jeśli podczas sprawdzania za-
gramatora naleÅ‚y odczytaĘ bajty skonfigurowany dwukierunkowo). wartoÅ›ci pamiÍci ukÅ‚adu pojawia-
sygnatury. JeÅ›li wynik brzmi FFH, Przy pracy ze zbiorami w for- jÄ… siÍ bÅ‚Ídy, naleÅ‚y sprawdziĘ
FFH, FFH, przyczyn moÅ‚e byĘ macie Intela moÅ‚na spotkaĘ siÍ napiÍcie zasilania programatora.
kilka. NaleÅ‚y wtedy: z nastÍpujÄ…cymi komunikatami : JeÅ›li pojawiajÄ… siÍ problemy
- sprawdziĘ kable i obecnośĘ na- - Address out of range - adres z zakÅ‚Ûceniami (przewody dÅ‚uÅ‚sze
piÍcia zasilania na pÅ‚ytce pro- spoza dozwolonego zakresu; niÅ‚ 2m), bardziej prawdopodobne
gramatora; zbiÛr programujÄ…cy jest zbyt jest wystÄ…pienie zakÅ‚Ûcenia pod-
- upewniĘ siÍ, czy wykorzystywa- duÅ‚y - przekracza 1k lub 2k czas odczytu zawartoÅ›ci pamiÍci,
ny jest wÅ‚aÅ›ciwy port drukarki; (niestety wiÍkszośĘ asemblerÛw/ a ukÅ‚ad najprawdopodobniej bÍ-
- sprawdziĘ poprawnośĘ wykona- kompilatorÛw nie daje ostrzeÅ‚eÒ dzie prawidÅ‚owo zaprogramowany.
nia płytki; w takiej sytuacji). Colin Meikle, EPE
- sprawdziĘ konfiguracjÍ BIOS-u - Check Sum Error - bÅ‚Ä…d sumy
(port powinien byĘ dwukierun- kontrolnej - zbiÛr jest uszkodzo- ArtykuÅ‚ publikujemy na pod-
kowy). ny. Mołna powyłsze komunika- stawie umowy z redakcją mie-
JeÅ›li wszystko wydaje siÍ byĘ ty zignorowaĘ, ale wÛwczas siÍcznika "Everyday Practical
w porzÄ…dku, moÅ‚na podjąĘ prÛbÍ ukÅ‚ad z duÅ‚ym prawdopodobieÒ- Electronics".
Elektronika Praktyczna 6/99
17


Wyszukiwarka

Podobne podstrony:
programowanie mikrokontrolerów
avt 515 Programator mikrokontrolerów AVR i AT89S8252
Programowanie mikrokontrolerów za pomocą programatora USBasp » Majsterkowo pl
Prosty programator mikrokontrolerów AT89Cx051 AT89C5x
Podstawy programowania mikrokontrolerów AVR8 w środowisku AVR Studio 4
programowanie mikrokontrolerow 8051 w jezyku c pierwsze kroki rapidshare
Programowanie mikrokontrolerow 8051 w jezyku C
avt 515 Programator mikrokontro Nieznany
ZL5PRG Programator mikrokontrolerów 89C51 52 55
AVR i ARM7 Programowanie mikrokontrolerow dla kazdego avrar7
ATMEL AVR start programming in C
Konfiguracja pamięci mikrokontrolera 8051 dla programów napisanych w języku C
Nowy BlackBox 2 5 Public Atmel program OK
Atmel Avr Self Programming
Mikrokontrolery AVR Techniczne aspekty programowania Andrzej Pawluczuk

więcej podobnych podstron