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