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