programator emulator mikrokontrolerów 89Cx051 (2)


Programator - emulator mikrokontrolerów AT89Cx051
P R O J E K T Y
Programator - emulator
mikrokontrolerów
AT89Cx051, część 2
kit AVT-498
Oprogramowanie rozkazu LJMP, od ktÛrego musimy
Program dla procesora sterują- rozpocząĘ uruchamiany program.
cego napisano w jÍzyku C (IAR Poprawne odebranie takiego bajtu
Systems). W stanie spoczynkowym powoduje wykonanie sekwencji po-
procesor oczekuje na bajty progra- czÄ…tkowej (Power-up Sequence).
KoÒczymy opis konstrukcji
mu. Transmisja z komputera odby- Sygnał INH przyjmuje wysoki,
programatora-emulatora
wa siÍ z szybkoÅ›ciÄ… 4800 bodÛw. a PROG, XTAL1/U i ABC niski
procesorÛw AT89Cx051.
SÅ‚owo musi zawieraĘ 8 bitÛw da- stan logiczny. Po 10ms jest usta-
W tej czÍÅ›ci artykuÅ‚u
nych, bit parzystości (even) i dwa wiane wyjście P3.2/U i kasowane
prezentujemy sposÛb
bity stopu. Poniewał sterownik wyjście INH. Kolejną czynnością
podłączenia urządzenia do
programatora nie ma moÅ‚liwoÅ›ci jest wyczyszczenie caÅ‚ej pamiÍci
komputera oraz zalecenia do zgromadzenia całego programu FLASH. Wyjście P3.457/U jest ka-
montaÅ‚u i uruchomienia. w pamiÍci buforowej, zastosowano sowane, co powoduje nastÍpujÄ…ce
inne rozwiązanie. Odebrane bajty ustawienie wejśĘ programowanego
sÄ… zapisywane w 50-elementowym procesora: P3.3=H, P3.4=L, P3.5=L,
buforze kołowym FIFO. Stąd, nie- P3.7=L. Sygnał PROG przyjmuje
mal na biełąco, dane są przepi- wysoki stan logiczny, co w połą-
sywane do pamiÍci FLASH. Trans- czeniu z zerem logicznym na wy-
misja programu rozpoczyna siÍ od jÅ›ciu ABC powoduje podanie na-
bajtu 02H. Jest to pierwszy bajt piÍcia programujÄ…cego +12V na
wejÅ›cie RST procesora. WÛwczas
na wejściu P3.2 programowanego
procesora pojawia siÍ ujemny im-
puls o czasie trwania 10ms. Po
tym czasie napiÍcie programujÄ…ce
jest wyłączane (PROG=0), a po
dalszych 2ms procesor z wykaso-
wanÄ… pamiÍciÄ… jest gotowy do
programowania. Warto zwrÛciĘ
uwagÍ, Å‚e przez caÅ‚y ten czas
(około 25ms) dane przychodzące
z komputera sÄ… gromadzone w bu-
forze FIFO. Po wyczyszczeniu pa-
miÍci procesora rozpoczyna siÍ
zapisywanie bajtÛw nowego pro-
gramu. Wyjście P3.457 jest usta-
wiane, co powoduje pojawienie siÍ
na wejściach P3.4, P3.5, P3.7
Rys. 4. Sposób wykonania kabli.
Elektronika Praktyczna 4/99
65
Programator - emulator mikrokontrolerów AT89Cx051
jednej sekundy. PrzyjÍta szyb- tu na karcie Program naleÅ‚y usta-
kośĘ transmisji danych z kompu- wiĘ ìUruchom: Zminimalizowaneî
tera zostaÅ‚a zdeterminowana cza- i îZamknij przy zakoÒczeniuî.
sem programowania jednego baj- W tym przypadku wystarczy ìprze-
tu pamiÍci programu i wynosi ciÄ…gnąĘî plik z programem w po-
4800 bodÛw. Do poÅ‚Ä…czenia pro- staci binarnej na ikonÍ skrÛtu do
gramatora z komputerem naleÅ‚y P.BAT i îupuÅ›ciĘî.
wykonaĘ dwułyłowy kabel za- Zapewne w innych kompute-
koÒczony z jednej strony wty- rach realizacja transmisji bÍdzie
kiem DB9 lub DB25. Na drugim rÛwnie prosta. W kaÅ‚dym przypad-
koÒcu znajduje siÍ trÛjpinowe ku przesÅ‚anie i wpisanie pliku
gniazdo do zÅ‚Ä…cz igÅ‚owych. Sche- o dÅ‚ugoÅ›ci 2048 bajtÛw zajmuje
mat takiego kabla przedstawiono niecałe 5s.
na rys. 4. UWAGA: Programator nie
Do transmisji zbioru z kom- sprawdza, czy liczba przesłanych
putera do programatora najproÅ›- bajtÛw wykracza poza pojemnośĘ
ciej napisaĘ plik wsadowy o krÛt- pamiÍci procesora. Z jednej strony
kiej nazwie np. P.BAT. Przy nakłada to na obsługującego pro-
załołeniu, łe korzystamy z pier- gramator obowiązek sprawdzenia,
wszego portu szeregowego, plik czy plik binarny nie jest za duły.
taki powinien zawieraĘ ustawie- Z drugiej strony programator umoł-
nie parametrÛw transmisji: liwia programowanie nowych pro-
@MODE COM1 4800 E 8 2 cesorÛw, jak np. AT89C4051, wy-
i polecenie przesÅ‚ania binarnego posaÅ‚onych w 4KB pamiÍci pro-
pliku z programem na port sze- gramu. A nie jest to z pewnością
Rys. 5. Rozmieszczenie elementów
na płytce drukowanej. regowy: ostatnie słowo firmy Atmel...
@COPY /B %1 COM1
stanu wysokiego, a na P3.3 stanu Wywołanie w DOS-ie wygląda Montał
niskiego. WyjÅ›cie PROG rÛwnieÅ‚ nastÍpujÄ…co: Uwaga: Przed rozpoczÍciem
jest ustawiane, a na port P1 wy- P PROGRAM.BIN montaÅ‚u warto wyraünie zazna-
stawiany jest zapisywany bajt. Jeśli korzystamy z programu czyĘ mikroprocesor z zapisanym
KrÛtki, ujemny impuls na wejÅ›ciu Norton Commander, moÅ‚emy wy- programem sterujÄ…cym, aby nie
P3.2 zezwala na wpisanie danej. korzystujÄ…c komendÍ Extension Fi- pomyliĘ go z procesorem przezna-
NastÍpnie wyÅ‚Ä…czane jest napiÍcie le Edit utworzyĘ w pliku czonym do programowania.
programujÄ…ce (PROG=0). Ze wzglÍ- EXT.MNU wiersz o nastÍpujÄ…cej Wszystkie podzespoÅ‚y progra-
du na ograniczonÄ… liczbÍ wejśĘ, treÅ›ci: matora zamontowano na jednej,
nie jest testowany pin P3.1 (RE- BIN P.BAT !:!\!.! dwustronnej płytce drukowanej.
ADY/BUSY) programowanego pro- DziÍki temu kaÅ‚de ìnajechanieî Ze wzglÍdu na znacznÄ… liczbÍ
cesora. PrzyjÍto maksymalny czas na plik z rozszerzeniem .BIN i za-
oczekiwania na zapisanie bajtu twierdzenie ENTER-
(Byte Write Cycle Time), gwaran- em spowoduje prze-
towany przez producenta (2ms). słanie go do progra-
Cykl zapisu jest pomijany, jeśli matora.
bajt do zapisania ma wartośĘ FFH. W systemie WIN-
OstatniÄ… czynnoÅ›ciÄ… jest inkre- DOWSí95 moÅ‚emy
mentowanie licznika bajtÛw dodat- rÛwnieÅ‚ zastosowaĘ
nim impulsem na wejściu XTAL1. dwa rozwiązania. Pier-
Cykl ten powtarza siÍ dla kaÅ‚dego wsze to nakazaĘ sys-
odebranego bajtu. Jeśli wystąpi temowi otwieranie pli-
bÅ‚Ä…d parzystoÅ›ci, programowanie kÛw z rozszerzeniem
zostaje natychmiast przerwane. *.BIN z programu
Programator przechodzi w stan P.BAT. Programowanie
oczekiwania nie gaszÄ…c diody LED3 uruchamia siÍ wÛw-
(BUSY/ERROR). NaleÅ‚y wÛwczas czas podwÛjnym klik-
powtÛrzyĘ transmisjÍ. Po sekun- niÍciem na pliku
dzie od poprawnego odebrania binarnym z uru-
ostatniego bajtu nastÍpuje ustawie- chamianym pro-
nie sygnału ABC i przyłączenie gramem.
procesora do układu uruchamiane- Drugie rozwią-
go oraz odblokowanie kluczy przez zanie polega na
skasowanie sygnaÅ‚u INH. Wynika utworzeniu skrÛ-
z tego, Å‚e miÍdzy nadawanymi tu do pliku
z komputera bajtami programu nie P.BAT. We WÅ‚aÅ›-
mogÄ… wystÄ…piĘ przerwy dÅ‚uÅ‚sze od ciwoÅ›ciach skrÛ-
Rys. 6. Proponowany układ testowy.
Elektronika Praktyczna 4/99
66
Programator - emulator mikrokontrolerów AT89Cx051
otworÛw przejÅ›ciowych, warto sko- to prawidÅ‚owy objaw, bowiem
rzystaĘ z gotowej płytki z metali- LED1 pokazuje bezpośrednio stan
zowanymi otworami. Rozmieszcze- na linii TxD Å‚Ä…cza szeregowego,
nie elementÛw przedstawiono na ktÛry podczas trwania transmisji
rys. 5. Montujemy kolejno: rezys- siÍ zmienia. Przy przesyÅ‚aniu krÛt-
tory, diody, transoptor, podstawki kiego programu to świecenie diody
pod ukÅ‚ady scalone, kondensatory moÅ‚e wyglÄ…daĘ jak krÛtkie, ledwie
i zÅ‚Ä…cza. Jako ostatnie wlutowuje- zauwaÅ‚alne bÅ‚yÅ›niÍcie. JeÅ›li wszys-
my przycisk, rezonator kwarcowy tko przebiegło poprawnie, wyłą-
i diody Å›wiecÄ…ce. Pod rezonatorem czamy napiÍcie zasilajÄ…ce, wkÅ‚a-
kwarcowym po stronie elementÛw damy w podstawki pozostaÅ‚e
przebiegają ściełki, dlatego wluto- układy scalone, pozostawiając na
wujÄ…c rezonator naleÅ‚y zastosowaĘ razie pustÄ… podstawkÍ Z1. W ta-
przekÅ‚adkÍ z materiaÅ‚u izolacyjne- kim stanie przeprowadzamy po-
go. JeÅ›li przewidujemy wykorzys- nownie transmisjÍ dowolnego pli-
tanie układu jako zwykłego pro- ku. Pierwszy nadany bajt (musi
gramatora, mołemy zamiast zwyk- to byĘ liczba 02H) powinien
Å‚ej podstawki pod programowany zapaliĘ diodÍ LED3 (BUSY/ER-
procesor zamontowaĘ podstawkÍ ROR). SekundÍ po nadaniu ostat-
typu ZIF (z düwigienkÄ…). Najbar- niego bajtu dioda powinna zgas-
dziej popularne podstawki ZIF nąĘ. JeÅ›li tak siÍ nie staÅ‚o, to
firmy 3M/Textool mają dośĘ sze- znaczy, łe wystąpił błąd trans-
rokie wyprowadzenia i ich montaÅ‚ misji i musimy jÄ… powtÛrzyĘ. Na-
na pÅ‚ytce moÅ‚e byĘ nieco utrud- stÍpnie w podstawkÍ Z1 wkÅ‚ada-
niony. Znacznie taÒsze, choĘ trud- my procesor przeznaczony do
niejsze do zdobycia, są podstawki zaprogramowania. Przykładowy
firmy Aries. Przewidując mołli- program testujący TEST.ASM mo-
wośĘ montału podstawki Z1 typu łe mieĘ postaĘ:
ZIF, pozostawiono na płytce dru- 0000 ORG 0
kowanej nieco wiÍcej wolnego 0000 02 00 03 LJMP
miejsca oraz zdublowano opis si- 0003
todrukowy wskazujÄ…cy sposÛb 0003 43 87 02 ORL PCON,#02
wkładania programowanego proce- Początkowy skok jest wymaga-
sora. ny przez odbiornik szeregowy,
bowiem jak wspomniano wczeÅ›-
Uruchomienie niej, pierwszy odebrany bajt musi
Uruchomienie jak zawsze roz- mieĘ wartośĘ 02H. Dla sprawdze- RST. Natychmiast po zwolnieniu
poczynamy od sprawdzenia popra- nia poprawności działania progra- przycisku dioda zgaśnie, gdył
wnoÅ›ci montaÅ‚u. NaleÅ‚y zwrÛciĘ matora niezbÍdny jest ukÅ‚ad, ktÛ- dziaÅ‚anie programu testowego po-
bacznÄ… uwagÍ, czy przy lutowaniu ry zapewni zasilanie, taktowanie lega na wprowadzeniu procesora
nie powstały zwarcia miedzy po- i poprawny sygnał zerowania. w stan Power Down. W tym sta-
lami lutowniczymi. Do uruchamia- Schemat takiego minimalnego nie zegar procesora jest zatrzyma-
nia bÍdÄ… niezbÍdne oba kable: ukÅ‚adu przedstawiono na rys. 6. ny i dioda LED4 (RUN) gaÅ›nie.
emulacyjny i transmisyjny, tak Wyłącznik SW2 słuły do wyłącze- Jeśli wszystko przebiegło po-
wiÍc teraz jest ostatni dzwonek, nia napiÍcia zasilajÄ…cego przed myÅ›lnie, to wÅ‚aÅ›nie staliÅ›my siÍ
aby je wykonaĘ. W pierwszym eta- wyciÄ…gniÍciem programowanego posiadaczami bardzo przydatnego
pie wkÅ‚adamy w podstawkÍ tylko procesora z podstawki. OczywiÅ›- urzÄ…dzenia, ktÛre zaoszczÍdzi nam
ukÅ‚ad przetwornicy U2. Po wÅ‚Ä…cze- cie programator moÅ‚na rÛwnieÅ‚ masÍ czasu zwykle traconego na
niu napiÍcia zasilajÄ…cego +5V z ze- sprawdziĘ w dowolnym innym wyciÄ…ganie procesora, programo-
wnÍtrznego zasilacza sprawdzamy, ukÅ‚adzie, ktÛry speÅ‚nia trzy wy- wanie i ponowne wkÅ‚adanie go
czy świeci dioda LED2 (POWER) mienione wcześniej warunki. z powrotem do podstawki. Nie
i ewentualnie mierzymy napiÍcie W podstawkÍ takiego ukÅ‚adu wkÅ‚a- mÛwiÄ…c juÅ‚ o korzyÅ›ciach, jakie
na wyprowadzeniu 6(U2) lub na damy wtyk emulacyjny. Po zaÅ‚Ä…- daje moÅ‚liwośĘ skupienia siÍ na
kondensatorze C3. Powinno ono czeniu zasilania programujemy uruchamianym programie bez roz-
wynosiĘ od 11,4 do 12,6V. Upew- procesor programem testującym praszania uwagi na innych pro-
niamy siÍ, czy jest wlutowany w postaci binarnej TEST.BIN. zaicznych czynnoÅ›ciach. Aby jed-
transoptor TO1 i podÅ‚Ä…czamy pro- ChwilÍ po zakoÒczeniu programo- nak programator staÅ‚ siÍ w peÅ‚ni
gramator do komputera za pomocą wania powinny zgasnąĘ diody przyrządem warsztatowym, naleła-
przygotowanego wcześniej kabla BUSY/ERROR i RUN. Kałdorazo- łoby go jeszcze - jak to określił
transmisyjnego. W stanie spoczyn- we naciÅ›niÍcie przycisku RESET jeden z uczestnikÛw internetowej
ku dioda LED1 (DATA) powinna musi spowodowaĘ zapalenia dio- Listy Dyskusyjnej EP - ìubraĘ
pozostaĘ zgaszona. W czasie nada- dy RUN. Dzieje siÍ tak dlatego, w jakieÅ› szatkiî.
wania dowolnego pliku dioda zacz- łe zegar procesora startuje juł Tomasz Gumny, AVT
nie nierÛwnomiernie Å›wieciĘ. Jest przy aktywnym stanie na wejÅ›ciu
Elektronika Praktyczna 4/99
67


Wyszukiwarka

Podobne podstrony:
programator emulator mikrokontrolerów 89Cx051 (1)
Emulator procesorów 89cx051
emulator mikrokontrolerów PIC do PC
Emulator mikrokontrolerów AT89Cx051
avt 524 Programator USB mikrokontrolerów ATmega ISP
programowanie mikrokontrolerów
avt 515 Programator mikrokontrolerów AVR i AT89S8252
emulator DS5000 i innych mikrokontlorerów rodziny 51 2
Programowanie mikrokontrolerów za pomocą programatora USBasp » Majsterkowo pl
emulator DS5000 i innych mikrokontrolerów
avt 2502 Programator procesorów 89CX051 INNY
Konfiguracja pamięci mikrokontrolera 8051 dla programów napisanych w języku C
Prosty programator mikrokontrolerów AT89Cx051 AT89C5x
Podstawy programowania mikrokontrolerów AVR8 w środowisku AVR Studio 4
Programator mikrokontrolerów ATMEL AT89C2051 1051

więcej podobnych podstron