7074

Szczegóły
Tytuł 7074
Rozszerzenie: PDF
Jesteś autorem/wydawcą tego dokumentu/książki i zauważyłeś że ktoś wgrał ją bez Twojej zgody? Nie życzysz sobie, aby podgląd był dostępny w naszym serwisie? Napisz na adres [email protected] a my odpowiemy na skargę i usuniemy zabroniony dokument w ciągu 24 godzin.

7074 PDF - Pobierz:

Pobierz PDF

 

Zobacz podgląd pliku o nazwie 7074 PDF poniżej lub pobierz go na swoje urządzenie za darmo bez rejestracji. Możesz również pozostać na naszej stronie i czytać dokument online bez limitów.

7074 - podejrzyj 20 pierwszych stron:

Andrzej Rydzewski Mikrokomputery jednouk�adowe rodziny MCS-51 Wydanie trzecie Warszawa Wydawnictwa Naukowo-Techniczne Spis tre�ci 1. WSIe? 7 1.1. Charakterystyka og�lna rodziny MCS-51 ........ 7 1.2. Dane katalogowe .................... 9 1.2.1. Opis ko�c�wek uk�adu ............. 9 1.2.2. Parametry sygna��w............... 12 1.2.3. Lista rozkaz�w ................. 21 1.2.4. Zestawienie s��w steruj�cych i kontrolnych z grupy SFR ................... 28 2. Architektura wewn�trzna mikrokomputer�w 8051/52 37 2.1. Pami�� programu, licznik rozkaz�w ........... 37 2.2. Pami�� danych, rejestry uniwersalne i specjalne, stos ... 39 2.3. Jednostka arytmetyczno-logiczna, akumulator, s�owo stanu ...................... 44 2.4. Zegar systemowy, cykl rozkazowy ............ 47 2.5. Wej�cie-wyj�cie..................... 50 2.5.1. Konfiguracja wej�cia-wyj�cia........... 50 2.5.2. Struktura wewn�trzna port�w .......... 52 2.5.3. Komunikacja programowa ............ 54 2.6. Uk�ad czasowo-licznikowy ............... 55 2.6.1. Liczniki TO, Tl ................. 56 2.6.2. Licznik T2 (tylko 8052/32) ............ 61 Z7. Port szeregowy ..................... 65 2.7.1. Tryb O..................... 66 2.7.2. Tryby l, 2, 3 ................... 69 2.7.3. Szybko�� transmisji............... 74 2.7.4. Komunikacja w systemie wieloprocesorowym... 76 6 Spbtntfd 2.8. System przerwa�................... 2.8.1. Organizacja systemu .............. 2.8.2. Przyj�cie przerwania .............. 2.8.3. Przerwania zewn�trzne............. 2.9. Inicjowanie systemu .................. 2.10. Stany z obni�onym poborem mocy .......... 110.1. Uk�ady HMOS ................ 2.10.2. Uk�ady CHMOS . .............. 2.11. Praca z zewn�trzn� pami�ci� programu ........ 2.12. Programowanie, weryfikacja, kasowanie pami�ci EPROM ................... 3. Rozbudowa systemu 3.1. Rozbudowa pami�ci................. 3.1.1. Komunikacja z pami�ci� zewn�trzn� ...... 3.1.2. Do��czanie zewn�trznej pami�ci programu i danych .................... 3.1.3. Wsp�lna zewn�trzna pami�� programu i danych .................... 3.1.4. Do��czanie zewn�trznej pami�ci danych .... 3.2. Rozbudowa wej�cia-wyj�cia .............. 3.3. Rozbudowa systemu przerwa�............ 4. Lista rozkaz�w 4.1. Tryby adresowania.................. 4.2. Opis rozkaz�w.................... 1. WST�P 1.1. CHARAKTERYSTYKA OG�LNA RODZINY MCS-51 Rodzina mikrokomputer�w jedno-uk�adowych MCS-51 powsta�a w firmie Intel Corporation. Architektura uk�ad�w do niej nale��cych jest podobna do architektury MCS-48 - wcze�niejszej rodziny mikrokomputer�w jednouk�adowych firmy Intel. Jest jednak w stosunku do niej znacznie rozbudowana i unowocze�niona. Podstawowymi uk�adami rodziny MCS-51 s�: mikrokomputer 8051, od kt�rego pochodzi nazwa rodziny, oraz nieco rozbudowany mikrokomputer 8052. Funkcjonalny schemat blokowy jednouk�adowego mikrokomputera 8051, podstawowego uk�adu w rodzinie MCS-51, przedstawiono na rys. 1.1. Poni�ej om�wiono g��wne bloki funkcjonalne mikrokomputera. RYS. 1.1. Schemat funkcjonalny mikrokomputera 8051 O�miobitowa jednostka centralna mo�e wykonywa� 111 rozkaz�w (49 jedno-, 45 dwu- i 17 trzybajtowych) umo�liwiaj�cych �atw� i efektywn� realizacj� wszelkiego rodzaju algorytm�w ster�w (r�wnie� wymagaj�cych z�o�onych oblicze�). Lista rozkaz�w zav m.in. rozkazy arytmetyczne (w tym mno�enie i dzielenie) i logii rozkazy dotycz�ce operacji logicznych na bitach (procesor boolo^ oraz rozbudowane grupy rozkaz�w skok�w warunkowych i wej wyj�cia. Prawie wszystkie rozkazy wykonuj� si� w czasie jeden lub dw�ch cykli maszynowych. Wyj�tek stanowi tu mno�enie i dziel wymagaj�ce czterech cykli. Zegar taktuj�cy jest stabilizowany zewn�trznym rezonatt kwarcowym, o cz�stotliwo�ci maksymalnej 12 MHz. Czas cyklu m; nowego jest wi�c r�wny 1 fis. Wewn�trzna pami�� programu, typu ROM, ma pojemno�� (4K) s��w 8-bitowych. Mo�e by� rozszerzona do 64K bajt�w ] do��czenie pami�ci zewn�trznej. Wewn�trzna pami�� danych, typu RAM, ma pojemno�� 128 ba Mo�liwe jest do��czenie zewn�trznej pami�ci danych o pojemno�' 64K s��w (w ramach osobnej przestrzeni adresowej). Uk�ad czasowo-licznikowy zawiera dwa 16-bitowe liczniki, l mog� zlicza� wewn�trzne impulsy zegarowe lub impulsy zewn�t Oba liczniki mog� pracowa� w jednym z czterech, ustawianyd dywidualnie, tryb�w. Linie wej�cia-wyj�cia, kt�rych jest 32, s� zorganizowane w c 8-bitowe porty. Cz�� z tych linii (zw�aszcza linie portu P3) mo�< wykorzystana do realizacji specjalnych funkcji. Port szeregowy umo�liwia niezale�ne nadawanie i odbie transmisji szeregowej. Mo�e pracowa� w czterech trybach. Uk�ad przerwa� (dwupoziomowy) mo�e obs�ugiwa� dwa rwania zewn�trzne i dwa z uk�adu czasowo-licznikowego oraz rwanie z uk�adu szeregowego wej�cia-wyj�cia (razem 5). Mikrokomputer 8052 jest wersj� uk�adu 8051 o nieco po> szonych zasobach, a mianowicie: - wewn�trzna pami�� programu jest powi�kszona do 8K bajt�w - wewn�trzna pami�� danych jest powi�kszona do 256 bajt�w, - uk�ad czasowo-licznikowy zawiera dodatkowy 16-bitowy li( impuls�w zegarowych lub zewn�trznych. Mikrokomputery tworz�ce rodzin� MCS-51, produkowane ] firm� Intel, zestawiono w tablicy 1.1. Uk�ady te s� r�nymi, Bloki funkcyjne 9 wzgl�dem technologu wykonania i rodzaju wewn�trznej pami�ci programu, wersjami uk�ad�w 8051 i 8052. TABLICA 1.1. Zestawienie mikrokomputer�w rodziny MCS-51 Typ uk�adu (firma Intel) Wewn�trzna pami�� programu Wewn�trzna pami�� danych CHMOS HMOS 80C51 8051AH 8751H 80C31 8031AH 8052 8032 4K x 8 ROM 4K x 8 EPROM 8K x 8 ROM 128 x 8 RAM 128 x 8 RAM 128 x 8 RAM 256 x 8 RAM 256 x 8 RAM Mikrokomputery rodziny MCS-51 s� obecnie najpopularniejszymi uk�adami na �wiecie w klasie 8-bitowych mikrokomputer�w jedno-uk�adowych. Odpowiedniki uk�ad�w wymienionych w tablicy 1.1 s� produkowane przez takie firmy jak: Siemens, Signetics/Philips, AMD, Fujitsu i inne. Zazwyczaj s� one oznaczane takim samym symbolem cyfrowym. Ponadto, wiele firm produkuje inne, bazowane na 8051, wersje uk�ad�w, r�ni�ce si� technologi� wykonania lub rozbudowane o dodatkowe specjalizowane bloki funkcjonalne, przeznaczone do konkretnego zastosowania. Orientacyjne ceny hurtowe uk�ad�w z rodziny MCS-51 kszta�towa�y si� w Europie Zachodniej nast�puj�co (dane z 1990 r): 8051 - 2,30 $, 8751 - 32$, 80C51 - 3,00$, 87C51 - 44$, 8052 - 2,95$, 8752 - 40$, 80C52 - 4,40$, wersja 8052 z pami�ci� EEPROM - 70 $. 1.2. DANE KATALOGOWE 1.2.1. OPIS KO�C�WEK UK�ADU Na rysunku 1.2a pokazano symbol logiczny podstawowych w rodzinie MCS-51 uk�ad�w 8051/52. Rozk�ad sygna��w RYS. 13.. Uk�ad 8051: a) symbol logiczny; b) rozk�ad sygna��w na ko�c� Na rysunku 1.2b przedstawiono rozk�ad sygna��w na ko obudowy. Ich funkcje opisano poni�ej. Numer ko�c�wki Funkcja PO.O-P0.7 (Port 0) 8-bitowy, dwukierunkowy port wej�cia-wyj�cia (wyj�cie z otwartym kolektorem, wej�cie o du�ej impedancji); przy pracy z zewn�trzn� pami�ci� programu lub danych: multipleksowana magistrala adres�w-danych Wej�cie lub wyj�cie danych przy programowaniu i weryfikacji pami�ci EPROM P1.0-P1.7 (Port l) 8-bitowy port wej�cia-wyj�cia P l.O - T2; wej�cie zegarowe P 1.1 - T2EX; wej�cie wyzwalaj�ce licznika T2 Przy programowaniu i weryfikacji pami�ci EPROM: wej�cie sygna��w adresowych AO...A7 � l Funkcje sygna��w Sygna� Numer ko�c�wki Funkcja P2.0-P2.7 (Port 2) 21-28 8-bitowy port wej�cia-wyj�cia; przy pracy z zewn�trzn� pami�ci� programu: wyj�cie o�miu bardziej znacz�cych bit�w magistrali adresowej Wej�cie bit�w 8-11 adresu i sygna��w steruj�cych przy programowaniu i weryfikacji pami�ci EPROM P3.0-P3.7 10-17 8-bitowy port wej�cia-wyj�cia; (Port 3) funkcje dodatkowe (alternatywne) poszczeg�lnych bit�w: P3.0 - RXD: wej�cie szeregowe P3.1 - TXD: wyj�cie szeregowe P3.2 - INTO 1 wej�cia przerwa� P3.3 - INT1 J zewn�trznych P3.4 - TOt wej�cia zegarowe P3.5 - Tlj uk�adu czasowo- __ -licznikowego P3.6 - WR: wyj�cie steruj�ce; zapisywanie do zewn�trznej pami�ci danych P3.7 - RD: wyj�cie steruj�ce; odczytywanie z zewn�trznej pami�ci danych PSEN (Program stor� enable) 29 Wyj�cie steruj�ce; odczytywanie z zewn�trznej pami�ci programu ALE (Address latch enable) 30 Wyj�cie sygna�u zegarowego o cz�stotliwo�ci 6(TAL/6; przy pracy z pami�ci� zewn�trzn�: wyj�cie steruj�ce - sygna� strobuj�cy adres wys�any do portu PO Wej�cie impulsu programuj�cego przy programowaniu pami�ci EPROM RST/YPD (Reset) Wej�cie sygna�u zeruj�cego (aktywny poziom niski) Wej�cie zasilania w stanie obni�onego poboru mocy Funkcje sygna��w Sygna� Numer ko�c�wki Funkcja Uk�ady EA (External access) 31 Wej�cie wymuszaj�ce pobieranie wszystkich rozkaz�w z zewn�trznej pami�ci programu (aktywny poziom niski) Wej�cie napi�cia zasilania +21 V przy programowaniu pami�ci EPROM 8751 XTAL1 19 Pierwsza ko�c�wka do do��czenia oscylatora kwarcowego Wej�cie zewn�trznego sygna�u taktuj�cego CHMOS XTAL2 18 Druga ko�c�wka do do��czenia oscylatora kwarcowego Wej�cie zewn�trznego sygna�u taktuj�cego HMOS Ucc 40 + 5 V - zasilanie Uss 20 0 V - masa 1.2.2. PARAMETRY SYGNA��W Podane ni�ej parametry statyczne i dynamiczne sygna��w zestawiono na podstawie katalogu firmy Inte Corporation. Parametry uk�ad�w innych firm mog� si� od nid nieznacznie r�ni�. Parametry dopuszczalne - temperatura pracy: 0-70�C - temperatura przechowywania: -65 150�C - napi�cie na ka�dej ko�c�wce wzgl�dem Uss -0,5-7,0 V - moc rozpraszana l W Parametry sygna�owe dla uk�ad�w HMOS przy IA = 0-70�C -CHMOS przy IA = 0-70�C Ucc= + 5 V � 10%, Uss = O V - Ucc = + 5 V � 20%, Uss = O V Parametry charakterystyczne statyczne dla uk�ad�w HMOS 13 Symbol Parametr Wielko�� Jednostka min. maks. UIL Napi�cie wej�ciowe w stanie niskim -0,5 0,8 V UIH Napi�cie wej�ciowe w stanie wysokim, z wyj�tkiem RST/VPD i XTAL2 2,0 Ucc + 0,5 V UlHl Napi�cie wej�ciowe w stanie wysokim dla RST/VPD (zerowanie) i XTAL2 2,5 Ucc + 0,5 XTAL1 = Uss V UPD Napi�cie zasilania na RST/VPD w trybie obni�onego poboru mocy 4,5 5,5 Ucc-O V v UOL Napi�cie wyj�ciowe w stanie niskim dla wyj�� Pl, P2, P3 0,45 IOL = 1,6 V reA UOLI Napi�cie wyj�ciowe w stanie niskim dla PO, ALE, PSEN 0,45 IOL - 3,2 V mA UOH Napi�cie wyj�ciowe w stanie wysokim dla wyj�� Pl, P2, P3 2,4 IOH - - 80 V li\ UOHI Napi�cie wyj�ciowe w stanie wysokim 2,4 IOH - -400 V <-A dla PO, ALE, PSEN IlL Pr�d wej�ciowy w stanie niskim dla wej�� Pl, P2, P3 -800 U. = 0,45 fiA. v IIL2 Pr�d wej�ciowy w stanie niskim dla wej�cia XTAL2 -2,5 XTAL) - Uss Ul - 0,45 mA v ILI Pr�d upiywno�ci wej�� PO, EA �10 0,45 < U] < Ucc ^A v 500 Ul = Ucc - 1,5 IlHl Pr�d wej�ciowy w stanie wysokim dla wej�cia RST/VPD (przy zerowaniu) lec Pr�d zasilania z Ucc 125 mA 10 Ucc=0 mA v IPD Pr�d zasilania z RST/VPD w trybie obni�onego poboru mocy 10 fc^ l pF MHz C�o Pojemno�� paso�ytnicza bufor�w wej�cia-wyj�cia Uwaga! Je�eli pojemno�ci paso�ytnicze linii port�w PO i P2 s� du�e (> 100 pF), to w czasie wysy�ania przez te porty adresu lub danych przy dost�pie do pami�ci zewn�trznej, mo�e wyst�pi� zak��cenie na liniach port�w Pl, P3 i ALE, objawiaj�ce si� chwilowym wzrostem napi�cia w stanie niskim do 0,8 V. Dotyczy to uk�ad�w HMOS i CHMOS. 14 Parametry lygoa��w Parametry charakterystyczne statyczne dla uk�ad�w CHMOS Symbol Panu metr Wielko�� Jednostka min. maks. UlL Napi�cie wej�ciowe w stanie niskim -0,5 0,8 Ucc > 4,5 -0,5 0,5 Ucc < 4,5 V v V v UlH Napi�cie wej�ciowe w stanie wysokim z wyj�tkiem wej�� RST, XTAL1 i XTAL2 2,0 Ucc Ucc > 5,5 2,5 Ucc Uoc<5,5 V v V v UlHl Napi�cie wej�ciowe w dla wej�cia RST stanie wysokim 3,0 Ucc Ucc > 5,5 3,5 Ucc Ucc<5^ V v V v UIH2 Napi�cie wej�ciowe w dla XTAL1i XTAL2 stanie wysokim 0,8Ucc Ucc V UPD Napi�cie zasilania w t poboru mocy rybie obni�onego 2,0 6,0 v UOL Napi�cie wyj�ciowe w dla wyj�� Pl, P2, P3 stanie niskim 0,45 �oi - lj6 v ID� UOLI Napi�cie wyj�ciowe w stanie niskim dla 0,45 IOL - 3,2 v mA PO. ALE, PSEN UOH Napi�cie wyj�ciowe w dla wyj�� Pl, P2, P3 stanie wysokim 0,9Ucc IOH- -10 2,4 IOH- -80 Ucc-5 V �10% V HA V fA UOHI Napi�cie wyj�ciowe w stanie wysokim dla wyj�� PO. ALE, PSEN 0,9Ucc IOH- -10 2,4 IOH- -400 Ucc-5V�10% V �A V fA In, Pr�d wej�ciowy w stal dla wej�� Pl, P2, P3 lie wysokim -50 Ul - 0.45 �*A v lu Pr�d uptywno�ci wej�� �10 Parametry sygna��w 15 Symbol Parametr Wielko�� min. mak s. Jednostka lec Pr�d zasilania przy normalnej pracy Wszystkie wyj�cia nie do��czone, czas narastania i opadania impuls�w zegara < 10 ns, Ucc = 5 V 24 mA fitTAL - 12 MHz 2,4 mA (CTAL - 1,2 MHZ leci Pr�d zasilania w ttybie ja�owym 3,0 mA fitTAL - 12 MHz 0,3 mA ECTAL - 1,2 MHz ICC2 Pr�d zasilania w trybie obni�onego 50 liA poboru mocy Ucc-2,0 v RRST Rezystancja mi�dzy wej�ciem RST a mas� 4 kn Cio Pojemno�� paso�ytnicza bufor�w 10 pF wej�cia-wyj�da fc-l MHz Parametry zewn�trznego sygna�u zegarowego (ry�. 1.3): XTAL2 - w uk�adach HMOS XTAL1 - w uk�adach CHMOS Symbol Nazwa Cz�ste fitTAL = itliwo� U- � 12 MHz Jednostka min. maks. te Okres 83,3 833,3 ns tCH Czas stanu wysokiego 20 ns to. Czas stanu niskiego 20 ns tr Czas narastania 20 ns tf Czas opadania 20 ns 16 Piunetry sygna��w RYS. 13. Zewn�trzny sygna� zegarowy Parametry dynamiczne sygna��w w cyklu pobrania z zewn�trznej pami�ci programu (rys. l .4) Symbol Warto�� Nazwa <p(tc)dla J^0-fCTAL =1.2-12 MHz foA� = 12 MHz -- min. maks. min. maks. te Okres zegara ta = 1/finAL 83,3 ns tCY Czas cyklu maszynowego 12tc 1,0 (is tu. D�ugo�� impulsu ALE 2te - 40 127 ns tAL Czas wyprzedzenia adresu przed ALEi tc-40 43 ns tLA Czas podtrzymania adresu po ALEi te-35 48 ns tuv Op�nienie danych wej�ciowych wzgl�dem ALEi 4tc -100 233 ns tLC Op�nienie impulsu PSEN wzgl�dem ALEi te - 25 58 ns tcc D�ugo�� impulsu PSEM 3te-35 215 ns tciv Op�nienie danych wej�cio-wych wzgl�dem PSENi 3tc-125 125 ns ta Czas podtrzymania danych wej�ciowych po PSENf 0 0 ns t�p Op�nienie trzeciego stanu na PO wzgl�dem PSENf te-20 63 ns tAC Op�nienie nowego adresu wzgl�dem PSENf te-8 75 ns tAIV Czas wyprzedzenia adresu wzgl�dem danych wej�ciowych 5te-115 302 ns tATO Czas wyprzedzenia trzeciego stanu na PO wzgl�dem PSENi 0 0 ns PSEN Rys. 1.4. Definicja parametr�w dynamicznych sygna��w w cyklu pobrania z zewn�trznej pami�ci programu ODCZYTYHftNIE Z ZEHN&TRZNEJ PftMI�CI PflNYCH RD r~> ! l f-- J- i :'*- �RO --- \ i r^i 1 i�OR-- < '"�-'La-i-��; ': --� t Bdr�� 00 - :a7 ^------\ \ , <; ^ : D*rr z p�ml�ci \ h- : --�;tflFRL<- ; "t DFR "*- CJalna P2 ZflPISYHftNIE PO ZEHN^TBZNEJ PflMI�.CI DflNYCH PSEN 7 - t ML--^ \ r �<-tLfl-^*--- -t HO --- ^ Odr�� ao - ft7 J^ 0*n� do zapi��ni� X 'J �k f r>UY DC Adr�� ft7 - A15 lub r�Jw�tr �p�cJ*lnu P2 RYS. 1.5. Definicja parametr�w dynamicznych sygna��w w cyklach odczytu i zapisu zewn�trznej pami�ci danych 18 Parametry sygna��w Parametry dynamiczne sygna��w w cyklach odczytywania i a|iiyn-te x lik do sewetrznej pami�ci danych (rys. 1.5) Symb< Warto�� d Ifazwa f(tc)dla J^0- ficTAL = 1,2,- 12 MHZ feAL = 12 MHz min. maks. min. maks. tRR D�ugo�� impulsu RD 6t-100 400 ns tww D�ugo�� impulsu WR 6t-100 400 ns tLA Czas podtrzymania adresu po ALEJ. ta - 35 48 ns tRD Op�nienie danych wej�ciowych wzgl�dem RDi 5tc-165 250 ns tOR Czas podtrzymania danych wej�ciowych po RDf 0 0 ns tDFR Op�nienie trzeciego stanu na PO wzgl�dem RDf 2tc-70 97 ns tLD Op�nienie danych wej�ciowych wzgl�dem ALEi 8tc -150 517 ns UD Czas wyprzedzenia adresu wzgl�dem danych wej�ciowych 9tc -165 585 ns tLW Op�nienie impulsu steruj�cego ^ (WR) wzgl�dem ALE i 3tc-50 3tc+50 200 300 ns tAW Czas wyprzedzenia adresu wzgl�dem RDi lub WR1 4tc-130 203 ns tWL Op�nienie ALEf wzgl�dem RDT lub WRf ta-40 ta+40 43 123 ns towx Czas wyprzedzenia danych wyj�ciowych wzgl�dem WK.1 to - 60 23 ns tow Czas wyprzedzenia danych wyj�ciowych wzgl�dem WRf 7to - 150 433 ns two Czas podtrzymania danych wyj�ciowych po WRf ta-50 33 ns tAra Czas wyprzedzenia trzeciego stanu na PO wzgl�dem KD[ 0 0 ns XTAL2 ALE ; S4 ; SS ; S6 ; Sl ; 52 i 53 ; 54 ; SS : ; Pl : P2 � Pl \ P2 : Pl ; P2 ; Pl ; P2 : Pl : P2 ^ Pl : P2 : Pl ; P2 i Pl \ P2 : JTJnJTrLriJlJlJTJ-lJZrLrTJ^J~LrZJZrLrL CYKL POBRONIO Z PAMI�CI PROgROMU PSEN ________ l T -i do z�un�,trzn�J p���u.<ci danych � l-------l CYKL OPCZYTYMflNIfl Z POMI�CI DflNYCH RO DPL lub Rl 00 Pr�bkou�ni�T____ dmuch u�J J--� <adv parni �� pnoarainu J��t Z�un�tr�na DPH lub r�j��tr tp�c,l�lnu P2 CYKL ZflPISYHftMIft DO POMI�CI DflNYCH MR Gdu pamiwc pro9r'*i .I��t z�un�tnn� DPL lub Ri D�n� uyJtcio OPERflCJE Nft PORTOCH Z*pi* do PO-P3 Nou� dane Odczu� PO Pr�bkouanit �t�nu |oor-tu PI-P3 PORT SZEREgOHY - ZESflR H TRYBIE O r�n l ' RYS. 1A Sygna�y zewn�trzne 20 Parametry sygna��w Parametry sygna��w przy programowania i weryfikacji pami�ci EPROM Jte �ktah 875 (rys. 1.7) przy: U = 24 � 3�C Ucc = + 5 V � 5% Uss=OV Symbol Nazwa Warto�� Jedni st� min. maks. UPP Napi�cie programuj�ce na EA 20,5 21,5 V IPP Pob�r pr�du z UDD przy programowaniu 30 mA l/te = �n-AL Cz�stotliwo�� rezonatora 4 6 MH Uw Czas wyprzedzenia adresu wzgl�dem PR�G (ALE)i 48tc tWA Czas podtrzymania adresu po PR�G (ALE)f 48tc tow Czas wyprzedzenia danych wzgl�dem PR�G (ALE)i 48tc tWD Czas podtrzymania danych po PR�G (ALE)f 48tc tEVPP 48tc Czas wyprzedzenia ENABLE (P2.7) = l wzgl�dem UPP (EA)f tvppw Czas wyprzedzenia UPP na EA wzgl�dem PR�G (ALEU 10 �t twvpp 10 f Czas podtrzymania UDD na EA po PR�G (ALE)T tPW 45 55 n D�ugo�� impulsu programuj�cego PR�G (ALE) tDA Op�nienie danych wyj�ciowych wzgl�dem adresu 48tc tDE Op�nienie danych wyj�ciowych wzgl�dem ENABLE (P2.7)l 48tc tDE Op�nienie trzeciego stanu na PO wzgl�dem ENABLE (P2.7)t 0 48tc Lista rozkaz�w, oznaczenia 21 )-C >- �0-P1.7 ---\ .0-P2.3 \ P1.0-P1. P2.0-P2.3 -^ D �n* do ^D--- / 0�n� \ \ "'�"-� Ti odczyta�* / i.^H. ^M , ^HP.I r tMB � "pp ��---�� Eft / f tpy . \ tDEL-- ^EDF ALE C PR�G} \ L-J f P2.7 CENBBLE5 if \ �- �EVPP RYS. 1.7. Przebiegi czasowe sygna��w przy programowaniu i weryfikacji pami�ci EPROM 1.23. LISTA ROZKAZ�W W zestawieniach rozkaz�w poszczeg�lnych mikrokomputer�w przyj�to oznaczenia rejestr�w: A, ACC - akumulator B - rejestr B Rr - rejestr roboczy, r == O,..., 7 Ri - rejestr roboczy - wska�nik danych, i = O, l DPTR - wska�nik danych (DPH.DPL) PC - licznik rozkaz�w SP - wska�nik stosu C, CY - znacznik przeniesienia AC - znacznik przeniesienia pomocniczego OV - znacznik nadmiaru ad - 8-bitowy adres bezpo�redni n - 8-bitowy argument bezpo�redni nn - 16-bitowy argument bezpo�redni bit - 8-bitowy adres bitu w RAM lub SFR adr 11 - adres 11-bitowy adr 16 - adres 16-bitowy d - 8-bitowe przesuni�cie o warto�ciach z przedzia�u < -128,127> @ - w mnemoniki! poprzedza adres po�redni + - w mnemoniki! poprzedza argument bezpo�redni X - w zapisie operaq'i oznacza zawarto�� rejestru X (X) - w zapisie operacji oznacza zawarto�� pami�ci o adresie X 22 Zestawienie rozkaz�w Zestawienie rozkaz�w mikrokomputer�w 8051, 8031, 8751, 8052, 8032 pograpowanyc funkcjonalnie Kod Bajty/ Mnemonik Operacja szesnast- /cykle Uwagi kowy (nex) Przes�ania MOV A,Rr A <- Rr E8-EF 1/1 Rr - rejestr RO-R7 MOV A,ad A <- (ad) E5 2/1 Ri - rejestr RO-R1 MOV A,@Ri A <- (Ri) E6,E7 1/1 ad - 8-bitowy adres MOVA,#n A �- n 74 2/1 bezpo�redni MOV Rr,A Rr <- A F8-FF 1/1 n - 8-bitowy MOV Rr,ad Rr �- (ad) A8-AF 2/2 argument MOV Rr,*n Rr <- n 78-7F 2/1 bezpo�redni MOV ad,A (ad) - A F5 2/1 MOV ad,Rr (ad) <- Rr 88-8F 2/2 MOV adl,ad2 (adi) <- (ad2) 85 3/2 MOV ad,@Ri (ad) <- (Ri) 86,87 2/2 MOV ad,* a (ad) <- n 75 3/2 MOV @Ri,A (Ri) <- A F6,F7 1/1 MOV @Ri,ad (Ri) *- (ad) A6,A7 2/2 MOV @Ri,#n (Ri) <- n 76,77 2/1 MOV DPTR, #nn DPTR �- nn 90 3/2 nn - 16-bitowy XCH A,Rr A <-> Rr C8-CF 1/1 argument XCH A,ad A <-* (ad) C5 2/1 bezpo�redni XCH A,@Ri A *-� (Ri) C6,C7 1/1 XCHD A,@Ri AM <-� (Ri)M D6,D7 1/1 MOVX A,@Ri A *- (Ri) E2,E3 1/2 MOVX @Ri,A (Ri) *- A F2,F3 l/^ zewn�trznej J 8-bit. MOVX A,@DPTR A <- pPTR) EO 1/2 {dotyczy 1 adres pami�ci 1 adres MOVX @DPTR,A (DPTR) *- A FO 1/2 danych J16-bi� MOVC A,@A+DPTR A <- (A + DPTR) 93 1/2 [ dotyczy MOVCA,@A+PC A ^- (A+PC) 83 1/2 J pami�ci programu Operacje arytmetyczno-logiczne ADD A,Rr A ^- A + Rr 28-2F 1/1 ADD A,ad A<-A+(ad) 25 2/1 ADD A,@Ri A<- A+(Ri) 26,27 1/1 ADDA,#n A �- A+n 24 2/1 ADDC A,Rr A<- A+Rr+CY 38-3F 1/1 ADDC A,ad A<-A+(ad)+CY 35 2/1 Rr - rejestr RO-R7 ADDC A,@Ri A*- A+(Ri)+CY 36,37 1/1 Ri - rejestr RO-R1 ADDC A,* n A �- A + n + CY 34 2/1 ad - 8-bitowy adres SUBB A,Rr A<- A-Rr-CY 98-9F 1/1 bezpo�redni Zestawienie rozkaz�w 23 Mnemonik Operacja Kod szesnast-kowy (hex) Bajty/ /cykle Uwagi SUBB A,ad A <- A - (ad) - CY 95 2/1 n - 8-bitowy SUBB A,@Ri A �- A - (Ri) - CY 96,97 1/1 argument SUBB A,#n A <- A - n - CY 94 2/1 bezpo�redni INCA A <-A+1 04 1/1 INCRr Rr <- Rr+1 08-OF 1/1 INCad (ad) <- (ad)+l 05 2/1 INC@Ri (Ri) <- (Ri)+l 06,07 1/1 INC DPTR DPTR <- DPTR +1 A3 1/2 D�� A A *- A-l 14 1/1 DECRr Rr <- Rr-1 18-1F 1/1 D�� ad (ad) <- (ad)-l 15 2/1 D�� @Ri (Ri) <- (Ri)-l 16,17 1/1 MULAB B.A <- A x B A4 1/4 DIVAB A <- [A/B] 84 1/4 DA A Korekcja dzies. A D4 1/1 ANL A,Rr A �- AA Rr 58-5F 1/1 ANL A,ad A �- A A (ad) 55 2/1 ANL A,@Ri A <- A A (Ri) 56,57 1/1 ANL A, # n A <- AA n 54 2/1 ANL ad,A (ad) <- (ad) A A 52 2/1 ANL ad,=�=n (ad) �- (ad) A n 53 3/2 ORL A,Rr A <- A v Rr 48-4F 1/1 ORL A,ad A �- A v (ad) 45 2/1 ORL A,@Ri A <- A v (Ri) 46,47 1/1 ORL A,#n A�-Avn 44 2/1 ORL ad,A (ad) <- (ad) v A 42 2/1 ORL ad, # n (ad) �- (ad) v n 43 3/2 XRL A,Rr A <- A�Rr 68-6F 1/1 XRL A,ad A <- A�(ad) 65 2/1 XRL A,@Ri A <- A�(Ri) 66,67 1/1 XRL A, # n A <- A� n 64 2/1 XRL ad,A (ad) <- (ad)� A 62 2/1 XRL ad,#n (ad) <- (ad)� n 63 3/2 CLRA A *- 0 E4 1/1 CPLA A <- A F4 1/1 SWAPA Aa-o �-> A?-4 C4 1/1 RLA 23 1/1 L|7-AokJ RLCA 33 1/1 HCY |- 7<-A 0 [J Zestawienie rozkaz�w K'r>d JC^-UU Mnemonik Operacja szesnast-kowy (hex) Bajty/ /cykle Uwagi RRA 03 1/1 L|7A^ RRCA 13 1/1 l l LfcY~|-<| 7 A-�0|J Operacje na bitach CLRC CY <- 0 C3 1/1 CLR bit (bit) <- 0 C2 2/1 bit - 8-bitowy adres SETBC CY <- l D3 1/1 bitu w RAM lub SFR SETB bit (bit) ^ l D2 2/1 CPLC CY <- CY B3 1/1 CPL bit (bit) *- (bit) B2 2/1 ANL C,bit CY <- CYA(bit) 82 2/2 ANL C,/bit CY <- CYA(bit) BO 2/2 ORL C,bit CY �- CYv(bit) 72 2/2 ORL C,/bit CY <- CYv(bit) AO 2/2 MOV C,bit CY <- (bit) A2 2/1 MOV bit,C (bit) �- CY 92 2/2 Skoki i rozkazy steruj�ce AJMP adrl! PC IM �- adrl l 01,21 2/2 41,61 adrl! - adres 81,A1 11-bitowy C1,E1 LJMP adrl6 PC *- adrl6 02 3/2 adrl6 - adres SJMPd PC �- PC+d 80 2/2 16-bitowy JMP @A + DPTR PC <- A + DPTR 73 1/2 d - 8-bitowe JCd Gdy CY = l to 40 2/2 przesuni�cie PC <- PC+d JNCd Gdy CY = 0 to 50 2/2 PC *- PC+d JZd Gdy A = 0 to 60 2/2 PC �- PC+d JNZd Gdy A ^ 0 to 70 2/2 PC <- PC+d JB bit,d Gdy (bit) = l to 20 3/2 PC �- PC+d JNB bit,d Gdy (bit) = 0 to 30 3/2 PC <- PC+d Zestaw rienie rozkaz� w 25 Mnemonik Operacja Kod szesnast-kowy (hex) Bajty/ /cykle Uwagi JBC bit,d Gdy (bit) = l to 10 3/2 PC .- PC+d (bit) <- 0 CJNE A,ad,d Gdy A ^ (ad) to B5 3/2 PC <- PC+d CJNEA,#n,d Gdy A ^ n to B4 3/2 PC �- PC+d CJNE Rr,*n,d Gdy Rr ^ n to B8-BF 3/2 PC �- PC+d CJNE @Ri,*n,d Gdy (Ri) + n to B6,B7 3/2 PC <- PC+d | DJNZ Rr,d Rr <- Rr-1 D8-DF 2/2 l i gdy Rr ^ 0 to PC <- PC+d l DJNZad,d (ad) <- (ad)-l D5 3/2 [' i gdy (ad) ^ 0 to PC <- PC+d NOP Nic nie r�b 00 1/1 ' Podprogramy i operacje na stosie l ACALL adrl! SP �- SP+1 11,31 2/2 i (SP) <- PC7-0 51,71 SP <- SP+1 91,B1 (SP) *- PCl5-� D1,F1 PC 10-0 <- adrl l ; LCALL adrl6 SP �- SP+1 12 3/2 S (SP) <- PC7-0 SP <- SP+1 (SP) <- PCl5-� PC <- adrl6 RET PCl5-� <- (SP) 22 1/2 powr�t z podprogramu SP <- SP-1 PC7-0 .- (SP) SP <- SP-1 RETI PClS-8 <- (SP) 32 1/2 powr�t z przerwania SP <- SP-1 PC7-0 <- (SP) SP <- SP-1 PUSH ad SP <- SP+1 CO 2/2 (SP) �- (ad) POP ad (ad) <- (SP) DO 2/2 SP <- SP-1 kod hex 00 01 mnemonik NOP AJMP adrii kod hex 20 21 Zestawie mnemonik JBbit,d AJMP adrii nie n kod hex 40 41 azkaz�w mikrok< mnemonik JCd AJMP adrii impul kod hex 60 61 :er�w 8051, 8031 mnemonik JZd AJMP adrii 02 LJMP adrl6 22 RET 42 ORL ad,A 62 XRL ad,A 03 RRA 23 RLA 43 ORL ad, # n 63 XRL ad,* n 04 INCA 24 ADD A#n 44 ORLA,* n 64 XRL A,#n 05 INCad 25 ADD A,ad 45 ORL A,ad 65 XRL A,ad 06 INC @RO 26 ADD A,@RO 46 ORL A,@RO 66 XRL A,@RO 07 INC @R1 27 ADD A,@R1 47 ORL A,@R1 67 XRL A,@R1 08 INCRO 28 ADD A,RO 48 ORL A,RO 68 XRL A,RO 09 INCR1 29 ADD A,R1 49 ORL A,R1 69 XRL A,R1 OA INCR2 2A ADD A,R2 4A ORL A,R2 6A XRL A,R2 OB INCR3 2B ADD A,R3 4B ORL A,R3 6B XRL A,R3 OC INCR4 2C ADD A,R4 4C ORL A,R4 6C XRL A,R4 OD INCR5 2D ADD A,R5 4D ORL A,R5 6D XRL A,R5 OE INCR6 2E ADD A,R6 4E ORL A,R6 6E XRL A,R6 OF INCR7 2F ADD A,R7 4F ORL A,TR 6F XRL A,R7 10 JBC bit,d 30 JNB bit,d 50 JNCd 70 JNZd 11 ACALL adrii 31 ACALL adrii 51 ACALL adrii 71 ACALL adrii 12 LCALL adrl6 32 RETI 52 ANL ad,A 72 ORL C,bit 13 RRCA 33 RLCA 53 ANL ad,* n 73 JMP @A+DPTI 14 D�� A 34 ADDC A,* n 54 ANL A, # n 74 MOVA,#n 15 D�� ad 35 ADDC A,ad 55 ANL A,ad 75 MOV ad,* n 16 D�� @RO 36 ADDC A,@RO 56 ANL A,@RO 76 MOV @RO,#i 17 D�� @R1 37 ADDC A,@R1 57 ANL A,@R1 77 MOV @Rl,#i 18 DECRO 38 ADDC A,RO 58 ANL A,RO 78 MOV R0,#n 19 DECR1 39 ADDC A,R1 59 ANL A,R1 79 MOV Rl,*n 1A DECR2 3A ADDC A.R2 5A ANL A,R2 7A MOV R2,#n 1B DECR3 3B ADDC A,R3 5B ANL A,R3 7B MOV R3,#n 1C DECR4 3C ADDC A,R4 5C ANL A,R4 7C MOV R4,#n 1D D�� RS 3D ADDC A,R5 5D ANL A,R5 7D MOV R5,#n 1E DECR6 3E ADDC A,R6 5E ANL A,R6 7E MOV R6,#n 1F DECR7 3F ADDC A,R7 5F ANL A,R7 7F MOV R7,*n Rozkazy ustawiaj�ce znaczniki CY, AC i OV Znaczniki Znaczniki Znaczniki Roztoz CY AC OV Rozkaz CY AC OV Rozkaz CY AC 0 ADD t t t ADDC t t I SUBB I f t MUL 0 - t DIV 0 - t DA t - - RRC 1 - -RLC I - -CJNE t - -SETBC l CLRC 0 - -CPLC t - - ANLC,bit t ANLC,/bit f ORLC,bit t ORLC,/bit t MOV C,bit I 8751,8052,8032 w kolejno�ci numerycznej kod hex mnemonik kod hex mnemonik kod hex mnemonik kod hex mnemonik 80 SJMPd AO ORL C,/bit CO PUSH ad EO MOVXA,@DPTR 81 AJMP adrii Al AJMP adrii Cl AJMP adrii El AJMP adrii 82 ANL C,bit A2 MOV C,bit C2 CLRad E2 MOVX A,@RO 83 MOVCA,@A+PC A3 INC DPTR C3 CLRC E3 MOVX A,@R1 84 DIVAB A4 MULAB C4 SWAPA E4 CLRA 85 MOV ad,ad A5 - C5 XCH A,ad E5 MOV A,ad 86 MOV ad,@RO A6 MOV @RO,ad C6 XCH A,@RO E6 MOV A,@RO 87 MOV ad,@Rl A7 MOV @Rl,ad C7 XCH A,@R1 E7 MOV A,@R1 88 MOV ad, RO A8 MOV RO, ad C8 XCH A,RO E8 MOV A,RO 89 MOV ad, Rl A9 MOV Rl, ad C9 XCH A.R1 E9 MOV A,R1 8A MOV ad, R2 AA MOV R2, ad CA XCH A,R2 EA MOV A,R2 8B MOV ad, R3 AB MOV R3, ad CB XCH A,R3 EB MOV A,R3 8C MOV ad, R4 AC MOV R4, ad CC XCH A,R4 EC MOV A,R4 8D MOV ad, R5 AD MOV R5, ad CD XCH A,R5 ED MOV A,R5 8E MOV ad, R6 AE MOV R6, ad CE XCH A,R6 EE MOV A,R6 8F MOV ad, R7 AF MOV R7, ad CF XCH A,R7 EF MOV A,R7 90 MOV DPTR,#nn BO ANL C,/bit DO POP ad FO MOVX @DPTR,A 91 ACALL adrii Bl ACALL adrii Dl ACALL adrii Fl ACALL adrii 92 MOV bit,C B2 CPL bit D2 SETB bit F2 MOVX @RO,A 93 MOVCA,@A+DPTR B3 CPLC D3 SETBC F3 MOVX @R1,A 94 SUBB A,#n B4 CJNEA,#n,d D4 DA A F4 CPL A ^ SUBB A,ad B5 CJNE A,ad,d D5 DJNZ ad,d F5 MOV ad,A 96 SUBB A,@RO B6 CJNE@RO,*n,d D6 XCHD A,@RO F6 MOV @RO,A J97 SUBB A,@R1 B7 CWE@Rl,*a,d D7 XCHD A,@R1 F7 MOV @R1,A .98 SUBB A,RO B8 CJNERO,#n,d D8 DJNZ R0,d F8 MOV RO,A '99 SUBB A,R1 B9 CJNE Rl,*n,d D9 DJNZ Rl,d F9 MOV R1,A ,9A SUBB A,R2 BA CJNE R2,#n,d DA DJNZ R2,d FA MOV R2,A 9B SUBB A,R3 BB CJNER3,*n,d DB DJNZ R3,d FB MOV R3,A 9C SUBB A,R4 BC CJNER4,*n,d DC DJNZ R4,d FC MOV R4,A 9D SUBB A,R5 BD CJNER5,*n,d DD DJNZ R5,d FD MOV R5,A 9E SUBB A,R6 BE CJNER6,#n,d DE DJNZ R6,d FE MOV R6,A 9F SUBB A,R7 BF CJNER7,#n,d DF DJNZ R7,d FF MOV R7,A i - znacznik ustawiany zgodnie z wynikiem operacji l - znacznik zerowany . - znacznik ustawiony - - znacznik nie zmieniany �g l S�owa steruj�ce i kontrolne - SFR TMOD - s�owo okre�laj�ce tryb pracy uk�adu czasowo-licznil licznikTl licznik TO adres (hex): 89 GATE C/T Ml MO GATE C/T Ml MO GATE (bit steruj�cy) - uaktywnienie bramkowania S�u�y do uaktywnienia zewn�trznego kowania licznika: GATE = O - licznik Ti pracuje, gdy TRi = l; ___ GATE = l - licznik Ti pracuje, gdy TRi = l i INTi = l. C/T (bit steruj�cy) - wyb�r funkcji Okre�la funkcj� realizowan� przez liczni C/T = O - czasomierz taktowany wewn�trznym sygna�en rowym fxrAi,/12; C/T = l - licznik impuls�w zewn�trznych z wej�cia Ti. Ml, MO (bity steruj�ce) - wyb�r trybu Ore�laj� tryb pracy licznika Ti: Ml MO = 00 - tryb 0: 8-bitowy licznik THi taktowany r 5-bitowy dzielnik TLi; Ml MO = 01 - tryb l: 16-bitowy licznik THi-TLi; Ml MO = 10 - tryb 2: 8-bitowy licznik TLi z automat) wpisywaniem warto�ci pocz�tkowej z TH Ml M0== 11 - tryb 3: licznik TO - dwa niezale�ne 8-liczniki: T�O (sterowany za pomoc� bit�w cych licznika TO) i THO (sterowany za ] bit�w steruj�cych licznika T l); licznik trzymany. 30 S�owa steruj�ce i k TCON - s�owo steruj�ce uk�ad rwaniami zewn�trznyn adres bitu (hex): 8F 8E 8D adres (hex): 88 |TFl|TRl|fFO^ (MSB) TF1 (TCON.7) - znacznik przepe�n Ustawiany sprz�te nika Tl; jest sygna�em znoszenia prz przerwania. TRI (TCON.6) - bit steruj�cy zliczs Zmieniany pr�g (TRI = l) lub od��czenie (TRI = 0: licznika Tl. TFO (TCON5) - znacznik przepe�n Ustawiany sprz�t< nika TO; jest sygna�em zg�oszenia pra przerwania. TRO (TCON.4) - bit steruj�cy zliczi Zmieniany pr�g: (TRO = l) lub od��czenie (TRO = 0: licznika TO. IE1 (TCONJ) - znacznik zg�oszeni. Ustawiany sprz�ta wania zewn�trznego na wej�ciu I przerwania. m (TCON2) - bit steruj�cy zg�osa Zmieniany prograi przerwania zewn�trznego na INT1, tz opadaj�cym zboczem (IT1 = l) sygn; IEO (TCON.l) - znacznik zg�oszeni, Ustawiany sprz�tom ni� zewn�trznego na wej�ciu INTO; ze ITO (TCON.O) - bit steruj�cy zg�o�-" Zmieniany prograi przerwania zewn�trznego na INTO, tz opadaj�cym zboczem (ITO = l) sygn S�owa steruj�ce i kontrolne - SFR 31 IE - maska przerwa� adres bitu (hex): AF AE AD AC AB AA A9 A8 adres (hex): A8 |EA|-|ET2|ES|ETl|EXl|ETO|EXO| DE (MSB) (LSB) EA (IE.7) - bit maski systemu przerwa� EA = O - wszystkie przerwania zablokowane; EA = l - odblokowane te przerwania, kt�rych bit maski jest jedynk�. - (IE.6) - rezerwa ET2 (IE.5) - bit maski przerwania z licznika-czasomierza T2 ES (IE.4) - bit maski przerwania z portu szeregowego ET1 (HL3) - bit maski przerwania z licznika-czasomierza T l EX1 (IE.2) - bit maski przerwania zewn�trznego INT1 ETO (IE.I) - bit maski przerwania z licznika-czasomierza TO EXO (IE.O) - bit maski przerwania zewn�trznego INTO Dla bit�w od IE.O do IE.5: IE.i = O - przerwanie zablokowane, IE.i = l - przerwanie odblokowane. 32 S�owa steruj�ce i kontrolne - SFR IP - s�owo steruj�ce priorytetem przerwa� adres bitu (hex): BF BE BD BC BB BA B9 B8 adres (hex): B8J- |-|PT2|PS|PT1 |PX1 JPTO |PXO | IP (MSB) (LSB) - (IP-7) - rezerwa - (IP.6) - rezerwa PT2 (IP.5) - bit priorytetu przerwania z licznika-czasomierza T2 PS (IP.4) - bit priorytetu przerwania z portu szeregowego PTI (IP.3) - bit priorytetu przerwania z licznika-czasomierza T l PX1 (IP.2) - bit priorytetu przerwania zewn�trznego INT1 PTO (IP.l) - bit priorytetu przerwania z licznika-czasomierza TO PXO (IP.O) - bit priorytetu przerwania zewn�trznego INTO Dla bit�w od IP.O do IP.5: IP.i == O - przerwanie umieszczone na ni�szym poziomie priol tetu, IP.i = l - przerwanie umieszczone na wy�szym poziomie pri rytetu. S�owa steruj�ce i kontrolne - SFR 33 99 98 SCON - s�owo steruj�ce portem szeregowym adres bitu (hex): 9F 9E 9D 9C 9B 9A adres (hex): 98 SMOJSM1 SM2|REN TB8 RB8 JTI | RI | SCON (MSB) (LSB) SMO (SCON.7) SM1 (SCON.6) - bity steruj�ce; tryb pracy Okre�laj� tryb pracy portu szeregowego: SMO SM1 = 00 - tryb 0; transmisja synchroniczna; znaki 8-bito- we; taktowane zegarem f\TAL/12; SMO SM1 = 01 - tryb l; transmisja asynchroniczna; znaki 8-bito- we; szybko�� okre�lona programowo; SMO SM 1=10- tryb 2; transmisja asynchroniczna; znaki 9-bito- we; szybko�� fxTAL/64 lub fxTAL/32; SMO SM1 = 11 - tryb 3; transmisja asynchroniczna; znaki 9-bito- we; szybko�� okre�lona programowo. SM2 (SCON.5) - bit steruj�cy; maskowanie odbioru znaku Zmieniany programowo; je�li SM2 = l, to s� ignorowane (nie jest ustawiany znacznik RI) odebrane znaki, w kt�rych w trybie 2 i 3 dziewi�ty bit (DB8) danych jest zerem, a w trybie l nie zosta� wykryty bit stopu; w trybie O powinno by� SM2 = 0. REN (SCON.4) - bit steruj�cy; uaktywnienie odbioru Zmieniany programowo dla uaktywnienia (REN = l) i zablokowania (REN = 0) odbiornika. TB8 (SCON.3) - dziewi�ty bit nadawanego znaku Zmieniany programowo; jest dziewi�tym bitem (DB8) znaku wysy�anego w trybie 2 i 3. RB8 (SCON.2) - dziewi�ty bit odebranego znaku Miejsce wpisywania dziewi�tego bitu (DB8) znaku odebranego w trybie 2 i 3; w trybie l do RB8 jest wpisywany bit stopu; w trybie O bit RB8 nie jest u�ywany. TI (SCON.l) - znacznik wys�ania znaku Ustawiany sprz�towo po zako�czeniu wysy�ania znaku; zerowany tylko programowo; jest sygna�em zg�oszenia przerwania. RI (SCON.O) - znacznik odebrania znaku Ustawiany sprz�towo po odebraniu znaku; zerowany tylko programowo; jest sygna�em zg�oszenia przerwania. 34 S�owa steruj�ce i kontrolne - SFR PCON - s�owo steruj�ce zasilaniem adres (bex): 871 SMOD| GF1 GFO PDJIDL PCOIS (MSB) (LSB) SMOD - bit steruj�cy; podwojenie szybko�ci transmisji Ustawiany programowo, w celu podwojenia (g( SMOD = l) szybko�ci transmisji portu szeregowego prac j�cego w trybie 2 oraz w trybie l i 3, je�eli port jest taktowa� licznikiem T l. GF1, GFO - znaczniki programowe og�lnego przeznaczenia (tyli uk�ady CHMOS) PD - bit steruj�cy; obni�ony pob�r mocy (tylko uk�ady CHMOS Ustawiany programowo w celu wprowadzenia uk�adu w sti obni�onego poboru mocy; zerowany tylko przy zerowan mikrokomputera. IDL - bit steruj�cy; stan ja�owy (tylko uk�ady CHMOS) Ustawiany programowo w celu wprowadzenia uk�adu w tn pracy ja�owej; zerowany przy przyj�ciu przerwania i zerowan mikrokomputera. S�owa steruj�ce i kontrolne - SFR 35 T2CON - s�owo steruj�ce licznikiem T2 (tylko w 8052/32) adres bitu (hex): CF CE CD CC CB CA C9 C8 adres (hex):C8|rF2|EXF2[RCLK|TCLK|EXEN2trR2|C/T2|CP/RL2|T2CON (MSB) TF2 (T2CON.7) EXF2 (T2CON.6) RCLK (T2CON.5) TCLK CT2CON^) EXEN2 (T2CON J) (LSB) - znacznik przepe�nienia licznika T2 Ustawiany sprz�towo przez sygna� przepe�nienia licznika T2; zerowany tylko programowo; jest sygna�em zg�oszenia przerwania; nie jest ustawiany, je�eli RCLK = l lub TCLK == l. znacznik sygna�u zewn�trznego na T2EX Ustawiany po wykryciu opadaj�cego zbocza sygna�u na wej�ciu T2EX (Pl.l) tylko wtedy, kiedy EXEN2 = l; zerowany tylko programowo; jest sygna�em zg�oszenia przerwania. bit steruj�cy zegarem odbiornika portu szeregowego Zmieniany programowo; je�li RCLK = l, to odbiornik portu szeregowego w trybie l i 3 jest taktowany sygna�em przepe�nienia licznika T2. bit steruj�cy zegarem nadajnika portu szeregowego Zmieniany programowo; je�li TCLK = l, to nadajnik portu szeregowego w trybie l i 3 jest taktowany sygna�em przepe�nienia licznika T2. bit steruj�cy; uaktywnienie wej�cia T2EX Zmieniany programowo; je�li EXEN2 = l, to opadaj�ce zbocze sygna�u na wej�ciu T2EX (Pl.l) powoduje ustawienia znacznika EXF2 oraz wpisanie do licznika T2 warto�ci pocz�tkowej z rejestru RLD lub zapisanie do RLD zawarto�ci T2 (zgodnie z warto�ci� bitu 36 S�owa steruj�ce i kontrolne - SFR TR2 (T2CON.2) CP/RL2); je�li EXEN2 = O, to wszelkie zmi�� na T2EX s� ignorowane. bit steruj�cy zliczaniem licznika T2 Zmieniany programowo; zapewnia do��cze� (TR2 = l) lub od��czenie (TR2 = 0) sygna: zliczanego od licznika T2. C/n (T2CON.1) - bit steruj�cy wyborem funkcji licznika T2 Zmieniany programowo; okre�la funkcj� rea] zowan� przez T2: C/T2 = O - czasomierz taktowany sygna�em zegarowym fxTAL/l C/T2 = l - licznik impuls�w zewn�trznych z wej�cia T2 (P 1.0). CP/RL2 (T2CON.O) - bit steruj�cy wyborem trybu Zmieniany programowo; okre�la tryb prac licznika T2: CP/RL2 = O CP/RL2 = l 16-bitowy licznik z automatycznym �adowaniei warto�ci pocz�tkowej z RLD przy przepe�nieni lub opadaj�cym zboczu sygna�u na T2EX, 16-bitowy licznik m�d 216 z zapisywaniem zawarte �ci do RLD przy opadaj�cym zboczu sygna�u n T2EX; je�eli RCLK = l lub TCLK = l, to bit je; nieaktywny, a T2 pracuje z w trybie automatyca nego �adowania warto�ci pocz�tkowej z RLD prz przepe�nieniu. ARCHITEKTURA WEWN�TRZNA MIKROKOMPUTER�W 8051/52 l ta Wewn�trzny schemat blokowy mik rokomputera 8051 pokazano na rys. 2.1. Dotyczy on, podobnie ja zamieszczony dalej dok�adny opis poszczeg�lnych zespo��w funkcjona� nych, ca�ej rodziny MCS-51, czyli uk�ad�w 8051,8031,8751,8052 i 803; 2.1. PAMI�� PROGRAMU, LICZNIK ROZKAZ�W Pami�� programu (ang. program mc mory) mikrokomuter�w 8051/52 mo�e mie� maksymaln� pojemno�� 641 s��w 8-bitowych. Organizacyjnie jest ona podzielona na strony (an{ pages) po 2K s��w (rys. 2.2). Cz�� pami�ci programu jest zawart wewn�trz uk�adu mikrokomputera i stanowi wewn�trzn� pami�� progra mu (ang. resident program memory lub internal program memory). Jest ti zawsze pami�� stal� (typu ROM lub EPROM). Wielko�ci i typ wewn�trznej pami�ci programu dla r�nych uk�ad�w rodziny MCS-5 zestawiono w tablicy 1.1. Pozosta�a cz�� przestrzeni adresowej (do ��czne pojemno�ci 64K) mo�e by� wykorzystana po do��czeniu do uk�ad' zewn�trznej pami�ci programu (ang. external program memory). Mo�e ti by� pami�� dowolnego typu, ale w praktycznych systemach stosuje si� n og� wy��cznie pami�� EPROM. Spos�b do��czenia zewn�trznej pami�< programu opisano w punkcie 3.1. Podzia� pami�ci programu na cz� wewn�trzn� i zewn�trzn� jest niezauwa�alny od strony programowej W pami�ci programu s� wyr�nione miejsca o nast�puj�cyd adresach: O - od kt�rego rozpoczyna si� wykonywanie programu po wyzerowa niu mikrokomputera (RESET), 3, 11, 19, 27, 35, 43 (03H, OBH, 13H, 1BH, 23H, 2BH) - od kt�ryci rozpoczyna si� wykonywanie program�w obs�ugi przerwa�, przy czyn kolejno�� przerwa� jest nast�puj�ca: Pl.O - P1.7 P2.0 - P2.7 0 ^ PO.O - PO.7 ft n�trzny schemat blo mputera 8051 P l P2 Cst�rounik^ Cst�rouruk) PO C�t�rounik5 ^ I r-"- 0 0 ^ R�U�str-adr�^ouy RAM =^ Parni �.d dariuct^ 128 R�M Pami�� programu 4K ROM <= ReJastr' �d>~�SOt->U ROM Pl P2 C bufora C but Ol" 3 PO Cbufoi-5 JL 1 r 0 0 ^ ^ ^ 0 ^ ^ ^r" ^ ^ \ .^ /1-Js �M-V /i-^ '^-v /LJS \r-^ ReJ�itr ARumul �tor B ftCC Bufor M�kJinik stosu SP Bufor KTflLI --- XTftL2 --- AL Rejestr DPTR Licznik Bufor ALU ----� . OLE -�-- EA --l RST --l Uk�ad � />-------- l l � stanu PSM ii PC \ryu RYS. 2.1. Wew kowy mikroko R�J�str " Z\ rozkttz�u J L, ^ 0 0 IE T M�D SCON e '> P3 <bufor5 I P TCON SBUF <u SM* pr-r tam ru�rt T�O SBUF (uai Jl T HO Por-t szere9o W^---T---- P3 TLI c -l TH1 Ukl-id ^ P3.0 - P3.7 cznikowy Pami�� duyck 39 fldr-t* Ch�x3 PflMIE;tf PROGRAMU M�un�trl 80S2 Mturuttr-z 80S1. B7S RYS. �2. 2000 l I ��r-ifFf1----- uk�adu � ^ 1000 l 4 T ��T--OFFF \---� � � �� � � uk�adu t J^ 0800 07FF | nnoo | 4...: Organizacja pami�ci programu 03H - zewn�trzne z wej�cia INTO, OBH - z licznika TO uk�adu czasowo-licznikowego, 13H - zewn�trzne z wej�cia INT1, 1BH - z licznika Tl uk�adu czasowo-licznikowego, 23 H - z portu szeregowego, 2BH - z licznika T2 uk�adu czasowo-licznikowego (tylko w 8052). W pami�ci programu mog� by� te� umieszczone dane (sta�e). Dost�p do nich (pobranie do akumulatora) jest mo�liwy tylko za pomoc� specjalnych rozkaz�w MOVC. Poza tym dane mog� by� argumentami bezpo�rednimi wielu rozkaz�w. Pami�� programu jest adresowana przez 16-bitowy licznik rozkaz�w (ang. program counter) - PC. Bity od 11 do 15 licznika rozkaz�w wyznaczaj� numer strony pami�ci, natomiast bity od O do 10 okre�laj� adres na stronie. W czasie zerowania systemu (RESET) licznik rozkaz�w jest zerowany. 2.2. PAMI�� DANYCH, REJESTRY UNIWERSALNE I SPECJALNE, STOS Wewn�trzna pami�� danych (ang. internat data memory) zawarta w uk�adzie mikrokomputera, przeznaczona na pami�� u�ytkow�, ma pojemno�� 128 lub 256 s��w 8-bitowych, w zale�no�ci od typu uk�adu (patrz tablica 1.1). Jest ona 40 Pami�� danych najdogodniejsza do zapami�tywania argument�w i wynik�w wszelkiego rodzaju oblicze�. Wi�kszo�� rozkaz�w przes�a� dotyczy tej w�a�nie pami�ci i to z niej s� pobierane dane do wi�kszo�ci dwuargumentowych operacji arytmetycznych i logicznych. Ponadto, w ramach osobnej przestrzeni adresowej mo�na do��czy� do uk�adu zewn�trzn� pami�� danych (ang. extemal data memory) o pojemno�ci do 64K- s��w. Programowy dost�p do tej pami�ci (przes�anie danych) jest mo�liwy tylko za pomoc� rozkaz�w MOVX. Zasady do��czania i wykorzystania zewn�trznej pami�ci danych opisano w punkcie 3.1. Na rysunku 2.3 pokazano organizacj� wewn�trznej pami�ci danych mikrokomputera 8051. Wyr�ni� tu trzeba dwa obszary pami�ci, tzn. obszar pami�ci u�ytkowej o adresach 0-127 (0-7FH) oraz obszar rejestr�w specjalnych (SFR) o adresach od 128-255 (80H-OFFH) - nie w pe�ni wykorzystany. Obszar pami�ci u�ytkouffJ Adres 255 <FFH; 128 (BOH 5 127 <7FH; 32 C20H1 31 C1FH> 24 CISH^ 23 C17H3 16 C10H:) 1S COFhO 8 (08H:> 7 C07h0 Obszar adresowany bi-touo WEWN�TRZNA PAMI�� DANYCH SFR Zbl� ZbiA RO R7 RO R7 RO Zbi� Zbl� RQ RYS. 2.3. Organizacja wewn�trznej pami�ci danych mikrokomputera 8051 W pami�ci u�ytkowej s�owa o adresach 0-7, 8-15, 16-23 i 24-3: stanowi� cztery zbiory uniwersalnych rejestr�w roboczych (ang. workim registers) RO...R7. S�owa te s� dost�pne programowo jako rejestr: adresowane przez nazw� (np. MOV A,R1). W danej chwili s� dost�pni rejestry tylko z jednego zbioru, wskazanego przez dwubitowy wska�nil zbioru rejestr�w (ang. register bank switch) - RS, zawarty w s�owie stani Rejestry specjalne 41 programu PSW (patrz punkt 2.3). Stan wska�nika zbioru rejestr�w mo�e by� zmieniany programowo. Drugi i dalsze zbiory rejestr�w mog� by� u�ywane jako rozszerzenie pierwszego. Mog� by� tak�e przeznaczone do wykorzystania w programach obs�ugi przerwa� lub podprogramach, kiedy istotne jest zachowanie zawarto�ci rejestr�w zbioru pierwszego, u�ywanych w programie g��wnym. Drugi z powy�szych sposob�w jest korzystny z tego powodu, �e wska�nik zbioru jest cz�ci� s�owa stanu, a