Anda di halaman 1dari 12

MAKALAH TENTANG ARSITEKTUR DAN KOMUNIKASI SERIAL

DARI INTEL 8051

Bagas Dwi Prasetianto – 41423110036

Perancangan Berbasis Mikroprosessor

Pendahuluan

Intel 8051 adalah sebuah mikrokontroler yang dikembangkan oleh Intel pada 1980
untuk digunakan dalam produk benam dan masih (pada 2005) salah satu mikrokontroler
paling populer. Inti 8051/8031† digunakan lebih dari 100 alat dari 20 produsen
independen seperti Atmel, Dallas Semiconductor, Philips, dan Winbond.

Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya


dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah
mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan
cara jalur pemilihan chip yang terpisah untuk akses program dan memori data.

Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah


mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat
dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Hal ini
menyebabkan 8051 populer dalam industri aplikasi kontrol dan digunakan dalam awal
rancangan programmable logic controller (PLC). Kemampuan lain yang berharga
adalah dia memiliki empat set register yang terpisah. Ini kadang kala digunakan untuk
mempercepat latency interrupt. Kebanyakan 8051 termasuk satu atau dua UART, dua
atau tiga "timer", 128-256 byte RAM dalam, 128 bit memori bit-addressable, sampai
128 byte I/O, 2k-54k memori program dalam, dan sebuah set instruksi sederhana.
Umumnya dia beroperasi pada 12 clock per instruksi, dan sering kali clock tersebut
mendekati 12 MGz jadi mereka beroperasi pada 1 MIPS. Sistem tidak mahal kadang
kala menggunakan resonator keramik dan bukan oscillator quartz. Bila sebuah sistem
membutuhkan untuk mengingat data melalui beberapa reset, dia dapat
menggunakan EEPROM serial.
Kompilator C untuk 8051 tersedia, tetapi sangat aneh untuk bekerja sama
dengan enam tipe memori, banyak set register, dan RAM (256 byte) dan ruang stack
(128 byte) yang sangat kecil. Bahasa tingkat tinggi lainnya tidak digunakan secara luas
dengan prosesor ini. Pendahulu 8051, Intel 8048, digunakan dalam keyboard
pertama PC IBM, di mana dia mengubah tekanan kunci menjadi sebuah aliran data
serial yang dikirimkan ke unit utama komputer. 9048 dan turunannya masih
digunakan pada 2005 untuk keyboard modal dasar.

Arsitektur Intel 8051

Arsitektur Intel 8051 adalah arsitektur mikrokontroler yang sangat terkenal dan
banyak digunakan dalam berbagai aplikasi elektronik. Mikrokontroler Intel 8051
pertama kali diperkenalkan pada tahun 1980-an dan masih digunakan hingga saat ini.
Berikut adalah komponen utama dari arsitektur Intel 8051:

1. Unit Pemrosesan Pusat (CPU):

Mikrokontroler Intel 8051 memiliki CPU 8-bit dengan arsitektur RISC


(Reduced Instruction Set Computer). CPU ini mengoperasikan instruksi-
instruksi dasar dengan kecepatan yang tinggi. Instruksi CPU terdiri dari operasi
aritmetika, logika, dan transfer data, yang memungkinkan pengontrolan yang
efisien atas perangkat eksternal.

2. Memori

RAM (Random Access Memory): Intel 8051 dilengkapi dengan RAM


internal yang berukuran kecil (biasanya 128 byte) untuk penyimpanan data
sementara dan variabel.

ROM (Read-Only Memory): ROM internal menyimpan kode program


yang tidak dapat diubah. Ada juga dukungan untuk ROM eksternal yang dapat
diprogram.

EEPROM (Electrically Erasable Programmable Read-Only


Memory): Beberapa varian 8051 memiliki EEPROM yang memungkinkan
pengguna untuk menyimpan data yang dapat diubah secara elektronik.
3. Register

Intel 8051 memiliki berbagai macam register, termasuk A (accumulator),


B, DPTR (Data Pointer), R0, R1, dan register-status seperti C, AC (Auxiliary
Carry), P (Parity), dan lainnya. Register A digunakan untuk operasi aritmetika
dan logika, sementara B adalah register tambahan untuk penyimpanan data.

4. Port I/O

Mikrokontroler ini memiliki empat port I/O (Port 0, Port 1, Port 2, dan
Port 3) yang digunakan untuk berkomunikasi dengan perangkat eksternal seperti
sensor, aktuator, dan tampilan. Setiap pin pada port I/O dapat dikonfigurasi
sebagai input atau output.

Berikut adalah pembahasan singkat tentang pin-pin ini.


a) XTAL2(Pin 18)
Keluaran dari penguatan membalik yang membentuk satu bagian dari
osilator dan masukan ke generator clock internal, harus dihubungkan ke
XTAL2.
b) XTAL1
XTAL1 adalah masukan ke penguatan membalik yang membentuk bagian
dari sirkuit osilator. Berkaitan dengan clock external, pin ini harus
dihubungkan ke ground.
c) Vcc (Pin 40)
Pin Vcc terhubung ke power supply +5V. Arus power supply yang
diperkirakan untuk 8031/8051 adalah 125mA. Sedangkan untuk 8751 arus
maksimalnya adalah 250 mA. Untuk 8031/8051 rata-rata efisiensinya adalah
1 W.
d) Vss (Pin 20)
Vss merupakan ground. Semua voltase dispesifikasikan berhubungan
dengan pin ini. Sebagai contoh, voltase di pin manapun yang berkenaan
dengan Vss seharusnya berada dalam jangkauan -0.5V hingga +7V.
e) Port 0 (pin-pin 32-39)
Port 0 adalah saluran I/O 8-bit. Alamat orde rendah dan bus data juga
dimultipleksiikan dengan Port 0. Port ini jenisnya merupakan cerat terbuka
masukan dua arah (open drain bi-directional I/O port) dan harus
menggunakan resistor pull-up selama verifikasi.
f) Port 1 (Pin-pin 1-8)
Port 1 adalah L/O 8-bit dengan masing-masing P1.0 sampai P1.7 yang
bersifat dua arah. Port 1 sudah terpasang resistor pullup secara internal. Jika
logika satu dituliskan pada Port 1 maka keluaran akan berlogika satu dan
dapat digunakan sebagai masukan.
g) Port 2 (Pin-pin 21-28)
Port 2 juga merupakan port I/O 8-bit dua arah. Pin-pin Port 2 sudah
terpasang resitor pullup secara internal. Port 2 dimultiplekskan dengan
alamat bus yang memiliki orde lebih tinggi.
h) Port 3 (Pin-pin 10-17)
Port 3 juga merupakan port I/O 8-bit bersifat dua arah. Pin-pin Port 3 sudah
terpasang resistor pullup secara internal. Ada fungsi-fungsi lain yang
dimultipleksikan dengan pin-pin Port 3. Fungsi-fungsi alternative dapat
dilihat pada tabel dibawah. Fungsi-fungsi tambahan pin-pin Port 3 ini
berhubungan dengan interupsi-interupsi eksternal, serial port, timer/counter
dan sinyal-sinyal baca/tulis.

i) Pin 9 (RST)
Untuk me-reset perangkat, pin RST dari 8051 dibuat logika tinggi untuk
dua siklus mesin. Sebuah resistor pull-down 8.2K dari pin RST ke
Vss dan sebuah kapasitor 10µF dari pin RST ke Vcc membentuk sirkuit
reset-nya. Nilai-nilai komponen ini cukup untuk memungkinkan
terjadinya penundaan (delay), demikian dengan tujuan untuk membuat
barisan RST berlogika tinggi selama 24 periode osilator. Untuk
mendukung fungsi reset manual, jika diinginkan, sebuat pemicu dapat
ditambahkan di seberang kapasitor 10µF.
j) ALE (Pin 30)
Keluaran Address Latch Enable (ALE) digunakan untuk mengunci byte
alamat rendah selama akses memori external. ALE diaktifkan secara
periodik dengan kisaran konstan dari 1/6 frekuensi osilator. Namun,
selama akses memori data eksternal, satu pulsa ALE dilewatkan.
k) PSEN (Pin 29)
Program Store Enable (PSEN) adalah sinyal kontrol keluaran, diaktifkan
setiap enam periode osilator ketika mengambil memori program
eksternal, pin ini adalah strobe pembaca bagi memori program eksternal,
dan selama eksekusi program internal, PSEN akan tetap berada dalam
posisi logika tinggi.
l) EA (Pin 31)
Pin akses eksternal (Eksternal Akses), ketika ditahan dalam posisi logika
tinggi, mengeksekusi perintah dari memori program internal sampai pada
alamat 0FFFH; setelah alamat ini, instruksi-instruksi diambil dari
memori program eksternal. Jika pin berada dalam posisi logika rendah,
semua perintah diambil dari memori eksternal, dan selama operasi
normal, pin ini tidak boleh berada dalam posisi mengambang.
5. Timer/Counter

Intel 8051 memiliki dua timer/counters yang dapat digunakan untuk


menghitung waktu atau menghasilkan pulsa akurat. Timer 0 dan Timer 1 dapat
diatur dengan preskaler dan mode operasi yang berbeda.

6. Komunikasi Serial

Komunikasi serial adalah fitur yang sangat penting dalam mikrokontroler


Intel 8051. Mikrokontroler 8051 memiliki perangkat keras UART (Universal
Asynchronous Receiver/Transmitter) yang memungkinkan komunikasi serial
asinkron dengan perangkat lain seperti komputer, sensor, modul RF, dan banyak
lagi. Berikut adalah beberapa poin penting tentang komunikasi serial menggunakan
UART pada mikrokontroler Intel 8051:

a) UART: UART adalah perangkat keras yang digunakan untuk mengirim dan
menerima data serial. UART bekerja dalam mode asinkron, yang berarti
bahwa data dikirim tanpa adanya clock bersama. Ini membuatnya sangat
fleksibel dan dapat digunakan dalam berbagai tingkat kecepatan (baud rate).
b) Konfigurasi UART: Sebelum dapat menggunakan UART, Anda harus
mengkonfigurasi pengaturan UART seperti baud rate (kecepatan transmisi),
format data (jumlah bit data, bit stop, dan bit paritas), dan mode pengiriman
(full-duplex atau half-duplex).
c) Pengiriman Data: Untuk mengirim data melalui UART, Anda memuat data
ke dalam register data (sering disebut sebagai SBUF atau Serial Buffer).
Kemudian, UART secara otomatis akan mengirim data tersebut bit per bit
dalam format yang telah dikonfigurasi.
d) Penerimaan Data: Ketika data diterima melalui UART, mikrokontroler akan
menyimpannya dalam register data. Anda dapat membaca data tersebut dari
register ini untuk pengolahan lebih lanjut.
e) Interrupt UART: Mikrokontroler Intel 8051 mendukung interrupt UART
yang memungkinkan Anda untuk merespons data yang masuk atau selesai
dikirim tanpa harus terus-menerus memeriksa status UART. Interrupt ini
dapat diaktifkan atau dinonaktifkan sesuai kebutuhan.
f) Handshaking: Dalam beberapa aplikasi, handshaking mungkin diperlukan
untuk memastikan bahwa pengirim dan penerima siap menerima data. Ini
dapat dicapai dengan menggunakan pin khusus seperti CTS (Clear To Send)
dan RTS (Request To Send) jika tersedia pada varian mikrokontroler Anda.
g) Error Checking: UART pada mikrokontroler 8051 dapat digunakan untuk
melakukan error checking menggunakan bit paritas (parity bit). Parity bit
adalah bit ekstra yang ditambahkan ke dalam data untuk mendeteksi
kesalahan pengiriman.
h) Contoh Pengkodean: Berikut adalah contoh pengkodean sederhana dalam
bahasa Assembly untuk mengirim dan menerima data melalui UART pada
mikrokontroler Intel 8051:

MOV SCON, #50h ; Konfigurasi UART: 8-bit data, 1


stop bit, tanpa paritas
MOV TMOD, #20h ; Timer 1 Mode 2: 8-bit auto reload
timer
MOV TH1, #FDh ; Set baud rate (misalnya, 9600 bps)
SETB TR1 ; Aktifkan Timer 1
Untuk Mengirim Data
MOV SBUF, #data ; Mengirim data ke UART

Untuk Menerima Data


JNB TI, $ ; Tunggu hingga TI menjadi 1
CLR TI ; Bersihkan TI
MOV data, SBUF ; Baca data dari UART

Berikut adalah beberapa instruksi kunci yang terkait dengan komunikasi


serial pada Intel 8051:

a) MOVX (Move
External): MOVX
@R0, A

MOVX @R1, A

Instruksi MOVX digunakan untuk mentransfer data antara mikrokontroler


dan perangkat eksternal, seperti memori EEPROM atau perangkat lain yang
terhubung melalui bus data eksternal. Pada Intel 8051, terdapat dua register
pointer yang dapat digunakan, yaitu R0 dan R1.

b) MOVC
(Move
Code):
MOVC A,
@A+DPTR

Instruksi MOVC digunakan untuk mengambil data dari lokasi memori yang
diindeks oleh DPTR (Data Pointer) dan menyimpannya di dalam
akumulator (A). Ini berguna dalam aplikasi yang melibatkan pengambilan
data dari tabel.
c) MOV
(Mov
e):
MOV
A,
SBUF

MOV SBUF, A

Instruksi MOV digunakan untuk mengirim dan menerima data melalui


UART. SBUF (Serial Buffer) adalah register yang digunakan untuk
menyimpan data yang akan dikirim atau diterima melalui UART.

d) CLR RI (Clear Receive


Interrupt Flag): CLR RI

Instruksi ini digunakan untuk menghapus flag RI (Receive Interrupt) dalam


register SCON. Flag ini menandakan bahwa data telah diterima melalui
UART.

e) CLR TI (Clear Transmit Interrupt Flag):

CLR TI

Instruksi ini digunakan untuk menghapus flag TI (Transmit Interrupt) dalam


register SCON. Flag ini menandakan bahwa mikrokontroler telah selesai
mengirim data melalui UART dan siap untuk mengirim data berikutnya.

f) ANL (Bitwise AND) dan


ORL (Bitwise OR): ANL
SCON, #value

ORL SCON, #value


Instruksi-instruksi ini digunakan untuk mengatur bit-bir dalam register SCON
(Serial Control) yang mengontrol mode dan pengaturan komunikasi serial. Dan
juga, dapat menggunakan instruksi ANL untuk mengatur bit SM0 dan SM1 untuk
mengkonfigurasi mode UART dalam mikrokontroler.

g) SETB (Set Bit) dan


CLR (Clear Bit): SETB
TI

CLR TI

Instruksi-instruksi ini digunakan untuk mengatur bit-bir tertentu dalam register


kontrol UART. Contohnya, instruksi SETB digunakan untuk mengatur bit TI
agar menandakan mikrokontroler siap untuk mengirim data.

h) NOP (No
Operation):
NOP

Instruksi NOP digunakan untuk menghentikan mikrokontroler sementara tanpa


melakukan operasi apapun. Ini bisa berguna dalam mengatur waktu untuk
pengiriman atau penerimaan data.

Instruksi-instruksi di atas adalah beberapa instruksi kunci yang digunakan dalam


komunikasi serial pada mikrokontroler Intel 8051. Kombinasi instruksi ini
memungkinkan mikrokontroler untuk mengontrol pengiriman dan penerimaan data
dalam mode komunikasi serial sesuai dengan kebutuhan aplikasi.

7. Interrupsi

Intel 8051 mendukung sistem interrupt yang dapat digunakan untuk merespons
peristiwa tertentu secara segera. Ada lima sumber interrupt yang berbeda.

8. Oscillator dan Pembagi Frekuensi

Mikrokontroler ini membutuhkan osilator eksternal yang mengatur kecepatan


operasionalnya. Ada juga pembagi frekuensi yang dapat menghasilkan clock internal
untuk beberapa varian 8051.
Arsitektur Intel 8051 telah menjadi dasar bagi banyak varian mikrokontroler 8051 yang
tersedia di pasaran, dan banyak komponen elektronik yang menggunakan
mikrokontroler ini. Pemahaman yang baik tentang arsitektur ini penting dalam
pengembangan sistem berbasis Intel 8051.

Kesimpulan

Intel 8051 memiliki beberapa keunggulan yang menjadikannya pilihan yang kompetitif
dalam dunia mikrokontroler. Salah satu keunggulannya adalah arsitektur sederhananya,
yang membuatnya mudah dipahami dan diprogram bahkan oleh pengembang yang
relatif pemula. Keunggulan lainnya adalah biaya yang terjangkau, sehingga cocok untuk
berbagai proyek dengan anggaran terbatas. Selain itu, 8051 juga menonjol dengan
konsumsi daya yang rendah, sehingga ideal untuk aplikasi berbasis baterai atau yang
memerlukan efisiensi daya. Kemampuan I/O yang kuat memungkinkan pengembang
menghubungkan berbagai perangkat eksternal dengan mudah, dan timer/counters yang
fleksibel memberikan kontrol yang baik atas waktu dan kecepatan eksekusi program.
Intel 8051 juga mendukung komunikasi serial, yang penting untuk berkomunikasi
dengan perangkat lain. Terlebih lagi, keluwesan dalam aplikasi dan kompatibilitas yang
luas dengan perangkat keras dari berbagai produsen membuat 8051 tetap relevan dalam
berbagai proyek elektronik. Dengan dokumentasi yang lengkap dan dukungan perangkat
lunak yang melimpah, Intel 8051 terus menjadi pilihan yang menarik bagi pengembang
yang mencari solusi mikrokontroler yang andal dan terjangkau.

Anda mungkin juga menyukai