Anda di halaman 1dari 9

2.

Keluarga Mikrokontroler MCS-51


2.1. Gambaran Umum
Keluarga Mikrokontroler MCS-51 terdiri dari 8051, 8031, 8751, 8052,
8032, dan 8752. Masing-masing berbeda dalam konfigurasi internalnya.
Perbedaan pokok adalah bahwa 8031 dan 8032 tidak memiliki internal
ROM, sedangkan 8751 dan 8752 jenis internal ROM-nya adalah EPROM
(Erasable & Programmable ROM).

Keluarga Mikrokontroler MCS-51 memiliki konfigurasi dasar sebagai


berikut :
Parallel I/O Port 8 bit (P0-P3)
Serial Full-Duplex Asynchronous I/O Port
Internal Random Access Memory (RAM) sejumlah 128 byte (8051,
8031, 8751) atau 256 byte (8052, 8032, 8752)
Internal Read Only Memory (ROM) sejumlah 4 kilobyte (8051, 8751)
atau 8 kilobyte (8052, 8752)
Programmable Timer/Counter sejumlah 2 (8051, 8031, 8751) atau 3
(8052, 8032, 8752)
System Interrupt dengan 2 sumber interrupt eksternal dan 4
sumber interrupt internal

Dengan fasilitas yang cukup lengkap semacam itu, maka dimungkinkan


penggunaan mikrokontroler ini dalam konfigurasi single chip, dimana
hanya dibutuhkan satu chip untuk menjalankan seluruh sistem rangkaian.

Mikrokontroler MCS51

2.2. Arsitektur MCS-51


2.2.1. Diagram blok MCS-51
Diagram blok arsitektur MCS-51 dapat dilihat pada gambar 2.1. Pada
diagram blok tersebut dapat disimpulkan bahwa untuk aplikasi yang tidak
membutuhkan adanya RAM dan/atau ROM dengan skala besar, maka
MCS-51 telah dapat dipergunakan dalam konfigurasi single chip. Fasilitas
Parallel Port yang dimiliki dapat dipergunakan untuk mengendalikan
peralatan eksternal atau menginputkan data yang diperlukan. Port serial
dapat dipergunakan untuk mengakses sistem komunikasi data dengan dunia
luar, misalnya dengan komputer IBM PC, atau peralatan lainnya baik
langsung lewat kabel ataupun melalui modem dengan saluran telepon,
radio, atau bahkan serat optik. Timer/counter yang ada dapat dipergunakan
untuk mencacah pulsa, menghitung lama pulsa, atau sebagai pewaktu
umum. Sedangkan sistem interrupt membuat MCS-51 dapat dipakai pada
aplikasi-aplikasi yang mendekati sistem dengan proses real-time.
Rangkaian clock internal yang dimiliki MCS-51 menjadikan cukup hanya
ditambahkan sebuah kristal osilator dan dua buah kapasitor untuk
menghasilkan clock bagi seluruh sistem rangkaian. Untuk kebutuhan ROM
dan RAM yang besar, sistem MCS-51 mengijinkan penggunaan RAM dan
ROM masing-masing sebesar maksimal 64 Kilo byte, cukup besar untuk
aplikasi-aplikasi umum mikrokontroler.

Mikrokontroler MCS51

P0.0 - P0.7

P2.0 - P2.7

PORT 0
DR IVER

PORT 2
DR IVER

VCC

VSS

RAM ADDR ESS


REGISTER

PORT 0
LAT CH

RAM

PORT 2
LAT CH

EPRO M /
RO M

ACC
STACK
POINT ER
B R EG ISTER

T EM P2

PROGRAM
ADDRESS
REGISTER

T EM P1
PCON
T2CON
TL1
R2CAPL

ALU

SCON
TH0
TH2
SBUF

TMOD
TL0
TL2
IE

TCON
TH1
R2CAPH
IP

INT ER RUPT, SERIAL POR T


& T IM ER

PROGRAM
COUNTER

PSW

ALE
-EA

T IM IN G
&
CO NT RO L

RST

DPTR

INSTRUCTION
REGISTER

-PSEN

OSC

XT AL1

BUFFER

PCINCREMENTER

XT AL2

PORT 1
LAT CH

PORT 3
LAT CH

PORT 1
DR IVERS

PORT 3
DR IVERS

P1.0 - P1.7

P3.0 - P3.7

Gambar 2.1. Diagram blok MCS-51

2.2.2. Fungsi kaki-kaki (pin out) MCS-51


Pin Out MCS-51 dapat dilihat pada gambar di bawah ini :

Mikrokontroler MCS51

Gambar 2..2. Pin-out 8031

Fungsi kaki-kaki 8031 :


VSS

dihubungkan dengan ground rangkaian

VCC

dihubungkan dengan tegangan catu +5 V

Port 0 :

merupakan Port I/O 8 bit dua-arah. Port ini digunakan


sebagai multipleks bus alamat rendah dan bus data
selama pengaksesan ke eksternal memori. Setiap pin-nya
dapat mengendalikan langsung 4 beban TTL. Port 0 juga
menerima dan mengeluarkan code byte selama proses
pemrograman dan verifikasi ROM/EPROM internal.

Port 1

merupakan Port I/O 8 bit dua-arah, yang dapat


mengendalikan beban 4 TTL secara langsung. Setiap pin
dapat diakses secara operasi tiap bit atau byte
bergantung pemrogram. Port 1 juga menerima address
rendah

selama proses pemrograman dan verifikasi

ROM/EPROM internal.
Port 2

merupakan Port I/O 8 bit dua-arah, yang dapat


mengendalikan beban 4 TTL secara langsung. Port ini
digunakan sebagai

bus alamat tinggi

selama

pengaksesan ke eksternal memori. Port 2 juga menerima


address tinggi

selama proses pemrograman dan

verifikasi ROM/EPROM internal.


Port 3

merupakan Port I/O 8 bit dua-arah, yang dapat


mengendalikan beban 4 TTL secara langsung. Setiap pin
dapat diakses secara operasi tiap bit atau byte

Mikrokontroler MCS51

bergantung pemrogram. Masing-masing pin pada Port ini


memiliki fungsi khusus sebagai berikut :

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

Tabel 2.1.Fungsi Pin-pin Port 3


Fungsi alternatif
RXD (serial input port)
TXD (serial output port)
-INT0 (external interrupt 0)
-INT1 (external interrupt 1)
T0 (timer/counter 0 external input)
T1 (timer/counter 1 external input)
-WR (external data memory write strobe)
-RD (external data memory read strobe)

RST

merupakan input untuk RESET.

ALE

Address Latch Enable, digunakan untuk memberikan


sinyal latch pada alamat rendah pada multipleks bus
adress dan data.

-PSEN

merupakan sinyal read strobe untuk eksternal program


memori.

-EA/VPP :

merupakan input untuk mode program memori.


jika dihubungkan ke ground , program memori adalah
eksternal, jika dihubungkan ke VCC, program memori
adalah internal, jika dihubungkan ke VPP, diperlukan
untuk proses pemrograman ROM.

XTAL1, XTAL2
:

merupakan input untuk kristal clock.

Mikrokontroler MCS51

10

2.3. Organisasi memori


Pada keluarga MCS-51 ini pengalamatan memori dibedakan atas dua yaitu
untuk program memori dan untuk data memori. Pemisahan antara program
memori dan data memori merupakan ciri khas MCS-51. Masing-masing
program memori dan data memori dapat mengalamati sampai 64 Kilobyte ,
dengan masing-masing byte lebar datanya 8 bit.

2.3.1. Program memori


Program memori hanya dapat dibaca, tidak dapat ditulis. Di sini tersimpan
program yang akan dijalankan oleh MCS-51 dan data-data konstanta.
Sinyal pembacaan EPROM eksternal adalah dari pin -PSEN. Pada MCS51 ada dua tipe organisasi memori dari program memori, yaitu :
Pengaksesan program memori sebagian berasal dari internal EPROM
yang menempati alamat terendah dan alamat berikutnya dari EPROM
eksternal. Sebagai contoh untuk MCS-51 dengan model EPROM
internal seperti 8051, 8051AH, 8751, alamat 4 Kbyte program memori
terendah adalah ROM internal dan alamat berikutnya adalah pada
EPROM eksternal.
Pengaksesan program memori yang semuanya dari eksternal EPROM.

Secara diagram blok digambarkan sebagai berikut :

Mikrokontroler MCS51

11

PRO GRAM
MEMO RY
FFFFH

FFFFH

60 K BYTE
EKSTERNAL
ATAU

64 K BYTE
EKSTERNAL

1000H
0FFFH

4K BYTE
INTERNAL
0000H

0000H

Gambar 2.3. Organisasi Program Memori

Pemetaan Program Memori


Pemetaan program memori ditunjukkan sebagai berikut :
Alamat 0000H merupakan awal program. Setelah reset, CPU akan
loncat pada alamat ini dan mengerjakan instruksi di dalamnya.
Pada fungsi khusus alamat 3H dan seterusnya dengan interval 8 byte
dipakai sebagai alamat dari vektor interupsi. Bila interupsi tidak
dipakai, maka alamat tersebut dapat dipakai untuk program biasa.

Mikrokontroler MCS51

12

2.3.2. Data memori


Data memori menempati alamat yang terpisah dari program memori. Data
memori merupakan tempat penyimpanan data variabel, operasi stack dan
sebagainya. Data memori dapat dibaca dan ditulis. Sinyal pembacaan
untuk eksternal RAM berasal dari pin -RD dan untuk penulisan berasal
dari pin-WR. Peta data memori digambarkan sebagai berikut :
D A TA MEM O R Y
FFFFH

64 K BYTE
EKSTERNAL
FFH

DIRECT
ADDRESSING
ONLY

DAN

80H
7FH

DIRECT AND
INDIRECT
ADDRESSING
00H

0000H

Gambar 2.4. Organisasi data memori

Alamat 00H-FFH (untuk 8051) merupakan alamat dari internal RAM yang
dapat dialamati dalam dua mode. Pada alamat 00H - 7FH dapat dialamati
dalam mode direct maupun indirect addressing. Alamat 80H - FFH hanya

Mikrokontroler MCS51

13

dapat dialamati dalam mode direct addressing. Di luar alamat tersebut


merupakan alamat eksternal RAM.

32 byte terendah data memori terbagi atas 4 buah bank yang masingmasing terdiri atas 8 buah register. Kombinasi dari bank ini ditentukan
oleh register PSW (pembahasan mengenai ini bisa dilihat pada bab
berikutnya). Register- register tersebut adalah R0 sampai R7

yang

menempati alamat 00H - 1FH. Di atasnya merupakan segmen bit


addresable yang besarnya 16 byte, menempati alamat 20H sampai 2FH.
Alamat berikutnya yaitu mulai 30H sampai 7FH dapat dibagai sebagai data
RAM.

Setelah kondisi reset, kondisi baku register SP (stack pointer) akan menuju
alamat 07H dan begitu program dijalankan isi register SP akan ditambah 1
(menunjuk ke alamat 08h). Dan ini merupakan register bank 1 register R0.
Bila memakai lebih dari satu bank register maka SP harus diinisialisasi ke
lokasi yang lain.

Mikrokontroler MCS51

14