mikrokontroller 8051

32
Mikrokontroller 8051 Mempunyai 8-bit Microcontroller optimum untuk kontrol aplikasi. Merupakan Microcontroller karena Anda dapat membuat satu sistem cip yang terdiri dari : Program & Memori Data Port I/O Komunikasi Serial Counter/Timer Kontrol Logika Interrupt

Upload: genk-sue

Post on 25-Jun-2015

129 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Mikrokontroller 8051

Mikrokontroller 8051

Mempunyai 8-bit Microcontroller optimum untuk kontrol aplikasi.

Merupakan Microcontroller karena Anda dapat membuat satu sistem cip yang terdiri dari : Program & Memori Data

Port I/O

Komunikasi Serial

Counter/Timer

Kontrol Logika Interrupt

Page 2: Mikrokontroller 8051

Keunggulan dari IC8051

- 8 Bit jalur data dan ALU.

- Interface yang mudah.

- Menggunakan 12 sampai 24 MHz.

( 1 µsec sampai 500 ns for satu siklus intruksi).

- Set intruksi penuh terdiri :

Perkalian dan Pembagian.

Set Bit, reset, and tes (Intruksi Bolean).

- berbagai jenis mode pengalamatan.

Page 3: Mikrokontroller 8051

Bagian dari IC 8051 (cont'd)

- 4K X 8 ROM – Memori Program.

- 128 x 8 RAM - Memori Data.

- Special function registers.

- Port I/O Serial.

- 32 I/O .

- Dua counter masing - masing 16 bit timer.

Page 4: Mikrokontroller 8051

IC 8051

VSS VCC RST

P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0

PO RT0

ADDRESS ANDDATA BUS

XTAL1

XTAL2

ALE

EA

PSEN

P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0

RxD TxD INT0INT1T0T1WRRD

SECONDARYFUNCTIONS

PORT3

P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

PORT2

ADDRESSBUS

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

PORT1

Page 5: Mikrokontroller 8051

Blok Diagram IC 80C51

Kontrol Interrupt

Interrupt Eksternal

CPU

OSC

Timer 1

Timer 0

Port SerialPort I/OKontrol Bus

InputCounter

P0 P3P1

4k byteROM

128 byteRAM

P2(Address/Data)

TXD RXD

Page 6: Mikrokontroller 8051

Pengalamatan

- 64K X 8 ROM – Memori Program.

- 64K x 8 RAM - Memory Data External.

- 256 x 8 RAM - Memory Data Internal.

- 128 x 8 Special function registers (SFRs).

- bit addressing

Page 7: Mikrokontroller 8051

Memori Data Internal - 128 bytes RAM.

- Range pengalamatan Langsung:

00 sampai 7F hexadecimal.

- Range pengalamatan Tidak Langsung :

00 sampai FF hexadecimal.

- Bagian yang dapat dialamati perbit :

20 sampai 2F hexadecimal .

- Empat register banks:

00 sampai 1F hexadecimal.

Page 8: Mikrokontroller 8051

Internal Memori Data

7F

30

2F

20

R0

R1

R2

R3

R4

R5

R6

R7

REGISTER BANK 1

REGISTER BANK 2

END 8051 RAM

BIT ADDRESSABLE

REGISTER BANK 3

00

1F

0F

17

18

08

07

20

REGISTER BANK 0

07 . . . . . . . . . 00

FF . . . . . . . . . F8

Page 9: Mikrokontroller 8051

Memori Data Eksternal

- 64K byte alamat.

- Pengalamatan Tidak Langsung melalui R0 dan R1 dalam 256 byte segment.

- Sisa pengalamatan tidak langsung melalui dptr

Page 10: Mikrokontroller 8051

Perluasan Bus Eksternal

8051

PORT 2

PORT 0

ALE

P3.7

P3.6

PSEN

A15 - A8: Alamat Byte Tinggi

AD7 - AD0: Data dan Alamt Byte Rendah

ALE: Address latch enable

RD: Read strobe

WR: Write strobe

PSEN: Program store enable

Page 11: Mikrokontroller 8051

8051 Timing

State 1 State 2 State 3 State 4 State 5 State 6 State 1 State 2

XTAL2

ALE

_____PSEN

P0

P2

Datasampled

PCL out PCL out

Datasampled

PCL out

Datasampled

PCH out PCH out

P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

Page 12: Mikrokontroller 8051

Memori Program Eksternal

8051

PORT2

ALE

PORT0

PSEN

ADDRESS

LATCH

ROM(S)

ADDRESS INPUTS

DATA

OUTPUTS

OE

A15 - A8

A7 - A0

D7 - D0

AD7 - AD0

Page 13: Mikrokontroller 8051

Memori Data Eksternal· 64K byte jarak alamat.

· Pengalamatan Tidak Langsung melalui R0 dan R1 dalam 256 byte segment.

· Seluruh jarak dalam pengalamatan tidak langsung melalui data pointer DPTR.

8051

PORT 2

ALE

PORT 0

WRRD

RAM(S) or I/O

CE

DATA OUTPUTS

ADDRESS INPUTS

R/WOE

ADDRESS LATCH

DECODE

Page 14: Mikrokontroller 8051

Reset· Pin RST adalah Input Schmitt trigger.

· Eksternal reset is asinkron ke internal clock.

· Pin RST harus tinggi selama dua siklus mesin saat osilator dijalankan.

· RAM Internal tidak terpengaruh oleh reset, tapi tidak menentukan kenaikan tegangan.

· Pins Port dalam keadaan acak selama osilator bekerja dan algoritma menulis 1's

kepadanya.

· Pengesetan Reset PC sampai 0000.

· Rangkaian Reset :

8051

RST

+5V

8.2K

10uF

80C51

RST

+5V

2.2uF

Page 15: Mikrokontroller 8051

Register dengan Fungsi Khusus- 128 byte alamat , pengalamatan langsung pada 80

sampai FF hex.

- 16 alamat adalah dapat dialamati perbit :

Set, Clear, AND, OR, MOV

(ini berakhir di 0 atau 8).

- berisi :

Register CPU dengan tujuan khusus.

Registers Control I/O.

Port I/O.

Page 16: Mikrokontroller 8051

Register Fungsi KhususF8

F0 B

E8

E0 ACC

D8

D0 PSW

C8

C0

B8 IP

B0 P3

A8 IE

A0 P2

98 SCON SBUF

90 P1

88 TCON TMOD TL0 TL1 TH0 TH1

80 P0 SP DPH DPL PCON

Bit Addressable

Page 17: Mikrokontroller 8051

Register Fungsi Khusus

Registers CPU :

- ACC : Accumulator.

- B : B register.

- PSW : Program Status Word.

- SP : Stack Pointer.

- DPTR : Data Pointer (DPH, DPL).

Control Interrupt :

-IE : Interrupt Enable.

-IP : Interrupt Priority.

Port I/O :

- P0 : Port 0.

- P1 : Port 1.

- P2 : Port 2.

- P3 : Port 3.

Page 18: Mikrokontroller 8051

Fungsi Register Spesial (cont'd)

Pewaktu:

- TMOD : Timer mode.

- TCON : Timer control.

- TH0 : Timer 0 high byte.

- TL0 : Timer 0 low byte.

- TH1 : Timer 1 high byte.

- TL1 : Timer 1 low byte.

Serial I/O:

- SCON : Serial port control.

- SBUF : Serial data registers.

Lain-lain:

- PCON : Power control & misc.

Page 19: Mikrokontroller 8051

PSW : Program Status WordCY AC F0 RS1 RS0 OV ---- P

- CY : Carry Flag.

- AC : Auxiliary Carry Flag.

- F0 : Flag 0 (tidak digunakan).

- RS1 : Register Select 1.

- RS0 : Register Select 0.

- OV : aritmetic overflow flag

- P : Accumulator Parity flag.

RS1 RSO Bank Register Alamat

0 0 0 00h - 07h

0 1 1 08h - 0Fh

1 0 2 10h - 17h

1 1 3 18h - 1Fh

Page 20: Mikrokontroller 8051

Ports I/O

- Empat 8-bit ports I/O.

- Mempunyai fungsi alternatif lebih.

- Quasi-bidirectional:

Ketika port latch bernilai 1. Dapat digunakan sebagai input (30Kohm rata-rata pullup).

Page 21: Mikrokontroller 8051

Port 0- Seperti port I/O :

Tidak ada pullup, outputnya bersifat

open drain

- Berfungsi sebagai Multiplexed data bus:

tristate bus dengan pullup

8-bit bus instruksi, ditentukan oleh PSEN.

Adalah Byte rendah dari bus alamat, diindikasikan oleh ALE.

8-bit bus data, ditentukan oleh WR dan RD.

- 3.2 mA outputs (tentang 8 LSTTL loads).

Page 22: Mikrokontroller 8051

Port 1

Seperti port I/O :

Standar quasi-bidirectional.

- Fungsi alternatif:

Hanya beberapa derivativ.

- 1.6 mA output (sekitar 4 LSTTL loads).

Page 23: Mikrokontroller 8051

Port 2

- Seperti port I/O :

Standar quasi-bidirectional.

- Fungsi alternatif:

Bit tertinggi dari alamat bus untuk program eksternal dan data memori

- 1.6 mA output (sekitar 4 LSTTL loads).

Page 24: Mikrokontroller 8051

Port 3

- Seperti port I/O :

Standar quasi-bidirectional

- Fungsi alternatif:

Serial I/O - TXD, RXD

Timer clocks - T0, T1

Interrupts - INT0, INT1

Data memory - RD, WR

- 1.6 mA outputs (sekitar 4 LSTTL loads).

Page 25: Mikrokontroller 8051

Mnemonics Operands Bytes/Cycles

ADD A, Rn 1/1

ADDC A, direct 2/1

SUBB A, @Ri 1/1

A, #data 2/1

INC A 1/1

DEC Rn 1/1

direct 2/1

@Ri 1/1

INC DPTR 1/2

MUL AB 1/4

DIV AB 1/4

DA A 1/1

Instruction Set : Arithmetic

Page 26: Mikrokontroller 8051

Instruction Set : LogicMnemonic Operands

Bytes/Cycles

ANL A, Rn 1/1

ORL A, direct 2/1

XRL A, @Ri 1/1

A, #data 2/1

direct, A 2/1

direct, #data 3/2

C, bit 2/2

C, /bit 2/2

CLR A 1/1

CPL C 1/1

bit 2/1

Page 27: Mikrokontroller 8051

Instruction Set : Logic (cont'd)Mnemonic Operands

Bytes/Cycles

RL A 1/1

RLC A 1/1

RR A 1/1

RRC A 1/1

SWAP A 1/1

SETB C 1/1

CLR bit

CPL

2/1

Page 28: Mikrokontroller 8051

Instruction Set : Transfer DataMnemonic Operands

Bytes/Cycles

MOV A, Rn 1/1

A, direct 2/1

A, @Ri 1/1

A, #data 2/1

Rn, A 1/1

Rn , direct 2/2

Rn, #data 2/1

direct, A 2/1

direct, Rn 2/2

direct, direct 3/2

direct, @Ri 2/2

direct, #data 3/2

Page 29: Mikrokontroller 8051

Instruction Set : Transfer Data (cont'd)

Mnemonic Operands Bytes/Cycles

MOV @Ri, A 1/1

@Ri, direct 2/2

@Ri, #data 2/1

DPTR, #data16 3/2

C, bit 2/1

bit, C 2/2

MOVX A,@DPTR 1/2

@DPTR,A 1/2

A,@Ri 1/2

@Ri,A 1/2

Page 30: Mikrokontroller 8051

Instruction Set : Transfer Data (cont'd)

Mnemonic Operands Bytes/Cycles

MOVC A, @A+DPTR 1/2

A, @A+PC 1/2

PUSH direct 2/2

POP direct 2/2

XCH A, Rn 1/1

A, direct 2/1

A, @Ri 1/1

XCHD A, @Ri 1/1

Page 31: Mikrokontroller 8051

Set Instruksi : PercabanganMnemonic Operands

Bytes/Cycles

LCALL addr16 3/2

ACALL addr11 2/2

RET - 1/2

RETI - 1/2

LJMP addr16 3/2

AJMP addr11 2/2

SJMP rel 2/2

JMP @A+DPTR 1/2

JZ rel 2/2

JNZ rel 2/2

Page 32: Mikrokontroller 8051

Set Instruksi : Percabangan (cont'd)Mnemonic Operands

Bytes/Cycles

CJNE A, direct, rel 3/2

A, #data, rel 3/2

Rn, #data, rel 3/2

@Ri,#data,rel 3/2

DJNZ Rn, rel 2/2

direct, rel 3/2

NOP - 1/1

JC rel 2/2

JNC rel 2/2

JB bit, rel 3/2

JNB bit, rel 3/2

JBC bit, rel 3/2