59

Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Embed Size (px)

Citation preview

Page 1: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 2: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Poglavlje II

Mikrokontroleri

Arhitektura mikrokontrolera familije MCS -51

Page 3: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

8051• Preko 50 kompanija proizvodi razli čite

varijante 8051, preko 40% tržišta MC.

• 8051 corovi dostupni za implementaciju uFPGA ili ASIC kolima.

3

• Preko 100 million a 8051 se prodaju svake godine.

• Izuzetno uspešan MC, imao direktnog uticaja na mnoge arhitekture najnovijih mikrokontrolera.

Page 4: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

MCS-51• MCS-51 is Intelova oznaka za MC -ove iz

familije 8051.

• Originalni 8051 bio dostupan u tri osnovne verzije.– 8051 – Sa fiksnim programom u ROM memoriji .

4

– 8051 – Sa fiksnim programom u ROM memoriji .– 8031 – Bez unutrašnjeg ROM -a, program je

smeštan u spoljašnji ROM .– 8751 – Program se smešta u unutrašnji

EPROM. Brisanje sadržaja izlaganjem čipa ultraljubi častim zracima tokom nekoliko minuta. Varijante sa EEPROM memorijom.

Page 5: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Osnovne k -ke jezgra 8051• 8-bitni CPU optimizovan za primene u kontrolama• Mogućnost jednobitnih Boolean operacija.• Podržava do 64K program ske memorije. • Podržava do 64K memorije za podatke.• 4 K bajtova programske memorije na čipu.• 128 ili 256 bajtova RAM memorije na čipu

5

• 128 ili 256 bajtova RAM memorije na čipu• Četri 8 bitna porta.• Dva 16-bit timera/broja ča• UART• Prekidi• Oscilator na čipu

Page 6: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Blok dijagram

CPU

On-chipRAM

On-chip ROM zaprogram

Timer 0

Interrupt Control

External interrupts

Timer 1

Timer/Counter

Counter Inputs

CPU

4 I/O PortsSerial PortOSC

Bus Control

TxD RxDP0 P1 P2 P3

Address/Data

Page 7: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Blok dijagram 8051(8052)

Page 8: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Podatak 8051 8052 8031ROM (bytes) 4K 8K 0KRAM (bytes) 128 256 128

Upoređenje podataka familije 8051

Thursday, January 17, 2013

Mahdi Hassanpour

Timers 2 3 2I/O pins 32 32 32 Serial port 1 1 1 Interrupt sources 6 8 6

Page 9: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 10: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Opis pinova 8051PDIP/Cerdip

123456789

403938373635343332

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST

VccP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)

8051(8031)

91011121314151617181920

323130292827262524232221

RST(RXD)P3.0(TXD)P3.1

(T0)P3.4(T1)P3.5

XTAL2XTAL1

GND

(INT0)P3.2(INT1)P3.3

(RD)P3.7(WR)P3.6

P0.7(AD7)EA/VPPALE/PROG

PSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)

Page 11: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Pinovi 8051((((1/4))))

• Vcc((((pin 40):):):):– Vcc obezbeđuje napajanje čipu.

– Napon napjanja je +5V.

• GND((((pin 20):):):):masa

• XTAL1 and XTAL2 ((((pinovi 19,18):):):):– Obezbeđuju taktni signal.

– 12 taktova jedan mašinski ciklus.• Način 1::::primenom kvarcnog oscilatora• Način 2::::primenom TTL oscilatora

Page 12: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Povezivanje oscilatora Način 1: Primenom kvarcnog oscilatora

C2

30pFXTAL2

• Posmatranje talasnog oblika na pinu XTAL2.

30pF

C1

30pFXTAL1

GND

Page 13: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

• Pin XTAL2 nepovezan. NC

EXTERNALOSCILLATOR

XTAL2

XTAL1

Povezivanje oscilatora Način 2: Primenom TTL oscilatora

OSCILLATORSIGNAL XTAL1

GND

Page 14: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Mašinski ciklus

Naći trajanje mašinskog ciklusa za (a) XTAL = 11.0592 MHz (b) XTAL = 16 MHz.

Rešenje :Rešenje :

(a) 11.0592 MHz / 12 = 921.6 kHz;machine cycle = 1 / 921.6 kHz = 1.085 µµµµs

(b) 16 MHz / 12 = 1.333 MHz;machine cycle = 1 / 1.333 MHz = 0.75 µµµµs

Page 15: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

• RST((((pin 9):):):):Reset

– Ulazni pin sa aktivan sa jedinicom (u normalnom radu na nuli).

• Logička jedinica mora trajati najmanje 2 mašinska ciklusa.

• Ulazno šmitovo kolo

Pinovi 8051((((2/4))))

• Ulazno šmitovo kolo

– Mora biti aktivan u trenutku uklju čenja (power-on reset).

• Promena sadržaja registara.– Način 1::::Power-on reset kolo

– Način 2::::Power-on reset sa komandom “reset”

– Način 3 : Specijalizovana kola

Page 16: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Kola za resetovanje

10uF100

EA/VP 31RESET9

P10/T21

P11/T2EX2

P123

P134

P145

P156

P167

P178

P00 39

P01 38

P02 37

P03 36

P04 35

P05 34

P06 33

P07 32

30

U?

VCCVCC

reset

10kRESET

EA/VP

X119

X218

RESET

RD17 WR16

INT012

INT113

T014

T115

P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28

PSEN 29ALE/P 30

TXD11 RXD10

8052 DIP

reset

STM1812

Page 17: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

• /EA((((pin 31):):):):External Access

– Omogućava pristup spoljašnjoj programskoj memoriji.

– Pin /EA se spaja na GND ako se koristi spoljašnji ROM.• ALE ((((pin 30):):):):Address Latch Enable

– Koristi se za demultipleksiranje adresa A0-A7 i podataka

Pinovi 8051((((3/4))))

“/” ima zna čenje aktivno sa nulom (nadvučeno).

– Koristi se za demultipleksiranje adresa A0-A7 i podataka D0-D7 na portu P0 pomoću leča (74LS373).

– Aktivan sa jedinicom kada je na magistrali adresa.• /PSEN((((pin 29):):):):Program Store Eenable

– Izlazni pin koji generiše signal čitanja iz ROM -a.

– Spaja se za /OE (output enable) pin spoljašnjeg ROM-a.

– Generiše se kada se pristupa adresnom prostoru koji je veći od unutrašnjegt ROM-a.

Page 18: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

I/O portovi (memorijski prostor, direktne adrese)Port 0 (0x80) P0:(P0.0~P0.7)/ AD0 – AD7

Port 1 (0x90) P1:(P1.0~P1.7)Port 2 (0xA0) P2:(P2.0~P2.7) / A8 – A15

Port 3 (0xB0) P3:(P3.0~P3.7) / Alternativne funkcije

Označavanje pinova.P0.X (X=0,1,...,7), P1.X, P2.X, P3.X ; “C” P0^X

Pr:P0.0 je bit 0(LSB)portaP0

Pinovi 8051((((4/4))))

Pr:P0.0 je bit 0(LSB)portaP0

Pr:P0.7 je bit 7(MSB)porta P0

Svi portovi mogu bit ulazni i izlazniInstrukcije “read”, “write”, “read-modify-write”

Biderekcionalni i kvazi-bidirekcionalniRad sa spoljnom memorijom;kvazi bider. ;biderekcionalni

MOV P1,#0x0F MOV P0,#0x0F

MOV A,P1 MOVX A,@R0 ;privremeno P0=0xFF

Page 19: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Alternativne funkcije porta P3 (0xB0)

• P3.0 prijem serijskih podataka -RXD,

• P3.1 predaja serijskih podataka -TXD,

• P3.2 spoljašnji prekidni signal /INT0,

• P3.3 spoljašnji prekidni signal /INT1,

• P3.4 ulaz u brojač T0

• P3.5 ulaz u brojač T1, • P3.5 ulaz u brojač T1,

• P3.6 kontr. signal za upis u spoljašnji RAM (/WR)

• P3.7 kontr. signal za čitanje iz spoljašnjeg RAMa (/RD)

Page 20: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Memorijski modelROMProgramska memorija

XRAMSpoljašnja memorija za podatke

65535

RegistriR0-R7, A, B,DPTR, PC

IRAMUnutrašnjamemorija za podatke

DRAMUnutrašnja memorija za podatke i UI

127

255

0

8191

4095

0

8K 8052

4K 8051

Page 21: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Programska memorija

ROMSpoljašnji

4K 80518K 805212K AT89S825364K AT8051RB2

Programiranje!Silabs!

Memorijski blokovi 256, 2K.

Apsolutni programski skokoviAJMPLJMP

64KROMSpoljašnji

64K

ROMUnutašnji

4K4K

0

LJMP

Relatini programski skokoviSJMP

Uslovni skokoviJCJNCJBJNB

EA = 1

0

EA = 0

Page 22: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Spoljašnji RAM - XRAM

RAMSpoljašnji

64K

Adresiranje pomo ću: DPTR, R0, R1

- MOVX –;citanje sadrzaja lokacije;1234h iz XRAM-a

MOV DPTR,#1234HMOVX A,@DPTR

MOV P2,#12HMOV R0,#34H

RAMSpoljašnji

64K

AT89S8253

EEPROMUnutrašnji

2K2K

0

MOV R0,#34HMOVX A,@R0

Unapređene varijanteAT89S8253

Silabs F310, F540, ... 1K XRAMBez EMI (External Memory Interface)uvek pristupaju unutrašnjoj memoriji- mapirano u stilu “po modulu”

Registar EMI0CN umesto P2MOVX se koristi i za programiranjeFLASH memorije 0

EECON.EEMEN = 0 EECON.EEMEN = 0

Page 23: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

RegistriPosebna memorijska lokacija u unutrašnjoj memoriji

Adresiraju se registarski (kod instrukcije)Instrukcija eksplicitno definiše o kom se registru radi

A (ACC)

B

R7

DPH DPL

PC

DPTRDRAM

nevidljiv

C CY

R7

R6

R5

R4

R3

R2

R1

R0

PC

IRAM

nevidljiv

;primeri instrukcijaCLR CSETB C

MOV A,R3MOV R4,AMUL ABMOVC A,@A+DPTRMOVC A,@A+PC

Page 24: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

IRAM

Bit adresabilno 202122232425262728292A2B2C2D2E2F

78797A7B7C7D7E7F

30

SlobodniRAM(40)

2F

7F80

FF

SlobodniRAM8052(128)

2425

2F…..

HEX adrese

HEX adrese

Mogućnost indirektnog adresiranjaAdresni registri R0 i R1Izbor aktivne registarske banke: sfr PSW

MOV A,@R0MOV @R1,A

RB1 (8)

RB2 (8)

RB3 (8)

RB0 (8)

Bit adresabilno polje(16)

000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627

R6

R5

R4

R3

R2

R1

R0

R7

0001020304050607

00

08

10

18

202021222324 MOV @R1,A

MOV R4,AMUL ABMOVC A,@A+DPTRMOVC A,@A+PC

Page 25: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

DRAMFF

Specijalni registri i UI

prostor(?128)

HEX adrese

E0*

D0*

F0*B

PSW

ACC

B0*P3

A0*P2

90*P1

TCON 88*89

TL0

TMOD

8A8B

TL1

TH0

8C8D

IE

TH1

A8*

SCON

B8*IP

98*SBUF 99

HEX adrese HEX adrese

00

DRAMpreklopljen sa

IRAM(128)

7F80

Mogućnost samo direktnog adresiranjaAdresa registra je deo instrukcije

MOV A,80H ; A = sadržaj lokacije(80h)MOV P1,A ; P1 = Akumulator

“inc” i “h” fajlovi

80*P0

82DPH

DPL

83

87TCON

PCON

88*

81SP

Page 26: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Data Memory (DRAM )

Page 27: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

27

Page 28: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

28

Page 29: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Sfr registri MC Silabs 80C51F340

Page 30: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

SFR REGISTRIProgram Status Word (PSW)Internal Address: D0HBit Addressable (PSW.0 - PSW.7)

Reset Value : 00H

CY AC F0 RS1 OVRS0 P--

F1 kod unapre đenih

BIT SYMBOL ADDRESS DESCRIPTIONPSW.7 CY D7H Carry flagPSW.6 AC D6H Auxiliary carry flagPSW.5 F0 D5H Flag 0PSW.4 RS1 D4H Register Bank Select 1PSW.3 RS0 D3H Register Bank Select 2PSW.2 OV D2H Overflow flagPSW.1 - D1H ReservedPSW.0 P D0H Even parity flag

Page 31: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Carry Flag (CY)

ADD A, #1

;aritmeticke operacije:MOV R5, #55HMOV A, #0AAHADD A, R5

Rezustat:

ACC = FFH

C = 0

ACC = 00H

C = 1

SUBB A, #1

;1-bitni registar;za boolove operacije

ANL C, ACC.0

ACC = FFH

C = 1

ACC = FFH

C = 1

Page 32: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Auxiliary Carry Flag (AC)

;Primer:MOV R5, #1MOV A, #9ADD A, R5

Rezultat:

ACC = 0AH

AC = 1

ACC = 0FH

Za sabiranje BCD brojeva. Kada postoji prenose sa bita 3na bit 4 ili kada je rezultat u nizem niblu > 09H

ADD A, #5

ADD A, #1

ACC = 0FH

AC = 1

ADD A, #1ACC = 11H

AC = 1

Page 33: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Flag 0 (F0)- Marker opšte namene za korisni čke aplikacije

;Primer:

SETB, F0

Rezultat:

PSW.5 = 1

CLR, F0 PSW.5 = 0

Page 34: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Register Bank Select (RS 0, RS1)

1FHBank 3

18H

17HBank 2

10H

SETB RS1CLR RS0MOV R7, # 1

SETB RS1SETB RS0MOV R7, #1

10H

0FHBank 1

08H

07HBank 0

00H

MOV R7, # 1

CLR RS1CLR RS0MOV R7, #1

CLR RS1SETB RS0MOV R7, #1

Page 35: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Overflow Flag (+127 to -128);PrimerMOV R7, #0FHMOV A, #7FHADD A, R7

Rezultat:

ACC = 8EH (-114)

OV = 1

MOV R7, #80HMOV A, # 10H

ACC = 90H

OV = 1

MOV R7, #0FFHMOV A, #0FHADD A, R7

ACC = 0EH

OV = 0

[C = 1]

MOV A, # 10HSUBB A, R7

OV = 1

Page 36: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Parity Bit;PrimerMOV A, #10101101B

Rezultat

P = 1

MOV A, #55H P = 0

MOV R7, #0FFHMOV A, #0FHADD A, R7

ACC = 0EH

P = 1

Page 37: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

B Register (B)Internal Address: F0HBit Addressable (B.0 - B.7)

Reset Value : 00H

MOV A, #0E1HMOV B, #2MUL AB

ACC = C2H

B = 01H

MOV A, #0E1HMOV B, #2DIV AB

ACC = 70H

B = 01H

Page 38: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

SP sadrži adresu podatka koji je trenutno na vrhu steka

7F

Stack Pointer (SP)Internal Address: 81HNot Bit Addressable

Reset Value : 07H

Inicijalna vrednost, veli čina steka!

7F......

6261605F

MOV SP, #5FH

PUSH ACC ;adresa!!!

PUSH PSW

PSWPOP PSW

POP ACCAACCPSACCW

PSW

Page 39: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Data Pointer (DPTR)Internal Address: 82H(DPL), 83H(DPH)Not Bit Addressable Reset Value : 00H

16-bitni registar za pristup spoljašnjoj memoriji z a podatke i podacim iz programske memorije

;Primer : upis 01H u ;Primer :MOV A, #01HMOV DPTR, #0FF38HMOVX @DPTR, A

upis 01H u spoljašnji ure đaj na lokaciji FF38H

Page 40: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Port Registri (Pn) Internal Address: 80H (Port 0)90H (Port 1)A0H (Port 2)B0H (Port 3)

Reset Value : FFH

Bit Addressable (Pn.0 - Pn.7)

SETB P1.7 97H = 1

MOV P2, #01H A0H = 00000001

Page 41: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Struktura portova - Port 1, 2 i 3

D Q

Vcc

Load(L1)

Read latch

Internal CPU P1.X pin

TB2

Clk Q

Read pin

Write to latch

Internal CPU bus

M1

pinP1.X

TB1

Page 42: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

D Q

Read latch

Internal CPU P0.X

TB2

Struktura portova - Port 0

D Q

Clk Q

Read pin

Write to latch

Internal CPU bus

M1

P0.X pinP1.X

TB1

Page 43: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Primer generisanja logi čkih signala sa TTL nivoima

;Verzija 1START: JB P1.0,PULSE

CLR P1.7SJMP START

PULSE: SETB P1.7CLR P1.7AJMP START

;Verzija 2

Port pin

R

Cload

+5V DC

Signal

Brzina/disipacija

;Verzija 2START: JB P1.0,PULSE

CLR P1.7SJMP START

PULSE: SETB P1.7NOPNOPNOPCLR P1.7AJMP START

Page 44: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

+5V DC

Port pin

R

LED

SINK

Port pin

R

LED

SOURCE

Primer aktiviranja LED diode

SINK SOURCE

8051ATMELSilabs

Silabs

Kako aktivirati aktuator koji radi na 12V DC?Kako upaliti sijalicu na 220V AC?

Page 45: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

P0.0P0.1P0.2P0.38051

Vcc10 K

Port

0

Port 0 sapull-up otpornicima

P0.3P0.4P0.5P0.6P0.7

8051 0

Očitavanje tastature sa 8 tasteraOčitavanje tastature sa 8xN tasteraOčitavanje tastature sa 4x4 tastera

Page 46: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 47: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 48: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Basic Instruction CycleStart

Fetch Instruction “Fetch” ciklus

PC = 0000H

PC = PC + n

→→→→ Postavi stanje PC na Adr.mag.→→→→ Pročitaj “op-cod”

End

Execute Instruction “Execute” ciklus

PC = PC + n

n=1,2,3

→→→→ Dekodiranje instrukcije→→→→ Izvršenje instrukcije

Page 49: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Očitavanje ROMmemorije (1/2)

D

74LS373ALE

P0.0

P0.7

PSEN

A0

A7

OE

CEG

1. Slanje adrese kaROM-u

2. 74373 lečujeadresu šalje je

ROM-u

Address

D0

D7

P2.0

P2.7

A8

A12

EA

8051 ROM

Page 50: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

D

74LS373ALE

P0.0

P0.7

PSEN

A0

A7

OE

CEG

2. 74373 latches the address and send to ROM

Address

Očitavanje ROMmemorije (2/2)

D0

D7

P2.0

P2.7

A8

A12

EA

8051 ROM

3. ROM send the instruction back

Page 51: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 52: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Pristup spoljašnjoj memoriji za podatke

Page 53: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program
Page 54: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Preklapanje spoljašnjeg ROM i RAM prostora (Von Nojman)

Omogućava da se u RAM:

� upisuje kao u memoriju za podatke, i

� čita kao memorija za podatke i kao programska memorija.programska memorija.

Ovo daje mogućnost da se program:

� “daunloaduje” od spolja u RAM kao podatak, i

� izvrši iz RAM memorije kao program.

Page 55: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Preklapanje spoljašnjeg ROM i RAM prostora ( Von Neumann )

RAM

WE

OERD

PSEN

WR

Page 56: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Razvojni sistem na bazi MCS51 ( small )

P0/A0-IN OUT D0-

80C51 6264HC573

RAM

D7AD0-AD7 A7

J1

P1

Latch

12345678

J3

PORT1

Bez spoljašnje memorije za podatke

P2

ALE

STB

A8-

P2.7/A15

CS1

P2.0-P2.6

8K x 8RAM

A14

8000-9FFF*P3.0/RxP3.1/TxRS2321

2

J1

DIN3P3.2-P3.7

GND

EA Vcc

PSEN

WR/P3.6

CS

OE WE

123456

J2

PORT3

Page 57: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Memorijska mapa “ small” sistema

Program XRAM

!!!!!!!!!!!!! !!!!!!!!!!!!!

Int. ROM0

0FFF

7FFF

9FFF

8000

0

7FFF

9FFF

8000

ERAM(8K) Wr

ERAM(8K)Rd(PSEN)

Page 58: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Razvojni sistem na bazi MCS51 ( large )

P0/A0-IN OUT D0-

80C51 6264HC573

ERAM

D7AD0-AD7 A7

J1

12345678

J3

PORT1 P1

Latch

A0- D0-

62256

RAM

D7A7

Sa spoljašnjom memorije za podatke

P2

ALE

STB

A8-

CS1

P2.0-P2.6

8K x 8ERAM

A13

8000-9FFF*P3.0/RxP3.1/TxRS2321

2

J1

DIN3

123456

J2

PORT3

P3.2-P3.7

GND

A8-

32K x 8RAM

A14

0000-7FFF

RD/P3.7

A15/P2.7

Za ERAM kapaciteta 32K x 8 ?

CS

OE WE CSOE WE

EA

PSEN

WR/P3.6

Vcc

Page 59: Poglavlje II Arhitektura mikrokontrolera familije MCS-51es.elfak.ni.ac.rs/mikro/Materijal/PPT_to_PDF_uC_2012/02-Arhitektura... · Blok dijagram CPU On-chip RAM On-chip ROM za program

Memorijska mapa “ large” sistema

Program

ERAM(8K)

XRAM

9FFFERAM(8K)

!!!!!!!!!!!!! !!!!!!!!!!!!!

9FFF

0

0FFFInt. ROM

ERAM(8K)

0

7FFF

ERAM(8K)

RAM(32K)Rd/Wr

Rd(PSEN) Wr8000

7FFF8000