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:

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


Programová paměť


Datová paměť


Z uvedených schemat je zřejmé, že obvody 8051 mají tři základní paměťové prostory:

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:

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.