Opis mikrokontrolera 8051

Transkrypt

Opis mikrokontrolera 8051
Podstawowe parametry mikrokontrolerów z rodziny MCS-51, typu 8051 lub 8052
Jednostka centralna i układy sterujące:
8-bitowa jednostka arytmetyczno-logiczna ALU,
lista instrukcji zawiera 111 rozkazów, 49 jednobajtowych, 45 dwubajtowych i 17 trzybajtowych,
lista instrukcji obejmuje rozkazy arytmetyczne, logiczne, rozkazy przesyłań danych, rozkazy operujące na bitach,
rozkazy skoku i obsługi przerwań,
operacje arytmetyczne i logiczne wykorzystują akumulator,
pięć trybów adresowania: rejestrowe, bezpośrednie, natychmiastowe, pośrednie zawartością rejestru,
architektura mikrokontrolera typu Harvard,
wbudowany generator sygnału zegarowego,
częstotliwość sygnału zegarowego od 0Hz do 66MHz, w zależności od producenta i wersji,
możliwość podłączenia zewnętrznego sygnału zegarowego,
12 taktów zegara na jeden cykl maszynowy, (dla nowszych wersji może być 6, 4 lub 1 takt na cykl maszynowy)
szybkość działania 1MIPS dla fx=12MHz,
możliwość realizacji 8-bitowej zewnętrznej szyny danych i 16-bitowej zewnętrznej szyny adresowej,
Pamięć programu:
wewnętrzna lub zewnętrzna pamięć programu ROM o maksymalnym sumarycznym rozmiarze 64kB,
w zależności od wersji może to być pamięć typu ROM, EPROM, OTP lub Flash EEPROM,
wersja 8031 lub 8032 bez wewnętrznej pamięci programu tzw. Romless,
wewnętrzna pamięć programu programowana równoległe (w niektórych wersjach programowanie szeregowe, tzw. w
systemie ISP, np. poprzez szeregowe złącze synchroniczne SPI lub asynchroniczne UART)
Pamięć danych:
128 bajtów tzw. dolnego obszaru pamięci RAM, adresy od 00h do 7Fh, adresowanie pośrednie i bezpośrednie,
128 bajtów tzw. górnego obszaru pamięci RAM, adresy od 80h do FFh, adresowanie tylko pośrednie,
razem 256 x 8-bitów wewnętrznej pamięci danych RAM, tylko w układzie typu 8052,
w układach typu 8051 brak górnego obszaru pamięci RAM,
dolny obszar pamięci RAM zawiera:
4 banki rejestrów (R0 do R7) ogólnego przeznaczenia w dolnym obszarze pamięci RAM, (adresy od 00h do 1Fh),
16 bajtów zawierających 128 bezpośrednio adresowanych bitów, (adresy od 20h do 2Fh),
pamięć ogólnego przeznaczenia od adresu 30h do 7Fh,
stos umieszczony jest w pamięci RAM, początek stosu 08h,
128-bajtowa przestrzeń adresowa rejestrów specjalnego przeznaczenia tzw. rejestrów sterujących, SFR,
niektóre nowsze wersje mikrokontrolera mają dodatkową pamięć RAM typu SRAM lub EEPROM,
możliwości podłączenia zewnętrznej pamięci danych RAM, maksymalnie do 64kB,
brak rozróżnienia na operacje wejścia/wyjścia i operacje związane z zewnętrzną pamięcią danych,
Układy wejścia/wyjścia:
32 programowalnych linii wejścia/wyjścia, pogrupowanych w cztery, 8-bitowe, wielofunkcyjne porty P0, P1, P2, P3,
po zerowaniu mikrokontrolera wszystkie linie portów ustawione są w stan wysoki,
przy korzystaniu z zewnętrznej szyny danych i zewnętrznej szyny adresowej porty P0 i P2 są zajęte,
dwa 16-bitowe układy czasowe, (czasomierze/liczniki), T0, T1 w układzie 8051,
dodatkowy 16-bitowy układ czasowy T2 w układzie 8032/8052,
każdy układ czasowy może pracować w czterech trybach,
układy czasowe mają możliwość zliczania impulsów wewnętrznych i zewnętrznych,
programowalny port szeregowy typu UART, tzw. full duplex, (cztery tryby pracy), transmisja 8 lub 9-bitowa,
szybkość transmisji ustalana programowo i sprzętowo,
System przerwań:
5 źródeł przerwań w układzie 8031/8051, dwa zewnętrzne, dwa poziomy przerwań,
przerwania zewnętrzne INT0 i INT1, przerwania wewnętrzne od układów czasowych T0 i T1 oraz przerwanie z
portu szeregowego,
dodatkowe przerwanie z układu czasowego T2 w układzie 8052,
Parametry zasilania:
napięcie zasilania Vcc = 2.7V do 5.5V, w zależności od wersji,
dwa tryby pracy z obniżonym poborem mocy, tryb uśpienia , tzw. Idle, tryb pracy zamrożonej, tzw. Power Down,
Obudowa i dodatkowe informacje:
typowe obudowy mikrokontrolerów DIL40, PLCC44 i TQFP44,
zerowanie mikrokontrolera stanem wysokim,
pierwszym producentem mikrokontrolerów była firma Intel, rok 1980 układ 8051, rok 1984 układ typu 8052,
mikrokontroler produkowany przez wiele firm, np. Analog Devices, Atmel, Infineon, NXP
producenci oferują bardzo duża liczbę różnych wersji mikrokontrolera z dodatkowymi elementami i układami,
duża liczba oprogramowania typu shareware, demo i freeware.
1
FFFFh
Odczyt pamięci
programu tylko
rozkazem MOVC
EA=0
1FFFh
EA=1
EA=1
00h
Wewnętrzna np. wewnętrzna +
zewnętrzna
8kB
maks. 64kB
FFFFh
Rozszerzona
wewnętrzna 128B
PSEN
Wyróżnione
miejsca w pamięci
programu,
wektory przerwań
002Bh – T2
0023h – UART
001Bh – T1
0013h – INT1
000Bh – T0
0003h – INT0
0000h - RESET
XDATA
FFh
IDATA
SFR
MOV@
MOV
1Fh
DATA
00h
tylko zewnętrzna
maks. 64kB
MOV
MOV@
Podstawowa wewnętrzna
128B + 128B SFR
Odczyt
lub zapis
tylko
rozkazem
MOVX
RD
WR
0000h
zewnętrzna
maks. 64kB
Przestrzeń adresowa pamięci programu ROM (CODE) i przestrzeń adresowa pamięci danych RAM
(DATA, IDATA, XDATA, SFR)
7Fh
Przestrzeń
użytkowa pamięci
RAM
30h
2Fh 7F 7E 7D 7C 7B 7A 79 78
77
6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
20h 07
1Fh
18h
17h
10h
0Fh
08h
07h
00h
76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06
75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05
74
6C
64
5C
54
4C
44
3C
34
2C
24
1C
14
0C
04
BANK 3
73
6B
63
5B
53
4B
43
3B
33
2B
23
1B
13
0B
03
72
6A
62
5A
52
4A
42
3A
32
2A
22
1A
12
0A
02
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01
70
68
60
58
50
48
40
38
30
28
20
18
10
08
00
Przestrzeń
adresowana
bitowo
11b
BANK 2
10b
BANK 1
01b
BANK 0,
R0 do R7
00b
Zespół 4
banków
roboczych
Początek
stosu
Struktura podstawowej wewnętrznej pamięci RAM
2
Struktura wewnętrzna typowego układu 8032/8052
C2
24 pF
12 MHz
24 pF
RES E T
31
9
X2
U1
1u F/16 V
+
C3
S1
E A/V P
RES E T
10 k
R1
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
P 3.0/RXD
P 3.1/T XD
P 3.2/INT 0
P 3.3/INT 1
P 3.4/T 0
P 3.5/T 1
P 3.6/WR
P 3.7/RD
P 1.0/T 2
P 1.1/T 2E X
P 1.2
P 1.3
P 1.4
P 1.5
P 1.6
P 1.7
X1
V cc
RES E T
19
Y1
18
V cc
C1
P 0.0/A D0
P 0.1/A D1
P 0.2/A D2
P 0.3/A D3
P 0.4/A D4
P 0.5/A D5
P 0.6/A D6
P 0.7/A D7
P 2.0/A 8
P 2.1/A 9
P 2.2/A 10
P 2.3/A 11
P 2.4/A 12
P 2.5/A 13
P 2.6/A 14
P 2.7/A 15
P SE N
A LE /P
V CC
V SS
8052
Rozmieszczenie końcówek układu 8051/52 w obudowach DIP 40 lub PLCC 44
i podstawowy układ podłączenia mikrokontrolera
3
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
29
30
40
20
V cc
C4
0.1u F