mcs51 - wykład 6
Post on 30-Dec-2015
70 Views
Preview:
DESCRIPTION
TRANSCRIPT
MCS51 - wykład 6
Wykład 5 1/32
Dołączanie układów zewnętrznych
Wbudowane peryferia
Przegląd rodziny MCS51
MCS51 - rozbudowa systemu z MCS51 2/32
Przy projektowaniu systemu bazującego na MCS51 należy pamiętać o:
• multipleksowaniu danych D0..D7 z adresami A0..A7 na porcie P0,
co wymaga stosowania dodatkowego zatrzasku na młodszy bajt
adresowy;
• obciążalności poszczególnych linii mikroprocesora;
• braku specjalnych sygnałów sterujących do portów zewnętrznych
(oznacza to jednolity sposób adresowania urządzeń zewn.
i pamięci RAM);
• rozdzieleniu przestrzeni adresowych zewnętrznej pamięci programu
i danych;
• możliwości stosowania zamiennie różnych odmian mikroprocesora
(rodzaj i wielkość wewnętrznej pamięci programu).
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT113
T014T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P02 37
P0336
P04 35
P0534
P06 33
P07 32
P20 21
P21 22
P2223
P23 24
P24 25
P2526
P26 27
P27 28
PSEN 29ALE/P30TXD 11RXD10
U1
8031
OC1C11
1D22D3 3D
4 4D5 5D6 6D7
7D8 8D9
1Q 192Q 183Q
174Q 165Q156Q 14
7Q 138Q12
U2
74HC573
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CE20
OE22
PGM27
VPP1
D011
D1 12
D2 13
D315
D4 16
D517
D6 18
D7 19
U3
2764
A[0..15]
D[0..7]
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
A1326
A141
CS20
OE22
WE27
O0 11
O112
O2 13
O3 15
O416
O5 17
O6 18
O719
U4
62256
A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14
A0A1A2A3A4A5A6A7A8A9A10A11A12
A15
A0A1A2A3A4A5A6A7
A8A9A10A11A12A13A14A15
12MHz
30p
30p
10u8k2
Vcc
Vcc
MCS51 - rozbudowa systemu z MCS51 3/32
Dołączanie zewnętrznych pamięci:
MCS51 - rozbudowa systemu z MCS51 4/32
Dołączanie modułów peryferyjnych z serii 8085:
EA/VP31
X119
X218
RESET9
RD17WR16
INT012 INT113
T014 T115
P101
P112
P123
P134
P145
P156
P167
P178
P00 39
P01 38
P02 37
P03 36
P04 35
P05 34
P06 33
P07 32
P20 21
P21 22
P22 23
P23 24
P24 25
P25 26
P26 27
P27 28
PSEN 29ALE/P 30TXD 11RXD 10
U1
8051
12MHz
30p
30p
10u
8k2Vcc
AD012 PA0 21
AD113 PA1 22
AD214 PA2 23
AD315 PA3 24
AD416 PA4 25
AD517 PA5 26
AD618 PA6 27
AD719 PA7 28
PB0 29
CE8 PB1 30
RD9 PB2 31
WR10 PB3 32IO/M7 PB4 33
ALE11 PB5 34
PB6 35
PB7 36
TMROUT6
PC0 37
PC1 38
TMRIN3 PC2 39
PC3 1
PC4 2
RESET4 PC5 5
U2
8155
1N41481
23
A
74LS132
1
23
A
74LS132
RESETinput
/RESET
RESET
MCS51 - rozbudowa systemu z MCS51 5/32
Dołączanie modułów peryferyjnych z serii 8080:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012 INT113
T014 T115
P101
P112
P123
P134
P145
P156
P167
P178
P00 39
P01 38
P02 37
P03 36
P04 35
P05 34
P06 33
P07 32
P20 21
P21 22
P22 23
P23 24
P24 25
P25 26
P26 27
P27 28
PSEN 29ALE/P 30TXD 11RXD 10
U1
87C51
12MHz
30p
30p
10u
8k2Vcc
1N41481
23
A
74LS132
1
23
A
74LS132
RESETinput
/RESET
RESET
D034
D133
D232
D331
D430
D529
D628
D727
PA0 4
PA1 3
PA2 2
PA3 1
PA4 40
PA5 39
PA6 38
PA7 37
PB0 18
PB1 19
PB2 20
PB3 21
PB4 22
PB5 23
PB6 24
PB7 25
PC0 14
PC1 15
PC2 16
PC3 17
PC4 13
PC5 12
PC6 11
PC7 10
RD5
WR36
A09
A18
RESET35
CS6
U3
8255
OC1C11
1D2 2D3 3D4 4D5 5D6 6D7 7D8 8D9
1Q 192Q 183Q 174Q 165Q 156Q 147Q 138Q 12U2
74573
Vcc
D[0..7]
A0A1A2A3A4A5A6A7
A0A1
A7
Adresy portów:PA: xx7ChPB: xx7DhPC: xx7EhRS: xx7Fh
MCS51 - rozbudowa systemu z MCS51 6/32
Dołączanie modułów peryferyjnych z serii 8080 (inny wariant):
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012 INT113
T014 T115
P101
P112
P123
P134
P145
P156
P167
P178
P00 39
P01 38
P02 37
P03 36
P04 35
P05 34
P06 33
P07 32
P20 21
P21 22
P22 23
P23 24
P24 25
P25 26
P26 27
P27 28
PSEN 29ALE/P 30TXD 11RXD 10
U1
87C31
12MHz
30p
30p
10u
8k2Vcc
1N41481
23
A
74LS132
1
23
A
74LS132
RESETinput
/RESET
RESET
D034
D133
D232
D331
D430
D529
D628
D727
PA0 4
PA1 3
PA2 2
PA3 1
PA4 40
PA5 39
PA6 38
PA7 37
PB0 18
PB1 19
PB2 20
PB3 21
PB4 22
PB5 23
PB6 24
PB7 25
PC0 14
PC1 15
PC2 16
PC3 17
PC4 13
PC5 12
PC6 11
PC7 10
RD5
WR36
A09
A18
RESET35
CS6
U3
8255
Vcc
D[0..7]
D08 OUT0 10
D17 GATE0 11
D26 CLK0 9
D35
D44
D53
D62 OUT1 13
D71 GATE1 14
CLK1 15
CS21
RD22
WR23
OUT2 17
A019 GATE2 16
A120 CLK2 18
U?
8254
Adresy portów:RT0: 0BCxxhRT1: 0BDxxhRT2: 0BExxhRS: 0BFxxh
Adresy portów:PA: 7CxxhPB: 7DxxhPC: 7ExxhRS: 7Fxxh
MCS51 - wbudowane peryferia 7/32
Synchronizowany 2-kierunkowy port równoległy:
• dodatkowy port wyposażony w 4 sygnały do transmisji z potwierdzeniem
• może też pracować jako zwykły port quasi-dwukierunkowy.
MCS51 - wbudowane peryferia 8/32
Podstawowe przebiegi portu synchronizowanego
wprowadzanie informacji
wyprowadzanie informacji
MCS51 - wbudowane peryferia 9/32
Uniwersalny interfejs urządzenia peryferyjnego:
• działa na bazie P0 uzupełnionego o dodatkowe rejestry;
• mikrokontroler działa jak programowalny układ sterujący urządzenia zewn.;
• system nadrzędny widzi P0 jako podwójny port 2-kierunkowy;
• wykorzystywane są linie: /RD, /WR, /CS (P2.5) i A0 (P2.4);
• /CS=0 uaktywnia UPI do transmisji z zewnątrz;
• A0=0 wybiera bufor/rejestr danych, A0=1 wybiera rejestr sterujący/stanu.
Wirtualne porty równoległe:
• do kilkunastu portów równoległych;
• porty są dostępne programowo tak jak porty wbudowane;
• część z portów ma bity bezpośrednio adresowalne.
MCS51 - wbudowane peryferia 10/32
MCS51 - wbudowane peryferia 11/32
Wyjścia PWM
fPWM = fOSC : 2 : 255 : (1+PWMP)
MCS51 - wbudowane peryferia 12/32
Komparatory analogowe
89C1051, 89C2051 Atmela:
MCS51 - wbudowane peryferia 13/32
Komparatory analogowe Philipsa
MCS51 - wbudowane peryferia 14/32
Przetworniki A/C
Intela
MCS51 - wbudowane peryferia 15/32
Przetworniki A/C
Philipsa:
• kompensacyjny 8/10b;
• tKONW=40..50c.m.;
• start konwersji sprzętowy lub programowy;
• zgłaszanie przerwań;
• rejestry wyników.
MCS51 - wbudowane peryferia 16/32
Przetworniki A/C Siemensa
• możliwość programowego zawężania zakresu przetwarzania.
MCS51 - wbudowane peryferia 17/32
Układy arytmetyki
MDU Siemensa:
• operacje przesuwania, normalizacji, dzielenia i mnożenia 16b i 32b liczb w NB;
• kilkukrotne skrócenie czasu obliczeń arytmetycznych (do 4..6 c.m.);
• obsługa poprzez 6 rejestrów danych (MD0..MD5) i rejestr sterujący (ARCON);
• rodzaj wykonanej operacji zależy od sposobu zapisu do rejestrów MDx.
Układy arytmetyki Philipsa:
• układ dzielenia liczb 24b przez 8b w 8 c.m.;
• układ dzielenia lub mnożenia liczb 24b przez 16b w 4 c.m..
MCS51 - wbudowane peryferia 18/32
Pamięć XRAM
• pamięć o pojemności od kilkuset B (256B) do kilku kB;
• dostępna programowo tak jak fizycznie zewn. RAM;
• wykorzystanie rozkazów MOVX z adresowaniem poprzez R0 i R1 zależy od konkretnej implementacji;
• aktywna cały czas po resecie albo włączana specjalnym bitem sterującym;
MCS51 - wbudowane peryferia 19/32
Pamięć EEPROM
• pojemność od kilkuset B do kilku kB;
• dostęp poprzez specjalne rejestry: adresu, danych i sterujący;
• odczyt natychmiastowy;
• zapis trwa do kilku ms;
• uruchomienie zapisu wymaga specjalnej sekwencji sterującej;
MCS51 - wbudowane peryferia 20/32
Układy czuwające - watchdogi
• wyzerowanie się/przepełnienie licznika powoduje reset układu;
• skasowanie licznika wymaga specjalnej sekwencji programowej;
w układach Siemensa
MCS51 - wbudowane peryferia 21/32
Układy czuwające - watchdogi
w układach Philipsa
MCS51 - wbudowane peryferia 22/32
Układy czuwające - generatory czuwające (oscillator watchdog)
• nadzorują częstotliwość pracy generatora taktu;
• mają własny oscylator;
• przy spadku częstotliwości generatora poniżej wartości progowej zerują mikrokontroler;
Układy monitorujące napięcie zasilania:
• układ wykrywa spadek napięcia zasilającego poniżej wartości progowej (np. poniżej 3V dla układu zasilanego z 5V);
• sygnalizuje taki spadek ustawieniem odpowiednie flagi np. w rej. PCON;
• może powodować przerwanie o najwyższym priorytecie albo reset układu.
MCS51 - wbudowane peryferia 23/32
Układ RTC
• dodatkowy oscylator 32768Hz;
• zestaw podzielników i rejestrów: ułamków sekund, sekund, minut, godzin, dni tygodnia, dni (16-bitowy);
• możliwe funkcje alarmu i zgłaszania przerwań.
Licznik sekundowy
• licznik zliczający impulsy o f=32768Hz;
• generuje przerwania o T=1s;
• może działać także w trybie wyłączenia (power down).
MCS51 - zestawienie 24/32
typ C wewn. ROMilość kB / typ
wewn.RAM
ilość B
liczbalinii
we/wy
liczn.timery
porty ilośćżród./poz.
innewłaściwości
szer I2C przer.
80C3180C5187C5189C51
-4ROM
4EPROM4FLASH
128 32 2 1 - 5/2 -
80CL3180CL51
-4ROM
128 32 2 1 - 13/2 dod. 8 przerwań zewn. na P1, U CC=1,8-6,0V
89LV51 4FLASH 128 32 2 1 - 5/2 UCC=2,7-6V
80C51FA83C51FA87C51FA
-8ROM
8EPROM
256 32 3 1 - 7/2 układ PCA, rozszerzone SIO
80C51FB83C51FB87C51FB
-16ROM
16EPROM
256 32 3 1 - 7/4 układ PCA, rozszerzone SIO
80C51FC83C51FC87C51FC
-32ROM
32EPROM
256 32 3 1 - 7/4 układ PCA, rozszerzone SIO
83L51FA87L51FA
8ROM8EPROM
256 32 3 1 - 7/2 układ PCA, rozszerzone SIO,UCC=3,0-4,5V
83L51FB87L51FB
16ROM16EPROM
256 32 3 1 - 7/2 układ PCA, rozszerzone SIO,UCC=3,0-4,5V
MCS51 - zestawienie 25/32
80C51GB87C51GB
-8EPROM
256 48 3 2 - 15/4 2 układy PCA, 8b A/C z 8we, rozszerzoneSIO, 2 układy watchdog
80C3280C5287C5289C52
-8ROM
8EPROM8FLASH
256 32 3 1 - 6/2 -
80CL3280CL52
-8ROM
256 32 3 1 - 14/2 dod. 8 przerwań zewn. na P1, U CC=1,8-6,0V
89LV52 8FLASH 256 32 3 1 - 6/2 UCC=2,7-6,0V
80C32T280C52T287C52T2
-8ROM
8EPROM
256 32 2 1 - 5/2 -
C501-LC501-1R
-8ROM
256 32 3 1 - 6/2 -
C502-2LC502-2R
-16ROM
256 32 3 1 - 6/2 2 watchdogi8 DPTR
C503-LC503-1R
-8ROM
256 32 3 1 - 7/2 2 watchdogi,10b A/C z 8we
80C5487C54
16ROM16EPROM
256 32 3 1 - 6/4 rozszerzone SIO
89C55 20FLASH 256 32 3 1 - 6/2 -
80C5887C58
32ROM32EPROM
256 32 3 1 - 6/4 rozszerzone SIO
MCS51 - zestawienie 26/32
80C15283C152
-8ROM
256 40/56 2 2 - 11/2 -
80C15483C154
-8ROM
256 32 3 1 - 6/2 SIO z detekcją błędów, progr. imped. we/wy
80C310 - 256 32 3 1 - 10/2 przyśp. cykl masz.,2 DPTR, regulowany czas trwania MOVX
80C320 - 256 32 3 2 - 13/3 jak 80C310 + watchdog, 2 rozszerzone SIO
80C323 - 256 32 3 2 - 13/3 jak 80C320 +UCC=2,7-5,5V
80C324 - 256 32 2 1 - 5/2 watchdog, 2 DPTR, wirtualne porty równ.
80CL41083CL410
-4ROM
128 32 2 1 1 13/2 UCC=1,8-6,0V
80CL41183CL411
-4ROM
256 32 2 1 - 13/2 UCC=1,8-6,0V
80C45183C45187C451
-4ROM
4EPROM
128 44/48 2 1 - 5/2 synchronizowany port równoległy
80C45383C45387C453
-8ROM
8EPROM
256 48 2 1 - 7/2 synchronizowany port równoległy,rozszerzone SIO
83C50487C504
16ROM16EPROM
256 32 2 1 - 5/2 rozszerzone SIO, szybka arytmetykawielobajtowa
MCS51 - zestawienie 27/32
83C50887C508
32ROM32EPROM
256 32 2 1 - 5/2 rozszerzone SIO, szybka arytmetykawielobajtowa
80C51583C515
-8ROM
256 48 2 1 - 12/4 CCU, watchdog,8b A/C z 8 we
80C515A83C515A
-32ROM
256 48 2 1 - 12/4 CCU, watchdog,10b A/C z 8 we, 1kB XRAM
80C51780C537
8ROM-
256 56 2 2 - 14/4 CCU, watchdog,8b A/C z 12 we,
szybka arytmetyka wielobajtowa, 8 DPTR
80C517A83C577A
-32ROM
256 56 2 2 - 17/4 CCU, 2 watchdogi,10b A/C z 12 we,
szybka arytmetyka wielobajtowa, 8 DPTR,2kB XRAM
83C52087C520
32ROM32EPROM
256 32 3 2 - 13/3 watchdog, 2 DPTR,2 rozszerzone SIOprzyśp. cykl masz.,
regulowany czas trwania MOVX,dynamiczna zmiana rozmiaru wewn. ROM,
1kB XRAM
80C32180C52187C521
-8ROM
8EPROM
256 32 2 1 - 5/2 watchdog, 2 DPTR
83C52487C524
16ROM16EPROM
256 32 3 1 1 7/2 watchdog,256B XRAM
MCS51 - zestawienie 28/32
80C52883C52887C528
-16ROM
16EPROM
256 32 3 1 1 7/2 watchdog,256B XRAM
80CE52883CE52889CE528
-32ROM
32FLASH
256 32 3 1 1 7/2 watchdog,256B XRAM,
obniżona emisja zakłóceń elektromagn.
87C530 16EPROM 256 32 3 2 - 14/3 watchdog, 2 DPTR,2 rozszerzone SIOprzyśp. cykl masz.,
regulowany czas trwania MOVX,dynamiczna zmiana rozmiaru wewn. ROM,
1kB XRAM, RTC
80C54187C541
-16EPROM
256 32 2 1 - 5/2 watchdog, 2 DPTR
80C55083C55087C550
-4ROM
4EPROM
128 32 2 1 - 7/2 watchdog,8b A/C 8 we
80C55283C55287C552
-8ROM
8EPROM
256 40 2 1 1 15/2 CCU, watchdog,10b A/C 8 we,
2 wyjścia PWM
80CE55883CE55889CE558
-32ROM
32FLASH
256 40 2 1 1 15/2 CCU, watchdog,10b A/C 8 we,
2 wyjścia PWM, 768B XRAM,licznik sekundowy
MCS51 - zestawienie 29/32
80CE55983CE55989CE559
-48ROM
48FLASH
256 40 2 1 1 15/2 CCU, watchdog,10b A/C 8 we,
2 wyjścia PWM, 1280B XRAM,licznik sekundowy
80C56283C562
-8ROM
256 40 2 1 - 14/2 CCU, watchdog,8b A/C 8 we,
2 wyjścia PWM
80C57583C57587C575
-8ROM
8EPROM
256 32 3 1 - 7/2 układ PCA, 2 watchdogi, rozszerzone SIO,zespół komparatorów analogowych, możliwa
redukcja emisji zakłóceń elektromagn.
83C57687C576
8ROM8EPROM
256 32 3 1 - 15/2 układ PCA, 2 watchdogi, rozszerzone SIO,zespół komparatorów analogowych, możliwa
redukcja emisji zakłóceń elektromagn.,10b A/C 6 we, 2 wyjścia PWM, interfejs UPI
80CL58083CL58085CL580
-6ROM
piggy back
256 40 3 1 1 15/2 8b A/C z 4 we, wyjście PWM, watchdog,UCC=2,5-6,0V
80C59283C59287C592
-16ROM
16EPROM
256 40 2 1 - 15/2 CCU, watchdog, interfejs CAN z DMA,10b A/C 8 we,
2 wyjścia PWM, 256B XRAM
80CE59883CE59887CE598
-32ROM
32EPROM
256 40 2 1 - 15/2 CCU, watchdog, interfejs CAN z DMA,10b A/C 8 we,
2 wyjścia PWM, 256B XRAM
MCS51 - zestawienie 30/32
80C65283C65287C652
-8ROM
8EPROM
256 32 2 1 1 6/2
83C65487C654
16ROM16EPROM
256 32 2 1 1 6/2
80CE65483CE654
-16ROM
256 32 2 1 1 6/2 zmniejszona emisja zakłóceń elektromagn.
83C74887C748
2ROM2EPROM
64 19 1 - - 4/1 10b licznik cykli masz., bez zewn.ROM/RAM, wąska DIP24
83C74987C749
2ROM2EPROM
64 21 1 - - 6/1 10b licznik cykli masz., 8b A/C z 5 we,DIP28,
wyjście PWM, bez zewn. ROM/RAM
83C75087C750
1ROM1EPROM
64 19 1 - - 3/1 wąska DIP24,bez zewn. ROM/RAM
83C75187C751
2ROM2EPROM
64 19 1 - 1 5/1 10b licznik cykli masz., wąska DIP24,bez zewn. ROM/RAM
83C75287C752
2ROM2EPROM
64 21 1 - 1 7/1 10b licznik cykli masz., 8b A/C z 5 we,DIP28,
wyjście PWM, bez zewn. ROM/RAM
80CL78183CL78185CL781
-16ROM
piggy back
256 32 3 1 1 15/2 UCC=1,8-6,0V
MCS51 - zestawienie 31/32
80CL78283CL782
-16ROM
256 32 3 1 1 15/2 UCC=1,8-6,0V
80CL85183CL85187CL851
-4ROM
4EPROM
128 32 2 1 - 5/2 256B EEPROM
89C1051 1FLASH 64 15 1 - - 3/2 komparator analogowy, wąska DIP20,bez zewn. ROM/RAM
89C1051U 1FLASH 64 15 2 1 - 5/2 jak 89C1051, ale UCC=2,7-6,0V
89C2051 2FLASH 128 15 2 1 - 5/2 komparator analogowy, wąska DIP20,bez zewn. ROM/RAM
89S8252 8FLASH 256 32 3 1 - 7/2 2kB EEPROM, interfejs SPI, watchdog, 2DPTR
TS80C51RA2TS83C51RB2TS83C51RC2TS87C51RB2TS87C51RC2TS87C51RD2
-16ROM32ROM
16EPROM32EPROM64EPROM
256 32 3 1 - 7/4 256B XRAM, PCA, watchdog, rozszerzonefunkcje SIO, kwarc do 30MHz, 6 taktów/cykl
TS80C51RD2TS83C51RD2TS87C51RD2
-64ROM
64EPROM
256 32 3 1 - 7/4 768B XRAM, PCA, watchdog, rozszerzonefunkcje SIO, kwarc do 30MHz, 6 taktów/cykl
MCS51 - zestawienie 32/32
DS80C390 4SRAM 48 3 2 - 4kBSRAM jako program/dane/stos, 2xDPTR,16/32-bitowy koprocesor, 22-bitowy PC,
2xCAN2.0, kwarc do 40MHz, 4 takty na cyklmasz., watchdog
DS89C420 16FLASH 256 32 3 1 - 13/2 1kBXRAM, 2xDPTR, PMM, FLASHprogramowalna w układzie, kwarc do 50MHz
W925E/C240 4banki po64FLASH
256 40 2 1 1 8kBXRAM, watchdog, komparatoranalogowy, uproszcz. port synchr.,
modulator/demodulator FSK1200, Bell202,V.23, odbiornik/ nadajnik DTMF, detektor
sygnału dzwonienia, sygnałów CAS
CC1010 32FLASH 126 26 4 2 2kBXRAM, SPI, RTC, watchdog,3wex10bA/C, kwarc do 24MHz, blokkryptograficzny DES, generator liczb
losowych, rozkaz TRAP do sprzętowegodebugingu, transceiver radiowy na pasma:
315, 433, 868, 915MHz
MSC1210 32FLASH 256 40 3 2 - 1kBXRAM, 8we 24b A/C, precyzyjne Uref,dodatkowy 32b akumulator, watchdog,
czasomierz systemowy, 4 takty na cykl masz.,16b PWM, kontroler napięcia zasil.,
MCS51 - zestawienie 32/32
XC8xx(Infineon)
4..64FLASHlub ROM
768B..3kB
13..48 3 2 - 1kBXRAM, 8we 24b A/C, precyzyjne Uref,dodatkowy 32b akumulator, watchdog,
czasomierz systemowy, 4 takty na cykl masz.,16b PWM, kontroler napięcia zasil.,
MCS51 - zestawienie 32/32
2008 - mikrokontrolery MCS51 miały 17% udziału w sprzedaży na świecie
Silicon Labs z 2014:(rodzina dedykowana m.in. do obsługi paneli HMI)
top related