David Matoušek PRACA Z MIKROKONTROLEREM ATMEL AT89C2051 Czêœæ 1 Praga 2003
Hadlowe wykorzystaie opisów kostrukcyjych jest dozwoloe tylko a podstawie pisemej zgody autora i wydawictwa. Zbiory a CD ROM ie s¹ dopuszczoe do swobodego kopiowaia. David Matoušek PRACA Z MIKROKONTROLEREM ATMEL AT89C2051 Czêœæ 1 Weryfikacja Recezja Zdzis³aw Bieñkowski, SP6LB Jiøí Kopelet Bez wczeœiejszego pisemego pozwoleia wydawictwa ada czêœæ ie mo e byæ kopiowaa, lub rozprowadzaa w jakiejkolwiek postaci (druk, fotokopia, mikrofilm lub ie postêpowaie), przeoszoa do systemu iformatyczego lub przeoszoa w iej formie czy iymi sposobami. Autor i wydawictwo ie przyjmuj¹ odpowiedzialoœci za prawid³owoœæ wydrukowaych materia³ów. Podawae uk³ady i iformacje s¹ opublikowae bez uwzglêdiaia ewetualych patetów osób trzecich. Wykluczoe jest dochodzeie odszkodowaia a skutek zmia, b³êdów lub opuszczeñ. Wszelkie prawa zastrze oe i. David Matoušek, 2003 Wydawictwo BEN Literatura Techicza, Vešiova 5, Praga 10 Traslatio Zdzis³aw Bieñkowski, SP6LB David Matoušek: Prace s mikrokotrolery Atmel AT89C2051 1. dil D. Matoušek BEN techická literature, Praha 2003 2. vydái ISBN 80-7300-106-3
OBSAH CO ZNAJDUJE SIÊ NA DO CZONYM CD-ROM... 6 1 WSTÊP... 7 1.1 POJÊCIA PODSTAWOWE TERMINOLOGIA... 8 1.2 STANDARDOWE REJESTRY I ICH PRZEZNACZENIE... 11 2 PODSTAWOWE CHARAKTERYSTYKI MIKROKONTROLERÓW AT89C2051... 13 2.1 PRZEZNACZENIE POSZCZEGÓLNYCH WYPROWADZEÑ MIKROKONTROLERA AT89C2051... 15 2.2 PODSTAWOWE RO NICE W STOSUNKU DO PROCESORA 8051... 16 2.3 PROGRAMOWANIE PAMIÊCI B YSKOWEJ... 18 3 PROGRAMATOR I ZESTAW DOŒWIADCZALNY DLA AT89C2051... 21 3.1 PROGRAMATOR... 22 3.1.1 Rysuek p³ytki obwodów drukowaych... 25 3.1.2 Sterowaie programatorem... 28 3.2 ZESTAW DOŒWIADCZALNY (KIT)... 30 4 PROGRAMATORSKI MODEL PROCESORA AT89C2051... 35 4.1 PODZIA OBSZARU PAMIÊCI... 36 4.2 PODSTAWOWE REJESTRY... 39 4.3 BANKI REJESTRÓW R 0 DO R 7... 40 5 ZBIÓR INSTRUKCJI... 41 5.1 ARGUMENTY INSTRUKCJI... 42 5.2 ROZDAJE SKOKÓW... 43 5.3 STOSOWANE SYMBOLE... 44 5.4 PRZESUWANIE DANYCH... 45 5.5 OPERACJE NA BITACH... 47 5.6 SKOKI I ROZGA ÊZIENIE PROGRAMU... 47 5.7 INSTRUKCJE DLA WSPOMAGANIA PODPROGRAMÓW... 49 5.8 OPERACJE LOGICZNE... 50 5.9 OPERACJE ARYTMETYCZNE... 52 5.10 INSTRUKCJA PUSTA TAKTOWANIE... 57 5.11 INSTRUKCJE ZWI ZANE Z PORTAMI... 57 5.12 UBOCZNE EFEKTY INSTRUKCJI... 58 6 ASEMBLER ASM51 I SYMULATOR SIM51ENG... 59 6.1 POJÊCIA PODSTAWOWE PRZY PRACY Z ASM51... 60 6.1.1 Symbole... 60 6.1.2 Etykieta (label)... 61 6.1.3 Adresowaie bitowe... 61 6.1.4 ASCII sta³e zakowe (litera³y)... 61 6.1.5 Kometarz... 61 A D. MATOUŠEK: Praca z mikrokotrolerem Atmel AT89C2051 3
6.1.6 Liczik po³o eia $... 61 6.1.7 Liczby i operatory... 62 6.2 DYREKTYWY (PSEUDOINSTRUKCJE) ASM51... 64 6.3 STEROWANIE ASM51... 69 6.4 NARZÊDZIE HEX2BIN... 69 6.5 STEROWANIE SIM51ENG... 69 6.6 WSZYSTKO JEST OPROGRAMOWANIEM BEZP ATNYM... 70 7 ZASADY KORZYSTANIA Z PORTU RÓWNOLEG EGO P1/P3... 71 7.1 WEWNÊTRZNE PO CZENIE PORTÓW... 72 7.2 STEROWANIE OŒMIU LED... 73 7.3 STEROWANIE WYŒWIETLACZA 7SEGMENTOWEGO... 76 7.4 ODCZYTYWANIE STANU PRZE CZNIKÓW... 80 7.5 KLAWIATURA MATRYCOWA... 84 7.6 8BITOWY PRZETWORNIK D/A... 88 8 MNIEJ TRADYCYJNE ZASTOSOWANIE PORTÓW P1/P3... 93 8.1 POMNO ENIE LICZBY WEJŒÆ I WYJŒÆ 2051... 94 8.2 WYŒWIETLACZ Z SZYN SZEREGOW... 98 8.3 WYŒWIETLACZ W TRYBIE MULTIPLEKSOWYM... 104 8.4 MODU UNIWERSALNY... 112 8.5 ZASTOSOWANIE WBUDOWANEGO KOMPARATORA... 114 8.5.1 Pomiar pojemoœci lub rezystacji... 114 8.5.2 Pomiar temperatury... 120 8.5.3 Pomiar apiêcia przetworik A/D za kilka groszy... 120 9 SYSTEM PRZERWAÑ I JEGO ZASTOSOWANIE... 127 9.1 PRZERWANIE (INTERRUPT)... 128 9.2 GENERATOR SYGNA U Z WYBOREM KSZTA TU PRZEBIEGU PRZEZ PRZERWANIE... 132 10 LICZNIK/STEROWNIK CZASOWY I JEGO ZASTOSOWANIE... 137 10.1 OPIS LICZNIKA/UK ADU CZASOWEGO... 138 10.2 TRYB PO CZENIA Z UK ADEM CZASOWYM (TIMEREM)... 140 10.3 NAJPROSTSZE ZASTOSOWANIE EFEKTY D WIÊKOWE... 141 10.4 REGULACJA JASNOŒCI PWM ZA POMOC UK ADU CZASOWEGO (TIMERA)... 146 10.5 POMIAR REZYSTANCJI I POJEMNOŒCI Z PRZETWORZENIEM NA CZÊSTOTLIWOŒÆ... 153 10.6 POMIAR NAPIÊCIA Z PRZETWARZANIEM NA CZÊSTOTLIWOŒÆ... 161 10.7 PRZETWORNIK D/A UTWORZONY UK ADEM CZASOWYM (TIMER)... 162 11 KANA SZEREGOWY I JEGO WYKORZYSTANIE... 165 11.1 SPOSOBY PRACY (TRYBY) KANA U SZEREGOWEGO (PORTU)... 166 11.2 MODU ATRS232... 168 4 D. MATOUŠEK: Praca z mikrokotrolerem Atmel AT89C2051 A
11.3 PORT SZEREGOWY I PC... 170 11.4 STEROWANIE PORTU SZEREGOWEGO W SYSTEMACH OPERACYJNYCH MS-DOS I WINDOWS... 171 11.4.1 Borlad C++ i MS-DOS... 171 11.4.2 C++ Builder i Widows... 171 11.5 ODBIÓR JEDNEGO BAJTU... 174 11.5.1 Realizacja programu sterowaia pod Widows... 176 11. 6 PROGRAMOWALNY GENERATOR SYGNA U... 178 11.6.1 Realizacja programu steruj¹cego pod Widows... 181 12 PERSPEKTYWICZNE OBWODY PERYFERYJNE... 187 12.1 UK ADY Z SZYN MICROWIRE... 188 12.1.1 TLC549 (8bitowy przetworik A/D z wyjœciem szeregowym)... 189 12.1.2 M5451B7 (35segmetowy sterowik wyœwietlacza LED)... 193 12.1.3 93C66 (szeregowa E 2 PROM o pojemoœci 4 Kb)... 203 12.2 UK ADY Z SZYN I 2 C... 206 12.2.1 PCF8591 (8bitowy przetworik A/D i D/A)... 209 12.2.2 Modu³ ATPCF8591... 214 12.3 PRZETWORNIKI NAPIÊCIE CZÊSTOTLIWOŒÆ... 219 12.3.1 LM331... 219 13 DALSZE CECHY AT89C2051... 221 13.1 TRYB PRACY OSZCZÊDNOŒCIOWEJ... 222 13.1.1 Problem z trybem Power-Dow... 223 13.2 OBWODY NADZORUJ CE WATCHDOG, RESETOWANIE PRZY ZA CZANIU I PRZY ZANIKU ZASILANIA... 223 13.2.1 TL77xxA (Power-O Reset)... 224 13.2.2 MAX690A (Watchdog, Power-O Reset, Power-Fail i Ÿród³o rezerwowe)... 226 13.2.3 Praktycze zastosowaie uk³adu adzoruj¹cego zachowaie rejestru w pamiêci E 2 PROM... 227 14 PROGRAMATOR ATPROG 2.1 AT89C2051... 237 14.1 ZALETY I WADY ATPROG 2.1... 238 14.2 OPIS KONSTRUKCJI ATPROG WERSJA 2.1... 240 14.3 PROGRAM TESTOWANIA ATP2DEBUG.EXE... 244 14.3.1 Jak uruchamiamy programator za pomoc¹ programu ATP2DEBUG?... 245 14.4 PROGRAM STERUJ CY DLA ATPROG 2.1... 245 14.4.1 Zasady korzystaia z programu ATPROG2.EXE... 246 14.5 INFORMACJE KOÑCOWE... 248 14.5.1 Prawa autorskie... 248 14.5.2 Algorytm programowaia... 248 14.6 ZAMAWIAJCIE PROGRAMATOR BEZPOŒREDNIO U AUTORA!... 248 P YTKI Z OBWODAMI DRUKOVANYMI... 249 LITERATURA... 251 A D. MATOUŠEK: Praca z mikrokotrolerem Atmel AT89C2051 5
CO ZNAJDUJE SIÊ NA DO CZONYM CD-ROM Do³¹czoy CD-ROM obejmuje wszystkie iformacje potrzebe dla u³atwieia pracy z ksi¹ k¹. Iformacje te mo a podzieliæ a jedostki logicze, które zajduj¹ siê w oddzielych adresach: adres ATPROG obejmuje program ATPROG.EXE, który wykorzystuje siê dla sterowaia programatorem opisaym w rozdziale 3. adres ATPROG21 obejmuje program ATPROG2.EXE, który wykorzystuje siê do sterowaia programatora opisaego w rozdziale 14. adres BEN obejmuje wersjê off-lie stro WWW wydawictwa BEN - literatura techicza (aktualizowaa a koñcu wrzeœia 2002), którego czêœci s¹ komputerow¹ wersj¹ katalogu drukowaego plau wydawictwa jesieñ 2002, adres DOKUMENT obejmuje dokumetacjê wybraych zitegrowaych obwodów, które s¹ wymieioe w ksi¹ ce, w formacie PDF. Zajduje siê tam tak e samoistaluj¹ce siê archiwum programu Acrobat Reader wersja 5.0, która s³u y do przegl¹daia zbiorów PDF, adres FOTO obejmuje, jak sama azwa wskazuje, fotografie gotowych uk³adów. Ka dy by³ zdjêty z kilku stro aby jego kostrukcja by³a lepiej udokumetowaa, adres KATALOG obejmuje ceik elektroiczy firmy GM Electroic œci¹giêty z Iteretu (koiec wrzeœia 2002) i komputerow¹ wersjê drukowaego katalogu w PDF. Aktualizacjê wersji mo a uzyskaæ pod URL :http:// WWW.gme.cz. Cey orietacyje wszystkich czêœci by³y brae z tego katalogu. Dodatkowo a CD umieszczoe s¹ iformacje o programatorach XELTEK. adres NASTROJE (arzêdzia) obejmuje programy ASM51, HEX2BIN, i SIM51ENG stosowae dla przeoszeia i za³adowaia programu do mikrokotrolera AT89C2051, adres OBECNICE (ogóle) jest off-lie stro¹ www przoduj¹cego czeskiego sprzedawcy uk³adów (S³u ba wysy³kowa ELEKTRONIC OBECNICE) programowalych kitów i programatorów Atmel. adres PROGRAMY obejmuje Ÿród³owe i przet³umaczoe postaci wszystkich programów realizowaych w ksi¹ ce. adres SPOJE obejmuje klisze obwodów drukowaych wszystkich uk³adów opisaych w ksi¹ ce w formacie TIF i dodatkowo w formacie Ÿród³owym BRD programu EAGLE w wersji 2.6, aby czytelicy mogli uk³ady drukowae wykoaæ wed³ug w³asego wyobra eia. Niektóre uk³ady zosta³y w redakcji dodatkowo dopracowae (prowadzeie iektórych po³¹czeñ, zwiêkszeie powierzchi chwytaj¹cych dla czêœci ) tak wiêc fiala wersja jest podaa tylko w formacie TIF (jest zgoda z kliszami wydrukowaymi w ksi¹ ce). 6 D. MATOUŠEK: Praca z mikrokotrolerem Atmel AT89C2051 A