Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Mikrokontrolery MCS51. Literatura H.Małysiak - Mikrokomputery jednoukładowe serii MCS48, MCS51, MCS96 (PKJS Gliwice 1992) T.Prokop - Wybrane mikrokomputery.

Podobne prezentacje


Prezentacja na temat: "Mikrokontrolery MCS51. Literatura H.Małysiak - Mikrokomputery jednoukładowe serii MCS48, MCS51, MCS96 (PKJS Gliwice 1992) T.Prokop - Wybrane mikrokomputery."— Zapis prezentacji:

1 Mikrokontrolery MCS51

2 Literatura H.Małysiak - Mikrokomputery jednoukładowe serii MCS48, MCS51, MCS96 (PKJS Gliwice 1992) T.Prokop - Wybrane mikrokomputery jednomodułowe firmy INTEL (Wydawnictwa PW 1991) P.i P.Gałka - Podstawy programowania mikrokontrolera 8051 (Mikom 1995) T.Starecki - Mikrokontrolery jednoukładowe rodziny 51 (NOZOMI 1996) T.Starecki - mikrokontrolery 8051 w praktyce (BTC 2004) J.Janiczek, A.Stępień - Mikrokontrolery (WCKP 1999) J.Janiczek, A.Stępień - Laboratorium systemów mikroprocesorowych. cz I i II (WCKP, 1996) J.Doliński - Mikrokomputer jednoukładowy (Wyd. PLJ 1993) J.M.Sibigtroth - Zrozumieć małe mikrokontrolery (BTC 2003) R.Pełka - Mikrokontrolery, architektura, programowanie, zastosowania (WKŁ 1999) L.Grodzki - materiały do przedmiotu - pliki *.pdf dostępne na stronie www przedmiotu

3 Wykład 1 1/38 Architektura MCS51 Przestrzenie adresowe Tryby adresowania Lista rozkazów

4 Historia 2/ rodzina MCS48: 8048/49/ /21/22 6MHz 1983 rodzina MCS51: 8051/52 12MHz rodzina MCS96 rodziny MCS151 MCS251

5 Architektura MCS51 3/38 Układ 8051 z serii MCS51 charakteryzuje się następującymi cechami: ośmiobitową jednostką CPU; wbudowanym procesorem operacji bitowych; szeroką gamą 255 instrukcji, w tym rozkazów szybkiego mnożenia i dzielenia liczb 1-bajtowych; wbudowanym obwodem zegara systemu; obecnością 32 linii we/wy; wbudowaną wewnętrzną pamięcią RAM o pojemności 128 bajtów; wbudowaną wewnętrzną pamięcią ROM (8051) albo EPROM (8751) o pojemności 4kB; przestrzenią adresową 64kB dla zewnętrznej pamięci RAM; przestrzenią adresową 64kB dla zewnętrznej pamięci ROM (EPROM); wbudowanymi dwoma 16-bitowymi timerami; wbudowanym dwukierunkowym portem transmisji szeregowej; priorytetowym, wektorowym systemem przerwań.

6 Architektura MCS51 4/38 Struktura blokowa układu B SRAM rej. P2 rej. adr. RAM PC inkrementer PC rej. DPTR gen. taktu RR & DR układ sterowania XTAL1 XTAL2 PSEN ALE EA RST Acc PSW TMP1TMP2 ALU rej. B rej. P1 PCONSCONSBUF TCONTH0TL0 TH1TL1TMOD IPIESP system przerwań, port SIO, 2 timery/liczniki rej. P0 rej. P3 4kB ROM rejestr adresu programu P P1.0P P3.0 P P0.0P P2.0Vcc GND SFR

7 Architektura MCS51 5/38 Struktura blokowa układu B SRAM rej. P2 rej. adr. RAM PC inkrementer PC rej. DPTR gen. taktu RR & DR układ sterowania XTAL1 XTAL2 PSEN ALE EA RST Acc PSW TMP1TMP2 ALU rej. B rej. P1 PCONSCONSBUF TCONTH0TL0 TH1TL1TMOD IPIESP system przerwań, port SIO, 3 timery/liczniki rej. P0 rej. P3 8kB ROM rejestr adresu programu P P1.0P P3.0 P P0.0P P2.0Vcc GND SFR TH2TL2T2CON RCAP2HRCAP2L

8 Architektura MCS51 6/38 Standardowe obudowy układów 8051/52

9 Architektura MCS51 7/38 Przestrzenie adresowe układów MCS51 0FFFFh RAM zewnętrzny 0000h RAM wewnętrzny ROM zewn. ROM wewn. 0000h 0FFFFh ROM zewnętrzny ROMMAX EA=0EA=1 0FFh 80h bank 0 00h bank 1 08h bank 2 10h bank 3 18h 7Fh 78h bity bezpośr. adresowalne 07h 00h 2Fh 20h RAM 7Fh 30h opcjonalny RAM SFR adres startowy programu = 0000h adresy = k*8+3 - wektory przerwań

10 Architektura MCS51 - rejestry robocze 8/38 Banki rejestrów roboczych Komórki wewnętrznego RAM z obszaru 00h..1Fh mogą być używane jako 4 banki rejestrów roboczych: R0 00h: R1 01h: R2 02h: R3 03h: R4 04h: R5 05h: R6 06h: R7 07h: bank00 R0 08h: R1 09h: R2 0Ah: R3 0Bh: R4 0Ch: R5 0Dh: R6 0Eh: R7 0Fh: bank01 R0 10h: R1 11h: R2 12h: R3 13h: R4 14h: R5 15h: R6 16h: R7 17h: bank10 R0 18h: R1 19h: R2 1Ah: R3 1Bh: R4 1Ch: R5 1Dh: R6 1Eh: R7 1Fh: bank11 Numer aktualnie aktywnego banku rejestrów wskazują bity RS1, RS0 w PSW. Typowym zastosowaniem banków rejestrów jest obsługa przerwań.

11 Architektura MCS51 - bity bezpośrednio adresowalne 9/38 Bity bezpośrednio adresowalne Są to bity fragmentu wewnętrznego RAM i wybranych rejestrów SFR. Są bezpośrednio dostępne dla rozkazów operacji bitowych. Pełnią funkcję 1-bitowych rejestrów logicznych. Bity komórek RAM z obszaru 20h..2Fh mają adresy bezpośrednie od (00..7Fh), zgodnie ze wzorem: adrbitu = (adrbajtu - 20h)*8 + pozycjawbajcie W przypadku rejestrów SFR, bity bezpośrednio adresowalne mają rejestry o adresie będącym wielokrotnością 8 (np. 80h, C8h).

12 Architektura MCS51 - SFR 10/38 SFR - blok rejestrów specjalnych: przestrzeń 128 adresów od 80h do 0FFh; zawiera rejestry umożliwiające: - dostęp do wbudowanych peryferii - sterowanie pracą mikrokontrolera - kontrolowanie systemu przerwań ekstensywne wykorzystanie adresów w standardzie (8051) pozwala na projektowanie licznych rozszerzeń jego struktury o różnorodne urządzenia zewnętrzne; rejestry zdefiniowane przez Intela dla 8051 jako standard, mają takie same adresy w SFR w innych układach rodziny MCS51;...- PT2 BD PS BC... IPB8h bit nie zaimplementowany kursywa - dodatkowy obiekt w 8052 adres bitu bezpośrednio adresowalnego adres rejestru w bloku SFR nazwa rejestru nazwa bitu

13 Architektura MCS51 - SFR 11/38 P2.7 A7 P2.6 A6 P2.5 A5 P2.4 A4 P2.3 A3 P2.2 A2 P2.1 A1 P2.0 A0 P2A0h EA AF - AE ET2 AD ES AC ET1 AB EX1 AA ET0 A9 EX0 A8 IEA8h P3.7 B7 P3.6 B6 P3.5 B5 P3.4 B4 P3.3 B3 P3.2 B2 P3.1 B1 P3.0 B0 P3B0h - BF - BE PT2 BD PS BC PT1 BB PX1 BA PT0 B9 PX0 B8 IPB8h TF2 CF EXF2 CE RCLK CD TCLK CC EXEN2 CB TR2 CA C/T2 C9 CP/RL2 C8 T2CON C8h CAh RCAP2L CBh RCAP2H CCh TL2 CDh TH2 CY D7 AC D6 F0 D5 RS1 D4 RS0 D3 OV D2 - D1 P D0 PSWD0h A.7 E7 A.6 E6 A.5 E5 A.4 E4 A.3 E3 A.2 E2 A.1 E1 A.0 E0 AE0h B.7 F7 B.6 F6 B.5 F5 B.4 F4 B.3 F3 B.2 F2 B.1 F1 B.0 F0 BF0h

14 Architektura MCS51 - SFR 12/38 P P P P P P P P P080h 81hSP 82hDPL 83hDPH SMOD---GF1GF0PDIDL PCON87h TF1 8F TR1 8E TF0 8D TR0 8C IE1 8B IT1 8A IE0 89 IT0 88 TCON88h GATEC/TM1M0GATEC/TM1M0 TMOD89h 8AhTL0 8BhTL1 8ChTH0 8DhTH1 P P P P P P P P P190h SM0 9F SM1 9E SM2 9D REN 9C TB8 9B RB8 9A TI 99 RI 98 SCON98h 99hSBUF

15 Architektura MCS51 - SFR - PSW 13/38 CY D7 AC D6 F0 D5 RS1 D4 RS0 D3 OV D2 - D1 P D0 PSWD0h CY - flaga przeniesienia AC - flaga przeniesienia połówkowego przy dodawaniu (między bitami 3 i 4) F0 - flaga do wykorzystania w programie OV - flaga nadmiaru po operacjach arytmetycznych P - flaga parzystości liczby jedynek w akumulatorze A RS1,RS0 - bity wyboru aktywnego banku rejestrów: RS1,RS0 = aktywny bank0123 Brak flagi zera! Rozkazy skoków warunkowych JZ, JNZ bezpośrednio testują stan akumulatora.

16 Architektura MCS51 - SFR - A, B 14/38 Wykorzystywany w większości operacji ALU. Jego bity są bezpośrednio adresowalne. Pośredniczy przy odwołaniach do zewnętrznej pamięci danych. A.7 E7 A.6 E6 A.5 E5 A.4 E4 A.3 E3 A.2 E2 A.1 E1 A.0 E0 AE0h B.7 F7 B.6 F6 B.5 F5 B.4 F4 B.3 F3 B.2 F2 B.1 F1 B.0 F0 BF0h Pomocniczy rejestr roboczy. Wykorzystywany przy rozkazach mnożenia i dzielenia pojedynczych bajtów. Jego bity są bezpośrednio adresowalne.

17 Architektura MCS51 - SFR - SP i stos 15/38 81hSP Rejestr adresujący wierzchołek stosu programowego - wskazuje na ostatnio zapisany na stos bajt. Po resecie przyjmuje wartość 07h ! Stos Funkcjonuje tylko w wewnętrznym RAM (! ograniczony obszar). Zapis na stos powoduje przesuwanie się wierzchołka stosu w kierunku wyższych adresów, odczyt - odwrotnie. ! Możliwe jest zawinięcie stosu modulo rozmiar wbudowanej wewn. RAM. 2Bh B: 11h A: 58h SP: x 59h: 0Dh 58h: 34h 57h: x 5Ah: RAM stos PUSH B stos 59h 2Bh POP A stos 58h 2Bh

18 Funkcjonowanie MCS51 - tryby adresowania 16/38 Tryby adresowania operandów - bajtów natychmiastowy kod rozkazuoperand movr6,#130 rejestrowy operand kod rozkazu Rx: mova,r6 bezpośredni kod rozkazuadres RAM wewn. inc20h

19 Funkcjonowanie MCS51 - tryby adresowania 17/38 rejestrowy pośredni RAM wewn/zewn adres8bkod rozkazu R0/R1: adres16bkod rozkazu DPTR: RAM zewn

20 adresowanie indeksowo-względne PC/DPTR: d kod rozkazu ROM baza A: Tryb adresowania operandów - bitów bezpośredni kod rozkazu RAM wewn. movc,20h adres Funkcjonowanie MCS51 - tryby adresowania 18/38

21 ROM zewn. ROM wewn. 0000h 0FFFFh ROM zewnętrzny ROMMAX EA=0EA=1 0FFh 80h bank 0 00h bank 1 08h bank 2 10h bank 3 18h 7Fh 78h bity bezpośr. adresowalne 07h 00h 2Fh 20h RAM 7Fh 30h opcjonalny RAM SFR rejestrowy pośredni bezpośredni rejestrowy bezpośredni-bitów rejestrowy pośredni z DPTR rejestrowy pośredni z R0/R1 0FFFFh RAM zewnętrzny 0000h RAM wewnętrzny indeksowo-względny Dostępność trybów adresowania Funkcjonowanie MCS51 - tryby adresowania 19/38

22 Lista rozkazów MCS51 20/38 1. Rozkazy arytmetyczne

23 Lista rozkazów MCS51 21/38

24 Lista rozkazów MCS51 22/38

25 Lista rozkazów MCS51 23/38

26 Lista rozkazów MCS51 24/38 2. Rozkazy logiczne

27 Lista rozkazów MCS51 25/38

28 Lista rozkazów MCS51 26/38

29 mov P1,#0FEh powt1: xrl P1,#03h sjmp powt1 mov P1,#0FEh powt2: cpl P1.0 cpl P1.1 sjmp powt2 Lista rozkazów MCS51 27/38 CLR A A:=0 CPL A A:=not A XRLSJMPXRLSJMPXRLSJMP cykle masz. rozkazy P1.1 P1.0 ;zadanie: generacja fal prostokątnych w przeciwfazach na liniach P1.0 i P1.1 CPL SJMP cykle masz. rozkazy P1.1 P1.0 CPL

30 Lista rozkazów MCS51 28/38 3. Rozkazy obrotów

31 Lista rozkazów MCS51 29/38 4. Rozkazy operacji bitowych

32 Lista rozkazów MCS51 30/38 5. Rozkazy przesłań

33 Lista rozkazów MCS51 31/38

34 Lista rozkazów MCS51 32/38

35 Lista rozkazów MCS51 33/38

36 Lista rozkazów MCS51 34/38

37 Lista rozkazów MCS51 35/38 6. Rozkazy skoków

38 Lista rozkazów MCS51 36/38

39 7. Rozkazy wywołań procedur i powrotów Lista rozkazów MCS51 37/38

40 8. Wpływ rozkazów na PSW Lista rozkazów MCS51 38/38

41 MCS51 - przykłady programowania 1/9

42 MCS51 - przykłady programowania 2/9

43 MCS51 - przykłady programowania 3/9

44 MCS51 - przykłady programowania 4/9

45 MCS51 - przykłady programowania 5/9

46 MCS51 - przykłady programowania 6/9

47 MCS51 - przykłady programowania 7/9 Przypadek bezpieczny: stan licznika T0:wykonany rozkaz: 8877hMOV R1,TH0 8878h MOV R0,TL0 wartość w R1R0=8878h Przypadek krytyczny: stan licznika T0:wykonany rozkaz: 88FFhMOV R1,TH0 8900h MOV R0,TL0 ! błędna wartość w R1R0=8800h

48 MCS51 - przykłady programowania 8/9

49 MCS51 - przykłady programowania 9/9


Pobierz ppt "Mikrokontrolery MCS51. Literatura H.Małysiak - Mikrokomputery jednoukładowe serii MCS48, MCS51, MCS96 (PKJS Gliwice 1992) T.Prokop - Wybrane mikrokomputery."

Podobne prezentacje


Reklamy Google