Mikrořadiče řady 8051
Řada 8051
Řada obvodů 8051 obsahuje několik typů obvodů. Jednotlivé obvody se od sebe liší technologií výroby a svojí konstrukcí. Způsob programování je však u všech typů obdobný až na některé drobné výjimky vyplývající z konstrukce mikropočítače. těchto mikropočítačů je vývojovým pokračováním řady 8048. Mikropočítačová řada 8051 je však rozšířena a obohacena o nové funkce a představuje kvalitativní skok. Je určena především pro tzv. malé aplikace, kde může plně nahradit 8bitové univerzální mikroprocesory a celou skupinu jejich podpůrných obvodů.
Instrukční soubor monolitockého mikropočítače řady 8051 je nadmnožinou instrukcí mikropočítače 8048, neboť obsahuje takřka všechny jeho instrukce a je rozšířen o další instrukce, typy dat a způsoby adresování. Mikropočítače řady 8051 jsou konstruovány podle tzv. Harwardského principu, který se od klasického Von Neumannovského liší tím, že paměť dat a paměť programu je oddělena.
Kromě těchto vnitřních pamětí dat a programu je možno k mikropočítačům připojit vnější paměť dat i vnější paměť programu (obě mohou mít až 64KB).
Obvody řady 8051 jsou mikropočítače, to znamená, že na rozdíl od klasických mikroprocesorů je na čipu obsažena řada dalších obvodů, které zjednodušují jejich použití v malých aplikacích, kde není obvod třeba doplňovat dalšími podpůrnými obvody. Hlavní vlastnosti obvodů řady 8051 lze stručně shrnout v následujícím přehledu:
- osmibitová centrální procesorová jednotka (CPU)
- 32 linek V/V (4 osmibitové porty)
- oscilátor a obvody hodin na čipu
- 64 KB adresový prostor pro vnější paměť programu
- 64 KB adresový prostor pro vnější paměť dat
- dva šestnáctibitové časovače/čítače
- pět zdrojů přerušení se dvěma úrovněmi priorit
- plně duplexní sériový port
- Booleovský procesor
Organizace paměti
Mikrořadiče 8051 a mají oddělený prostor pro paměť programu a paměť dat.
Paměť programu
může mít rozsah až do 64 KB. Nejnižší
4 KB
mohou být umístěny na čipu (paměť typu
ROM
). Paměť dat je typu
RWM
-
RAM
a její rozsah vně čipu může být až 64 KB. Kromě vnější paměti dat je přímo na čipu
128 B vnitřní paměti dat
a navíc určitý počet registrů speciálních funkcí (SFR - Special Function Registers).
>
Struktura paměťových prostorů 8051
Z uvedených schemat je zřejmé, že obvody 8051 mají tři základní paměťové prostory:
- 64 KB paměti programu ( 4 KB vnitřní ROM)
- 64 KB vnější paměti dat
- 256 B vnitřní paměti dat (128 B pro data, zbytek je SFR)
Adresový prostor paměti programu
Adresový prostor paměti programu má velikost 64 KB a skládá se z vnitřní a vnější části paměti. Odkud se program zavádí určuje signál
EA
(negace EA). Je-li na vstup mikroprocesoru
EA
přivedena logická hodnota 1, zavádí se program z vnitřní paměti programu, pokud adresa nepřekročí hodnotu 0FFFH . Obsahy adres 1000H až 0FFFFH se v tomto případě vybírají z vnější paměti programu. V případě, že na vstup
EA
je přivedena logická hodnota 0, vybírají se všechny instrukce z vnější paměti programu. Pro adresování používá šestnáctibitový programový čítač
(PC)
.
Paměťová místa o adresách 00H až 23H v paměti programu jsou využívána pro přechod do obslužných programů přerušení tak, jak ukazuje následující tabulka:
Zdroj přerušení
|
Adresa počátku obsluhy přerušení
|
Vnější přerušení 0
|
0003H
|
Přetečení časovače 0
|
000BH
|
Vnější přerušení 1
|
0013H
|
Přetečení časovače 1
|
001BH
|
Od sériové linky
|
0023H
|
Adresový prostor paměti dat
Adresový prostor paměti dat se skládá z vnitřního a vnějšího adresového prostoru. Vnější paměť dat se používá při provádění instrukce MOVX.
Vnitřní paměť dat se dělí na dva fyzicky oddělené a vyznačené bloky:
- nižších 128 bytů RAM
- 128 bytů oblasti registrů speciálních funkcí SFR (plně nevyužito)
V následující tabulce je znázorněna struktura paměťového prostoru nižší 128bytové oblasti vnitřní paměti dat:.
HEX
|
|
DEC
|
|
7FH
|
K volnému použití.
|
127
|
|
...
|
...
|
|
30H
|
48
|
|
2FH
|
7FH
|
7EH
|
7DH
|
7CH
|
7BH
|
7AH
|
79H
|
78H
|
47
|
¬
|
2EH
|
77H
|
76H
|
75H
|
74H
|
73H
|
72H
|
71H
|
70H
|
46
|
|
|
2DH
|
6FH
|
6EH
|
6DH
|
6CH
|
6BH
|
6AH
|
69H
|
68H
|
45
|
B
|
2CH
|
67H
|
66H
|
65H
|
64H
|
63H
|
62H
|
61H
|
60H
|
44
|
I
|
2BH
|
5FH
|
5EH
|
5DH
|
5CH
|
5BH
|
5AH
|
59H
|
58H
|
43
|
T
|
2AH
|
57H
|
56H
|
55H
|
54H
|
53H
|
52H
|
51H
|
50H
|
42
|
O
|
29H
|
4FH
|
4EH
|
4DH
|
4CH
|
4BH
|
4AH
|
49H
|
48H
|
41
|
V
|
28H
|
47H
|
46H
|
45H
|
44H
|
43H
|
42H
|
41H
|
40H
|
40
|
Á
|
27H
|
3FH
|
3EH
|
3DH
|
3CH
|
3BH
|
3AH
|
39H
|
38H
|
39
|
|
26H
|
37H
|
36H
|
35H
|
34H
|
33H
|
32H
|
31H
|
30H
|
38
|
O
|
25H
|
2FH
|
2EH
|
2DH
|
2CH
|
2BH
|
2AH
|
29H
|
28H
|
37
|
B
|
24H
|
27H
|
26H
|
25H
|
24H
|
23H
|
22H
|
21H
|
20H
|
36
|
L
|
23H
|
1FH
|
1EH
|
1DH
|
1CH
|
1BH
|
1AH
|
19H
|
18H
|
35
|
A
|
22H
|
17H
|
16H
|
15H
|
14H
|
13H
|
12H
|
11H
|
10H
|
34
|
S
|
21H
|
0FH
|
0EH
|
0DH
|
0CH
|
0BH
|
0AH
|
09H
|
08H
|
33
|
T
|
20H
|
07H
|
06H
|
05H
|
04H
|
03H
|
02H
|
01H
|
00H
|
32
|
^
|
1FH
|
R7
|
31
|
|
1EH
|
R6
|
30
|
|
...
|
Register Bank 3
|
...
|
|
19H
|
R1
|
25
|
|
18H
|
R0
|
24
|
|
17H
|
R7
|
23
|
|
16H
|
R6
|
22
|
|
...
|
Register Bank 2
|
...
|
Z
|
11H
|
R1
|
17
|
Á
|
10H
|
R0
|
16
|
S
|
0FH
|
R7
|
15
|
O
|
0EH
|
R6
|
14
|
B
|
...
|
Regiter Bank 1
|
...
|
N
|
09H
|
R1
|
9
|
Í
|
08H
|
R0
|
8
|
K
|
07H
|
R7
|
7
|
^
|
06H
|
R6
|
6
|
|
05H
|
R5
|
5
|
|
04H
|
R4
|
4
|
|
03H
|
R3
|
Register Bank 0
|
|
3
|
|
02H
|
R2
|
|
2
|
|
01H
|
R1
|
1
|
|
00H
|
R0
|
0
|
|
Z tabulky je zřejmé, že od adresy 00H jsou v paměti pro data umístěny čtyři banky registrů (Bank 0 až Bank 3), každá po osmi registrech (R0 až R7). V jeden okamžik je možno pracovat pouze s jednou bankou! Dále následuje 128 přimo adresovatelných bitů (00H až 7FH - bitové adresy!) - bitová oblast. Nad bitovou oblastí je od adresy 30H do 7FH (bajtové adresy) paměť k libovolnému použití. Aby to nebylo tak jednoduché, tak na adrese 07H je umístěno dno zásobníku! Data se do něho ukládají směrem nahoru. První údaj se tudíž uloží na adresu 08H. Tam je ale registr R0 z banky1. Pokud chceme využívat zásobník a i jiné banky registrů než banku0, musíme zásobník přemístit jinam!
!!! Otestuj si své znalosti !!!
© 2005 Bureš Střední školy EDUCHEM, a. s.