of 32/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

Mikrokontroller 8051

  • View
    99

  • Download
    10

Embed Size (px)

Text of Mikrokontroller 8051

Mikrokontroller 8051Mempunyai 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

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.

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.

IC 8051VSS XTAL1 VCC RST P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P O R T 0 ADDRESS AND DATA BUS

XTAL2

EA PSEN ALE

P O R T 1

SECONDARY FUNCTIONS

RxD TxD INT0 INT1 T0 T1 WR RD

P O R T 3

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

P O R T 2

ADDRESS BUS

Blok iagram IC 80C51Interrupt Eksternal Kontrol Interrupt 4k byte ROM 128 byte RAM Timer 1 Timer 0 Input Counter

CPU

OSC

Kontrol Bus

Port I/O

Port Serial

TXD

RXD

P0

P2

P1

P3

(Address/Data)

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

Memori ata 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.

Internal Memori ata7F 30 2F 20 1F 20 17 18 0F 08 07

END 8051 RAM FF . . . . . . . . . F8 07 . . . . . . . . . 00 REGISTER BANK 3 REGISTER BANK 2 REGISTER BANK 1 R7 R6 R5 R4 R3 R2 R1 REGISTER BANK 0

BIT ADDRESSABLE

00

R0

Memori ata ksternal- 64K byte alamat.-

Pengalamatan Tidak Langsung melalui R0 dan R1 dalam 256 byte segment. Sisa pengalamatan tidak langsung melalui dptr

-

Perluasan Bus ksternal8051 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

8051 imingState 1 P1 XTAL2 P2 State 2 P1 P2 State 3 P1 P2 State 4 P1 P2 State 5 P1 P2 State 6 P1 P2 State 1 P1 P2 State 2 P1 P2

ALE _____ PSEN

P0

PCL out Data sampled

PCL out Data sampled PCH out PCH out

PCL out Data sampled

P2

Memori Program ksternal8051 PORT2 ALE AD7 - AD0 PORT0 A15 - A8 ROM(S) ADDRESS LATCH A7 - A0 D7 - D0 PSEN ADDRESS INPUTS DATA OUTPUTS OE

Memori ata ksternal 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 ADDRESS LATCH DECODE

RAM(S) or I/O CE ADDRESS INPUTS DATA OUTPUTS R/W OE

WR RD

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 :+5V +5V

805110uF RST 8.2K 2.2uF

80C51RST

Register dengan ungsi 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.

Register ungsi KhususBit Addressable

F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88 80 IP P3 IE P2 SCON P1 TCON P0 TMOD SP TL0 DPH TL1 DPL TH0 TH1 PCON SBUF PSW ACC B

Register ungsi Khusus

Registers CPU : - ACC -B - PSW - SP - DPTR Control Interrupt : -IE -IP Port I/O : - P0 - P1 - P2 - P3

: Accumulator. : B register. : Program Status Word. : Stack Pointer. : Data Pointer (DPH, DPL).

: Interrupt Enable. : Interrupt Priority.

: Port 0. : Port 1. : Port 2. : Port 3.

Fungsi Register pesial (cont'd)Pewaktu: - TMOD - TCON - TH0 - TL0 - TH1 - TL1 Serial I/O: - SCON - SBUF Lain-lain: - PCON : Power control & misc. : Serial port control. : Serial data registers. : Timer mode. : Timer control. : Timer 0 high byte. : Timer 0 low byte. : Timer 1 high byte. : Timer 1 low byte.

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

RS1

RS0

OV

----

P

: Carry Flag. : Auxiliary Carry Flag. : Flag 0 (tidak digunakan). : Register Select 1. : Register Select 0. : aritmetic overflow flag : Accumulator Parity flag.

RS1 0 0 1 1

RSO 0 1 0 1

Bank Register 0 1 2 3

Alamat 00h - 07h 08h - 0Fh 10h - 17h 18h - 1Fh

Ports I/- 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).

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).

Port 1Seperti port I/O : Standar quasi-bidirectional.

- Fungsi alternatif: Hanya beberapa derivativ.

- 1.6 mA output (sekitar 4 LSTTL loads).

Port- 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).

Port

- Seperti port I/O : Standar quasi-bidirectional - Fungsi alternatif: Serial I/O Timer clocks Interrupts Data memory

- TXD, RXD - T0, T1 - INT0, INT1 - RD, WR

- 1.6 mA outputs (sekitar 4 LSTTL loads).

Instruction Set : rithmeticMnemonics ADD A, Rn ADDC SUBB Operands 1/1 A, direct A, @Ri A, #data INC DEC Rn A 1/1 direct @Ri INC MUL AB DIV DA DPTR 1/4 AB A 1/4 1/1 2/1 1/1 1/2 2/1 1/1 2/1 1/1 Bytes/Cycles

Instruction Set : ogicMnemonic ANL A, Rn ORL A, direct XRL A, @Ri Operands 1/1 2/1 1/1 A, #data direct, A direct, #data C, bit C, /bit CLR A CPL C 1/1 1/1 bit 2/1 2/1 2/1 3/2 2/2 2/2 Bytes/Cycles

Instruction Set : ogic (cont'd)Mnemonic RL RLC A RR RRC A SWAP SETB CLR bit CPL 2/1 Operands A 1/1 A 1/1 A C 1/1 1/1 1/1 Bytes/Cycles 1/1

Instruction Set : ransfer ataMnemonic MOVA, Rn Operands 1/1 A, direct A, @Ri A, #data Rn, A Rn , direct Rn, #data direct, A direct, Rn direct, direct direct, @Ri direct, #data 2/1 1/1 2/1 1/1 2/2 2/1 2/1 2/2 3/2 2/2 3/2 Bytes/Cycles

Instruction Set : ransfer ata (cont'd)Mnemonic [email protected], A Operands 1/1 @Ri, direct @Ri, #data DPTR, #data16 C, bit bit, C MOVX A,@DPTR @DPTR,A A,@Ri @Ri,A 2/2 2/1 3/2 2/1 2/2 1/2 1/2 1/2 1/2 Bytes/Cycles

Instruction Set : ransfer ata (cont'd)Mnemonic MOVC Operands A, @A+DPTR A, @A+PC PUSH POP direct XCH A, Rn direct 2/2 1/1 A, direct A, @Ri XCHD A, @Ri 2/1 1/1 1/1 Bytes/Cycles 1/2 1/2 2/2

Set Instruksi : PercabanganMnemonic LCALL ACALL RET RETILJMP AJMP SJMP JMP @A+DPTR JZ JNZ Operands addr16 addr11 1/2 1/2 addr16 addr11 rel 1/2 rel rel 2/2 2/2 3/2 2/2 2/2 Bytes/Cycles 3/2 2/2

Set Instruksi : PercabanganMnemonic CJNE Operands A, direct, rel A, #data, rel Rn, #data, rel @Ri,#data,rel DJNZ Rn, rel direct, rel NOP JC JNC rel JB JNB JBC 1/1 rel 2/2 bit, rel bit, rel bit, rel 3/2 3/2 3/2 2/2 Bytes/Cycles 3/2 3/2 3/2 3/2 2/2 3/2

(cont'd)