Anda di halaman 1dari 12

Modul 2.

Arsitektur Prosesor Intel 8051 MK : Mikroprosesor


Arsitektur Prosesor Intel 8051
Prosesor atau mikroprosesor adalah suatu perangkat digital berupa Chip atau IC Integrated
Cir!uit" #ang digunakan untuk memproses data biner. Alat ini berisi A$% Arithmeti! and $ogi!
%nit"& register'register& Control %nit dan sistem interkoneksi atau (%) internal. (ila sebuah prosesor
dilengkapi dengan memor# *AM + *,M" dan -asilitas Input.,utput internal& biasan#a disebut
mikrokontroler. 8051 merupakan mikrokontroler buatan Intel !orp #ang merupakan bagian dari
keluarga MC)'51. )emua -asilitas sebuah sistem mikroprosesor #ang terdiri dari prosesor& memor#
dan I., dikemas dalam keping tunggal atau single !hip IC. /engan !ara ini& maka pengguna atau user
tidak perlu melengkapi keping tunggal ini dengan beragam IC lain seperti clock generator, addres
latcher, chip selector, memory dan PPI (Programmable Peripheral Interface) atau lainn#a.
0ariasi register di dalam sebuah mikroprosesor sangat beragam bergantung pada tipe& -ungsi
khusus #ang diinginkan dan pabrik pembuatn#a. Karena mikrokontroler telah dilengkapi dengan
berbagai peripheral #ang sudah terdapat pada satu !hip IC maka mikrokontroler memiliki keunggulan
berikut ini :
a. 1arga #ang lebih ekonomis .
b. )istem #ang 2auh lebih kompak dan ringkas.
!. 3ingkat keamanan dan akurasi #ang lebih baik.
d. Kemudahan dalam penggunaann#a untuk sistem #ang berbasis mikrokontroler.
(erdasarkan perbedaan dalam aplikasi dan -asilitas& mikrokontroler mempun#ai set instruksi
(Instruction Set) #ang berbeda dengan mikroprosesor lainn#a. )et instruksi mikroprosesor tersebut
bersi-at processing intensive untuk operasi data 4olume besar& #ang dapat beroperasi se!ara bit&
nibble& b#te atau 5ord. (eragam mode pengalamatan (addressing mode) memungkinkan akses ke
lokasi dapat dilakukan se!ara -leksibel baik data arra# #ang besar& memakai pointer alamat& o--set dan
lain'lain.
/i sisi lain mikrokontroler mempun#ai instruksi #ang bekaitan dengan kontrol dari Input dan
,utput. Antaramuka (interfacing) ke berbagai Input dan ,utput dapat dilakukan dengan operasi bit
maupun b#te.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 1
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
2.1. Arsitektur Mikrokontroler AT89C51
A386C51 merupakan prosesor 8'bit dengan low power supply dan per-ormansi tinggi #ang
terdiri dari CM,) dengan Flash Programmable dan Erasable ead !nly "emory (PE!") sebesar
7 Kb#te didalamn#a. Alat tersebut dibuat dengan menggunakan teknologi tinggi non#volatile
berdensitas tinggi dari A3M8$ #ang kompatibel dengan keluarga MC)'51 buatan Intel #ang
merupakan standar industri. /engan menggunakan flash memori& program dapat diisi dan dihapus
se!ara elektrik& #aitu dengan memberikan kondisi'kondisi tertentu high $ low" pada pin'pinn#a sesuai
dengan kon-igurasi untuk memprogram atau menghapus. Cara ini lebih praktis dibandingkan dengan
menggunakan 8P*,M #ang penghapusan program atau datan#a menggunakan sinar ultra4iolet.
9asilitas #ang tersedia pada A386C51 antara lain :
a. 7 Kb#tes 9lash 88*,M dengan kemampuan sampai 1000 kali tulis'hapus
b. 128 : 8'bit internal *AM.
!. ;2'bit atau 2alur Input.,utput.
d. 2 dua" buah 1<'bit 3imer . Counter.
e. < enam" buah sumber interupsi.
-. )erial Communi!ation Inter-a!e.
g. Kompatibel dengan prosesor MC)'51 buatan Intel Corp.
h. ,perasi Klok antara 1 sampai 27 M1=.
>ambar 2.1. Arsitektur Internal Mikrokontroler A386C51
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 2
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
2.2. Fungsi - fungsi Pin Mikrokontroler AT89C51
)usunan pin atau kaki?kaki mikrokontroler A386C51 dapat dilihat pada gambar di ba5ah
ini :
>ambar 2.2. Kon-igurasi Pin Mikrokontroler A386C51
XTAL1& adalah kaki masukan ke rangkaian os!ilator internal. )ebuah os!illator kristal atau sumber
os!ilator luar dapat digunakan.
XTAL2& adalah kaki keluaran dari rangkaian os!ilator internal. Pin ini dipakai bila menggunakan
os!ilator kristal.
>ambar 2.;. Contoh koneksi kristal untuk !lo!k.
>ambar 2.;. memperlihatkan !ontoh koneksi pin @3A$2 dan @3A$1 untuk menghasilkan klok
internal. Kristal #ang digunakan berkisar antara 1 M1= sampai 27 M1=. Penggunaan klok pada
sistem mikroprosesor mutlak diperlukan untuk sinkronisasi akti4itas seluruh komponen digital #ang
terlibat di dalamn#a& makin !epat getaran klok& makin !epat pula proses #ang dilakukan sistem
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 3
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
tersebut. Karena sebuah siklus mesin machine cycle" pada 8051 membutuhkan 12 klok& maka 2ika
kita menggunakan kristal 12 M1=& 1 siklus mesin memakan 5aktu 1 s.
RST& *eset input.. Memberikan sin#al 1I>1 pada pin ini paling tidak selama 2 siklus mesin sekitar
2 s untuk prosesor #ang menggunakan kristal 12 M1=" akan me'reset mikrokontroler. )emua pin
I., akan high ketika reset diberi kondisi high
ALE / PROG,
)in#al 1I>1 diberikan oleh pin ini atau A$8 (%ddres &atch Enable) ketika prosesor mengakses kode
program fetch cycle" dari memor# eksternal. Pin ini disediakan karena 8 dari 1< pin Address dipakai
bergantian dengan 8 pin /ata. Pin ini disambungkan dengan sebuah $at!h atau (u--er #ang menahan
sin#al address. Pada operasi normal A$8 dikelurkan se!ara konstan pada 1.< -rekuensi os!illator dan
dapat dipakai untuk timing atau !lo!king eksternal.
)edangkan P*,> atau kondisi $,A #ang diberikan terhadap pin ini diterapkan pada saat pengisian
kode program ke dalam *,M internal.
PSEN& Program Strobe Enable merupakan sin#al pengontrol #ang membolehkan program memori
eksternal masuk ke dalam bus selama proses pemberian . pengambilan instruksi fetching". Pin ini
biasan#a dihubungkan dengan ,8 output enable" pada Chip *,M eksternal.
EA / VPP&
Pin 8A ini harus dihubungkan ke ground 2ika kode program diletakkan pada memor# eksternal.
)ebalikn#a harus disambunkan ke 0!! 2ika kode program diletakkan pada *,M internal.
A386C51 memiliki memor# internal& #aitu 128 b#te *AM dan 7kb#tes *,M& sehingga untuk
men#impan program #ang ukurann#a tidak melebihi 7kb#te tidak diperlukan lagi *,M eksternal.
/ari ;2'pin saluran I., #ang tersedia& 27 di antaran#a digunakan untuk I., paralel dan 8'bit sisan#a
ber-ungsi ganda& #aitu sebagai I., paralel sekaligus untuk sin#al kontrol #aitu pin P;.0 sampai P;.B.
)in#al !ontrol tersebut adalah A*& */& 30& 31& IC30& IC31 dan 2'bit saluran Input.,utput serial
#aitu *@/ dan 3@/.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 4
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
2.3. Organisasi Meori
Mikrokontroler A386C51 memiliki memor# internal program #ang terpisah dari memor#
internal data& ruang memor# internal program memiliki kapasitas 7 kb#te -lash 88*,M& #aitu alamat
00001 sampai 09991 dalam bilangan heksadesimal atau alamat 0 sampai 7065 dalam bilangan
desimal. Karena alamat terkait dengan 2umlah pin address #ang menggunakan sistem biner& maka
biasan#a angka alamat memor# menggunakan bilangan biner atau heksadesimal& di mana setiap angka
heksadesimal me5akili 7'bit angka biner.
a". Memor# Program.
a". Memor# /ata.
>ambar 2.7. Peta Memor# internal pada intel 8051.
>ambar 2.7.a. memperlihatkan lokasi *,M internal. $okasi ini dapat diakses 2ika pin
E%
D 1 atau
diberi tegangan 0!!. Eika ukuran program melampaui 7kb#te& maka harus digunakan *,M eksternal
#ang alamatn#a antara 0000h sampai 9999h atau <7kb#te dan pin
E%
D 0 atau dihubungkan dengan
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 5
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
ground. Eika digunakan 8P*,M eksternal& maka alamat memor# program sama dengan alamat
memor# data& dengan kata lain alamat <7 kb#te dipakai bersama oleh program dan data.
)eperti telah disebutkan di atas& A386C51 dapat membedakan alamat memor# hingga <7
kb#te& pengaksesan data ke memori data eksternal dilakukan dengan menggunakan data pointer
melalui instruksi '"!()*+
/i samping dapat mengakses *AM eksternal& mikrokontroler A386C51 memiliki *AM
internal #ang pengaksesann#a terpisah dengan *AM eksternal. *AM internal berkapasitas 128 b#te
ditambah se2umlah )9* (Special Function egister). >ambar 2.7.b. kiri memperlihatkan *AM
internal dan )9*. Kelompok *AM internal memiliki alamat antara 00 ? B91 sedangkan kelompok
)9* Special Function egister) memiliki alamat antara 801 ? 991. *AM internal dapat diakses
se!ara langsung direct addressing" maupun tak langsung indirect addressing" melalui *, dan *1.
)edangkan )9* han#a dapat diakses se!ara langsung dengan men#ebutkan nama lokasin#a& bukan
nomor lokasin#a& misaln#a ACC& (& P0& P1 dst.
128 b#te *AM internal #ang terletak antara 00 ? B91 terbagi atas ; tiga" bagian #aitu :
>ambar 2.5. Peta *AM internal 8051.
a. Kelompok *egister (ank. (erupa ;2 b#te atau ;2 register #ang terletak antara 00h sampai
19h. (agian ini dipe!ah men2adi 7 register bank #ang masing'masing terdiri dari 8 register
#ang diberi nama *0 sampai *B. Masing'masing register dapat dialamatkan dengan nama
ataupun dengan alamat *AM'n#a. (it *)0 dan *)1 pada register P)A di )9* menentukan
bank mana #ang sedang digunakan. Misaln#a 2ika *)0 dan *)1 bernilai 00& maka *2
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 6
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
menempati lokasi 021 pada register bank pertama& tetapi 2ika *)0 dan *)1 bernilai 10&
maka *2 menempati lokasi 121 pada register bank ketiga.
b. /aerah pengalamatan bit (bit addressable) #ang terdiri dari 1< b#te atau 1< register dengan
alamat antara 20h sampai 29h. )etiap bit pada areal ini dapat diakses se!ara terpisah tanpa
mengganggu bit lainn#a. Pengalamatan b#te dapat mengunakan alamat register antara 20h
sampai 29h& sedangkan pengalamatan bit dapat dilakukan dengan menuliskan titik setelah
alamat registern#a& misal 201.B untuk bit M)( pada register 201.
!. /aerah register penggunaan umum )!rat!h Pad Area" #ang terletak di bagian atas *AM
internal& #aitu alamat ;0h sampai B91. (iasan#a Stack diletakkan di area ini.
2.!. "F# $"%e&ial Fun&tion #egister'.
/i dalam setiap operasin#a mikrokontroler harus selalu men#ertakan register sebagai salah
satu operand atau tempat data #ang akan dilibatkan dalam operasi tsb. *egister adalah memori ke!il
berukuran 1 atau 2 b#te& 8'bit atau 1<'bit.
*egister akan menampung data sebelum diolah& register 2uga akan menampung data hasil
olahan sementara sebelum dikembalikan atau dikirim ke (%) internal atau eksternal + )elain itu&
register 2uga digunakan untuk mengendalikan operasi I., de4i!e& seperti paralel I.,& serial
!ommuni!ation& 3imer dan Interrupt. >ambar 2.<. memperlihatkan peta )9*.
*egister'register #ang ada di mikrokontroler adalah sebagai berikut:
a. *egister A& disebut 2uga sebagai akumulator )9* alamat 80h" #aitu tempat akumulasi proses
olah data.
b. *egister (& disebut 2uga (ase *egister )9* alamat 90h". *egister ini 2arang dipakai karena
han#a dipakai untuk operasi perkalian dan pembagian sa2a.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 7
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
>ambar 2.<. Peta )9* )pe!ial 9un!tion *egister".
!. *egister *0 s.d *B tidak terletak dalam )9*". Merupakan *egister serbaguna #ang boleh
dipakai untuk apa sa2a. Khusus untuk register *0 dan *1 dapat digunakan 2uga untuk
operasi pengalamatan tak langsung indirect addressing".
d. *egister /P3*& merupakan satu'satun#a register 1<'bit #ang ada pada mikrokontroler
keluarga MC)51. *egister ini mempun#ai -ungsi serbaguna seperti haln#a register *0 s.d
*B& dan dapat 2uga untuk men#impan alamat memor# eksternal bagi mode pengalamatan
tak langsung. *egister ini dapat dibagi men2adi dua bagian #aitu register /P$ dan register
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 8
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
/P1. *egister /P$ adalah byte ba5ah dari /P3* #aitu bit ke'0 s.d bit ke'B& sedangkan
register /P1 adaalh byte atas dari /P3* #aitu bit ke'8 s.d bit ke'15.
e. P)A (Program Status ,ord) atau flag register& )9* alamat /01& merupakan register #ang
berisi data'data kondisi mikrokontroler setelah suatu operasi selesai di2alankan. *egister ini
memiliki bit ke'; dan bit ke'7 digunakan untuk pemilihan register bank.
-. *egister Port& terdiri dari 7 empat" #aitu P0& P1& P2& dan P;. *egister port berisi data'data
#ang akan dikirim keluar dan data'data #ang telah diba!a dari luar. )etiap bit pada register
port terkait langsung dengan kondisi pin tertentu& misaln#a 2ika bit pada P1.5 diberi nilai
biner F1G& maka pin #ang terkait dengann#a& #aitu pin nomor < lihat gambar 2.2." akan
berkondisi 1I>1 atau tegangan 5 4olt. Eika pin < ini disambungkan ke sebuah $8/& maka
$8/ akan men#ala. )ebalikn#a& 2ika pin < tsb disambungkan ke sebuah sensor dan sensor
tsb dalam kondisi 1I>1& maka P1.5 akan bernilai F1G. Pada kasus $8/& pin P1.5. ber-ungsi
sebagai pin output& sedangkan pada kasus sensor& pin tsb ber-ungsi sebagai input bagi
prosesor.
g. )P (Stack Pointer)& )9* alamat 81h& berisi alamat stack atau tumpukan tertinggi dalam *AM
internal. *egister ini berguna untuk men#impan data #ang terkait dengan instruksi P%)1
memasukkan data ke sta!k" dan P,P mengeluarkan data dari sta!k" atau alamat'alamat
kode program #ang diselamatkan pada saat ter2adi pemanggilan subprogram atau rutin
interupsi.
h. Pasangan *egister 3imer. *egister #ang terkait dengan penggunaan timer adalah register
310& 3$0& 311& 3$1& 3M,/ dan 3C,C. Pasangan register 31 dan 3$ digunakan sebagai
!ontainer atau 2am pasir #ang menampung pulsa dengan kapasitas maksimum <55;5 pulsa.
Pulsa #ang masuk ke dalam kontainer ini bergantung pada mode penggunaan 3imer. Eika
I., de4i!e ini digunakan sebagai 3imer& maka pulsa #ang masuk berasal dari rangkaian
klok internal dengan perioda 12 kali perioda kristal #ang digunakan. Eika prosesor
menggunakan kristal 12 M1=& maka perioda pulsa untuk timer 1 s. )edangkan 2ika I.,
de4i!e ini digunakan sebagai Counter& maka pulsa #ang masuk berasal dari pin 31 atau 30
para Port ; lihat gambar 2.2.". 9rekuensi pulsa #ang masuk melalui 31 maupun 30 tidak
boleh melampaui 1.27 -rekuensi kristal.
i. *egister'register kontrol. Haitu register'register #ang digunakan untuk mengendalikan ker2a
I., de4i!e internal. *eegister tersebut antara lain register IP (Interrupt Priority) dan I8
(Interupt Enable) untuk operasi interupsi& register 3M,/ (-imer "ode) dan3C,C (-imer
.ontrol) untuk operasi 3imer atau Counter& register )C,C untuk operasi komunikasi serial
dan register PC,C (Power .ontrol) untuk pengendalian penggunaan da#a listrik prosesor.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 9
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
2.5. "truktur Port.
Prosesor A386C51 men#ediakan ;2'pin I., #ang dikelompokkan men2adi 7 buah Port. )etiap
pin terkait langsung dengan bit tertentu #ang ada pada register P0& P1& P2 atau P; #ang terletak dalam
)9*. )eperti tampak pada gambar 2.<. register P0& P1& P2 dan P; merupakan register bit addressable&
setiap bit dapat diakses 2 arah input atau output" se!ara terpisah tanpa mempengaruhi bit lainn#a.
)ebagai !ontoh saat P1.5 digunakan sebagai pin input& P1.7 dapat digunakan sebagai output atau
sebalikn#a.
Port 0
Port 0 nol" terdapat pada pin ;2 s.d pin ;6. Port 0 adalah port paralel 8'bit dua arah #ang
belum dilengkapi dengan rangkaian pull'up internal& #aitu rangkaian untuk mempertahankan harga
tegangan pada saat kondisi 1I>1 maupun $,A. ,utput dari port 0 dapat mensuplai arus ke 8 buah
pin 33$. Meskipun demikian& karena pin pada port 0 tidak dilengkapi dengan internal pull'up&
biasan#a pin'pin pada port ini digunakan sebagai pin input.
)elain untuk paralel port& pin'pin pada port 0 2uga dapat digunakan untuk pin address maupun
pin data ketika prosesor menggunakan memor# atau I., eksternal.
Port 1
Port 1 terdapat pada pin 1 s.d pin 8. Port 1 adalah port paralel 8'bit dua arah #ang telah
dilengkapi dengan internal pull#up. )etiap pin pada port 1 dapat mensuplai arus ke 7 buah pin 33$.
)eluruh pin dapat digunakan sebagai input maupun output.
Port 2
Port 2 terdapat pada pin 21 s.d pin 28. Port 2 adalah paralel port dua arah #ang dilengkapi
dengan rangkaian pull#up. ,utput dari port 2 dapat mensuplai arus ke 7 buah pin 33$. )elain sebagai
paralel port. Port 2 2uga dapat digunakan sebagai pin address lihat gambar 2.2.". %ntuk -ungsi ini port
2 mengunakan internal pull#up #ang kuat.
Port 3
Port ; terletak pada pin 10 s.d 1B. Port ; adalah port paralel dua arah #ang dilengkapi dengan
rangkaian pull#up. ,utput dari port ; dapat mensuplai arus ke 7 pin 33$+ )elain itu port ; 2uga
memiliki -ungsi lain #ang dapat dilihat pada tabel di ba5ah ini :
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 10
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
3abel 2.1. 9ungsi lain Port ;.
2.(. Meto)e Pengalaatan $addressing mode'
%ntuk mengakses memor# atau register& prosesor 8051 memiliki beberapa !ara pengalamatan&
#aitu :
a. Pengalamatan *egister (register addressing)
Cara ini han#a berlaku untuk register *0 sampai *B. Misaln#a instruksi :
M,0 *B&221 men#ebabkan isi *AM internal alamat 221 disalin ke *egister *B.
b. Pengalamatan $angsung (direct addressing)
Cara pengalamatan seperti ini han#a berlaku untuk *AM internal dan )9*. Pada !ara ini&
dalam instruksin#a operand ditun2ukkan oleh suatu alamat #ang lebarn#a 8'bit. Misaln#a
instruksi
M,0 271&221 men#ebabkan isi *AM internal alamat 221 disalin ke *AM internal
alamat 271.
M,0 3M,/&I00010001( men#ebabkan angka biner 00010001 dimasukkan ke register
3M,/.
M,0 271&P1 men#ebabkan kondisi pin pada Port 1 direkam ke dalam *AM internal
alamat 271.
!. Pengalamatan tidak langsung (indirect addressing)
Cara pengalamatan ini han#a berlaku untuk *AM internal. Pada !ara ini& instruksi
menun2ukkan suatu register #ang isin#a adalah alamat dari suatu operand . Misaln#a&
M,0 J*0&221 men#ebabkan isi *AM internal alamat 221 disalin ke *AM internal
#ang alamatn#a tersimpan pada registe *0.
d. Pengalamatan segera (immediate addressing)
Cara ini berlaku untuk *AM internal dan )9*& di mana data #ang akan dilibatkan tertulis
langsung pada instruksin#a& misaln#a :
M,0 3M,/&I00010001( men#ebabkan angka biner 00010001 dimasukkan ke register
3M,/.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 11
Modul 2. Arsitektur Prosesor Intel 8051 MK : Mikroprosesor
M,0 271&I221 men#ebabkan angka 221 dimasukkan ke *AM internal
alamat 271.
e. Pengalamatan berindeks (inde/ed addressing)
(iasan#a !ara ini digunakan untuk mengambil data #ang ditulis pada memor# program. Cara
ini ditu2ukan untuk menba!a look#up table #ang ada di memori program. Misaln#a :
M,0C A&JAK/P3* men#ebabkan data #ang terletak pada memor# #ang alamatn#a
merupakan hasil pen2umlahan isi register A dengan isi register
/P3* disalin ke register A.
PUSAT PENGEMBANGAN BAHAN AJAR-UMB Ir. Eko Ihsanto M.Eng.
MICROPROSESOR 12