SlideShare a Scribd company logo
1 of 17
Download to read offline
BAB I
PENDAHULUAN
1.1 Mikroprosesor
Mikroprosesor adalah gabungan 2 kata yaitu mikro dan prosesor. Jadi,
mikroprosesor adalah sebuah alat yang berukuran kecil yang digunakan untuk
memproses data secara digital. Selain berukuran kecil, mikroprosesor memiliki
kemampuan komputasi yang lebih rendah dibandingkan dengan komputer yang
digunakan.
Mikroprosesor secara umum terdiri dari: ALU (Arithmetic Logic Unit),
Control and Timing Unit, dan Array Register (Register Larik). ALU berfungsi sebagai
bagian yang melakukan operasi aritmatik dan logika dalam memproses data. Bagian
ini yang melakukan operasi bagian dalam mikroprosesor. Sedangkan Register Larik
berfungsi untuk menyimpan data sementara hasil proses oleh mikroprosesor.
Fungsinya hampir sama dengan piranti memori mikroprosesor dengan perbedaan
bahwa: Memori berada diluar mikroprosesor sedangkan register berada didalam
mikroprosesor, Memori diidentifikasi dengan alamat sedangkan register diidentifikasi
oleh nama register oleh mikroprosesor. Bagian Timing & Control berfungsi sebagai
pembangkit daur-waktu untuk antarmuka dengan peripheral pada bus alamat, data dan
kontrol. Selain itu mengendalikan bus-bus tambahan lainnya seperti interupsi, DMA
dan lain sebagainya, tergantung arsitektur mikroprosesor itu sendiri. Arsitektur
mikroprosesor pada saat ini banyak ragamnya, mulai yang paling sederhana hingga
yang komplek. Dalam pembahasan ini akan dijelaskan tentang arsitektur
mikroprosesor 8085.
1.1.1 Arsitektur mikroprosesor 8085
Mikroprosesor 8085 merupakan mikroprosesor 8bit produksi INTEL,
diluncurkan sekitar tahun 1970. Lebih jelasnya lihat situs Sejarah Mikroprosesor
INTEL. Pada jamannya sempat dijadikan sebagai mikroprosesor standar untuk sistem
operasi CP/M. Arsitektur mikroprosesor INTEL 8085 diperlihatkan dalam gambar
berikut ini:
1
Sumber: Lembar Data INTEL 8085
Mikroprosesor 8085 ini dikemas dalam bentuk DIP (Dual Inline Package)
dengan jumlah penyemat sebanyak 40 buah. Dibandingkan pendahulunya 8080,
mikroprosesor 8085 hanya membutuhkan sumber tegangan.
Susunan penyemat mikroprosesor 8085
Mikroprosesor 8085 memiliki jumlah Bus Alamat sebanyak 16bit dengan
demikian dapat mengakses memori secara langsung sebanyak 216 alamat memori
atau sebanyak 65535 alamat, sering disebut sebagai 64K x 8Bit atau 64KByte memori
2
secara langsung. Jumlah Bus Data adalah 8bit, dengan demikian dapat menghubungi
peripheral dengan lebar data (Data Path Width) 8bit.
Mikroprosesor ini tidak memiliki buas alamat 16bit secara terpisah,
melainkan bus alamat byte terendah (low significant byte) yaitu A0..A7 dimultiplek
dengan Bus Data D0..D7. Dengan demikian mikroprosesor 8085 belum siap dijadikan
sebagai Unit Mikroprosesor (MPU - Microprocessor Unit). Selain itu bus kontrol
peripheral /MEMR, /MEMW, /IOR, dan /IOW belum terpisah sepenuhnya dan harus
dibangkitkan dari sinyal kontrol /RD (penyemat 32), /WR (penyemat 31), IO/M
(penyemat 34). Agar siap dijadikan sebagai MPU diperlukan beberapa komponen
tambahan yaitu rangkaian bus demultiplexer (pemisahan bus D0..D7 dan A0..A7) dan
rangkaian dekoder sinyal kontrol.
Register yang dimiliki mikroprosesor 8085 adalah:
o Register B, C, D, E, H, L. Dapat diperlakukan sebagai register 8bit atau pasangan
register 8bit menjadi 16bit yaitu BC, DE dan HL. Register ini disebut sebagai User
Register artinya register yang diperuntukkan pengguna agar bisa dilibatkan dalam
pemrograman.
o Register SP (Stack Pointer), berfungsi sebagai pointer tumpukan yaitu penyimpanan
data dalam memori yang disusun secara bertumpuk.
o Register PC (Program Counter), berfungsi sebagai pointer alamat program yang
akan dieksekusi.
1.2 Bahasa Assembly
Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa
mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal
dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang
mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia
sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi
yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembly memakai kode
Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih
memudahkan penulisan program.
Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic
dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source
Code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program, tapi
3
harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner. Program
sumber dibuat dengan program editor biasa, misalnya Note Pad pada Windows atau
SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin
dengan menggunakan program Assembler.
Bagan kerja proses Assembly
1.2.1 Konstruksi Program Assemble
Program sumber dalam bahasa Assembly menganut prinsip 1 baris untuk satu
perintah, setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni
bagian Label, bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir
bagian komentar.
Untuk membedakan masing-masing bagian tersebut dibuat ketentuan sebagian
berikut:
1. Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus
untuk operand yang lebih dari satu masing-masing operand dipisah-
kan dengan koma.
2. Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah ba-
ris, jika ada satu bagian yang tidak ada maka spasi atau TAB seba-
gai pemisah bagian tetap harus ditulis.
3. Bagian Label ditulis mulai huruf pertama dari baris, jika baris
bersangkutan tidak mengandung Label maka label tersebut diganti-
kan dengan spasi atau TAB, yakni sebagai tanda pemisah antara ba-
gian Label dan bagian mnemonic.
Label mewakili nomor memori-program dari instruksi pada baris bersangku-
tan, pada saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk
menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu me-
wakili nomor memori-program dan harus ditulis dibagian awal baris instruksi. Di-
samping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai ter-
tentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara
penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama
4
dari baris instruksi. Mnemonic (arttinya sesuatu yang memudahkan diingat) merupa-
kan singkatan perintah, dikenal dua macam mnemonic, yakni manemonic yang dipa-
kai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJNZ dan lain
sebagainya. Ada pula mnemonic yang dipakai untuk mengatur kerja dari program
Assembler misalnya ORG, EQU atau DB, mnemonis untuk mengatur kerja dari pro-
gram Assembler ini dinamakan sebagai ‘Assembler Directive’. Operand adalah bagian
yang letaknya di belakang bagian mnemonic, merupakan pelangkap bagi mnemonic.
Kalau sebuah instrksi di-ibaratkan sebagai kalimat perintah, maka mnemonic merupa-
kan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat
perintah tersebut. Tergantung pada jenis instruksinya, operand bisa berupa berbagai
macam hal. Pada instruksi JUMP operand berupa Label yang mewakili nomor memo-
ri-program yang dituju misalnya LJMP Start, pada instruksi untuk pemindahan/pen-
golahan data, operand bisa berupa Symbol yang mewakili data tersebut, misalnya
ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, mi-
salnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai operand, misal-
nya RET. Komentar merupakan bagian yang sekedar sebagai catatan, tidak ber-
pengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi
bagian ini sangat penting untuk keperluan dokumentasi.
5
BAB II
Perangkat Keras
Perangkat keras mikroprosesor terdiri dari:
1. MPU 8085
2. ROM 8 KB
3. Input unit
4. Output unit
Alamat memori pada 0000 H – 1FFF H
Input unit pada 32 H
Output unit pada 30 H
2.1 Pemetaan Memori
Kapasitas memori 8KB = 213
byte
Memori memiliki 13 bit bus alamat
Mikroprosesor memiliki 16 bit bus alamat
A15 A14 A13 A12 A11 A10 .. .. .. A2 A1 A0 HEX
0 0 0 0 0 0 0 0 0 0
.. .. .. .. .. .. .. .. .. ..
0 0 0 1 1 1 1 1 1 1
8
KB
Rangkaian Memori Address Decoder
2.2 Pemetaan Input
Alamat input pada 32 H
6
MEMORIADDRESS
DECODER
Bit A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
32H 0 0 0 0 1 1 0 0 1 0
Rangkaian Input dan Address Decoder
7
INPUTADDRESS
DECODER
2.3 Pemetaan Output
Alamat output pada 30 H
Bit A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
30H 0 0 0 0 1 1 0 0 0 0
Rangkaian Output dan Address Decoder
8
INPUTADDRESS
DECODER
2.4 Skema Perangkat Keras
9
MPU
8085
A0
A1
A2
A9
A10
A12
A15
A14
A13
:
A11
D7
D0
:
MEM R
MEM W
IOR
IOW
2764
8 kB
D0
--D7OE WR
CS
A0
A12
:
INPUT
D7
—D0RD
A1
A0
CS
OUTPUT
D7
—D0WR
A1
A0
CS
MEMORI
ADDRESS
DECODER
INPUT
ADDRESS
DECODER
OUTPUT
ADDRESS
DECODER
BAB III
Perangkat Lunak
Diberikan tabel seperti berikut:
0AH
0FH
0AH
F0H
1AH
00H
05H
FFH
20H
00H
40H
FFH
50H
00H
00
ket:
Urutan program dari atas ke bawah adalah ketentuan delay dalam heksa dan
kemudian nyala lampu dari port output yang dikeluarkan melalui port output dalam
heksa.
Untuk mengatur nyala lampu seperti tabel di atas, maka yang pertama harus kita
persiapkan adalah logika pemrograman atau alur algoritma pemrograman yang biasa
disebut flowchart.
Setelah selesai dengan flowchart, barulah kita mulai dengan listing algoritma
progaram dengan menggunakan bahasa asembler.
10
A. Flowchart
Flowchart untuk program utama:
11
JMP start
start
A(0FH)
(30H)A
Call dly-1
ACMA
Call dly-1
(30H)A
ANI 00
Call dly-2
(30H)A
ACMA
Call dly-3
A
A
(30H)A
ACMA
ACMA
ACMA
(30H)A
(30H)A
Call dly-4
Call dly-6
Call dly-5
B
B
end
(30H)A
Flow chart untuk sub-program (delay)
false
true
false true
12
DLY-X
Bn1
Cn2
CC-1
BB-1
RET
C =
0
B =
0
B.Cara Kerja
Cara kerja dari program ini adalah :
1. Isi accumulator sebanyak 0FH.
2. Beri delay sebesar 0AH (10 mS), kemudian keluarkan melalui port 30H.
3. Complementkan isi accumulator menjadi F0H.
4. Kembali ke langkah 2.
5. AND-kan accumulator dengan 00H, dan menjadi 00H.
6. Beri delay sebesar 1AH (26 mS), kemudian keluarkan melalui port 30H.
7. Complementkan isi accumulator menjadi FFH.
8. Beri delay sebesar 05H (5 mS), kemudian keluarkan melalui port 30H.
9. Complementkan isi accumulator menjadi 00H.
10. Beri delay sebesar 20H (32 mS), kemudian keluarkan melalui port 30H.
11. Complementkan isi accumulator menjadi FFH.
12. Beri delay sebesar 40H (64 mS), kemudian keluarkan melalui port 30H.
13. Complementkan isi accumulator menjadi 00H.
14. Beri delay sebesar 50H (80 mS), kemudian keluarkan melalui port 30H.
15. Kembali ke awal.
Sedangkan untuk memberikan delay adalah dari setiap ketentuan tabel bisa
kita lakukan dengan cara mengisi register B dan C dan kemudian dikosongkan dengan
logika seperti flowchart di atas.
Cara keja dari delay ini sendiri adalah:
1. Mengisi register B sebanyak n1H.
2. Mengisi register C sebanyak n2H.
3. Kurangi isi register C sampai berisi 00H.
4. Apabila C belum bernilai 00H., kurangi isi register B.
5. Apabila B belum bernilai 00H., kembali ke langkah 2.
6. Apabila B bernilai 00H, kembali ke urutan program utama.
Untuk pengisian ke-2 register tersebut digunakan:
• 14n1n2+21n1+11 = X mS
Ket:
Karena frekuensi running 1 MHz, maka 1 clock cycle = 10-6
s
n1H, n2H diisi sesuai dengan perhitungan yang didapat.
X mS adalah delay dalam satuan mili second (10-3
second) yang dikehendaki
oleh user.
C. Program <kompilasi>
13
Program Perintah CLOCK CYCLE TOTAL CC.
MVI D,n1 7 7
MVI E,n2 7 7n1
DCR E 4 4n1n2
JNZ DLY2 10/7 n1((n2-1)10+7)
DCR D 4 4n1
JNZ DLY1 10/7 (n1-1)10+7
RET 10 10
14n1n2+21n1+11
Setelah flow chart selesai, barulah kita bisa menuliskan atau
menterjemahkannya ke dalam bahasa assembler atau bahasa mesin yang dapat
dimengerti oleh mikroprosesor.
Dan listing dari program tersebut adalah:
START: MVI A,0Fh
CALL DLY-1
OUT 30h
CMA
CALL DLY-1
OUT 30h
ANI 00h
CALL DLY-2
OUT 30h
CMA
CALL DLY-3
OUT 30h
CMA
CALL DLY-4
OUT 30h
CMA
CALL DLY-5
OUT 30h
CMA
CALL DLY-6
OUT 30h
JMP START
;===================================
DLY-1: MVI B,30
ISI-1: MVI C,23
KRG-1: DCR C
14
JNZ KRG-1
DCR B
JNZ ISI-1
RET
;==================================
DLY-2: MVI B,45
ISI-2: MVI C,40
KRG-2: DCR C
JNZ KRG-2
DCR B
JNZ ISI-2
RET
;==================================
DLY-3: MVI B,25
ISI-3: MVI C,13
KRG-3: DCR C
JNZ KRG-3
DCR B
JNZ ISI-3
RET
;===================================
DLY-4: MVI B,60
ISI-4: MVI C,37
KRG-4: DCR C
JNZ KRG-4
DCR B
JNZ ISI-4
RET
;==================================
DLY-5: MVI B,80
ISI-5: MVI C,56
KRG-5: DCR C
JNZ KRG-5
DCR B
JNZ ISI-5
RET
;==================================
DLY-6: MVI B,100
ISI-6: MVI C,56
KRG-6: DCR C
JNZ KRG-6
DCR B
JNZ ISI-6
RET
END
Sedangkan tampilan nyala lampu tersebut adalah:
Pola O 00H
15
Pola 1 0FH
Pola 2 F0H
Pola 3 00H
Pola 4 FFH
Pola 5 00H
Pola 6 00H
Pola 7 0FH
Pola 8 F0H
Pola 19 00H
Pola 10 FFH
Pola 11 00H
Pola 12 FFH
Pola 13 00H
Pola 14 0FH
Ket:
: Lampu mati
: Lampu hidup
Pola 0 adalah tampilan sebelum program dijalankan.
Saat program dijalankan setelah pola 14, nyala lampu akan kembali ke pola 1
BAB IV
Penutup
16
Sekian isi dari makalah ini. Semoga dengan makalah ini kita dapat lebih
mengerti tentang mikroprosesor. Bagaimana cara kerja dari mikroprosesor dan cara
membuat program sederhana menggunakan bahasa assembler.
17

More Related Content

What's hot

Makalah strukutr komputer wa ode murni jaenawati
Makalah strukutr komputer wa ode murni jaenawatiMakalah strukutr komputer wa ode murni jaenawati
Makalah strukutr komputer wa ode murni jaenawati
Operator Warnet Vast Raha
 
Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)
rdbmn
 

What's hot (17)

about computer systems
about computer systemsabout computer systems
about computer systems
 
Mp 3 arsitektur-mikroprosesor
Mp 3 arsitektur-mikroprosesorMp 3 arsitektur-mikroprosesor
Mp 3 arsitektur-mikroprosesor
 
Makalah struktur komputer mirna
Makalah struktur komputer mirnaMakalah struktur komputer mirna
Makalah struktur komputer mirna
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 
Bahasa assembly
Bahasa assemblyBahasa assembly
Bahasa assembly
 
Presentasi1
Presentasi1Presentasi1
Presentasi1
 
Makalah strukutr komputer wa ode murni jaenawati
Makalah strukutr komputer wa ode murni jaenawatiMakalah strukutr komputer wa ode murni jaenawati
Makalah strukutr komputer wa ode murni jaenawati
 
Handout rakitan
Handout rakitanHandout rakitan
Handout rakitan
 
Modul praktikum dasar komputer 2010-2011
Modul praktikum dasar komputer 2010-2011Modul praktikum dasar komputer 2010-2011
Modul praktikum dasar komputer 2010-2011
 
Bab 9
Bab 9Bab 9
Bab 9
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Pti (4) prosesor dan memori
Pti (4)   prosesor dan memori Pti (4)   prosesor dan memori
Pti (4) prosesor dan memori
 
Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)Set intruksi (posting di slideshare)
Set intruksi (posting di slideshare)
 
Arsitektur Sistem Komputer
Arsitektur Sistem KomputerArsitektur Sistem Komputer
Arsitektur Sistem Komputer
 
Makalah arsitektur komputer
Makalah arsitektur komputerMakalah arsitektur komputer
Makalah arsitektur komputer
 
Prosessor SAP 1
Prosessor SAP 1Prosessor SAP 1
Prosessor SAP 1
 
Arsitektur komputer1
Arsitektur  komputer1Arsitektur  komputer1
Arsitektur komputer1
 

Viewers also liked

Ulum al qur'an #al-malikiy
Ulum al qur'an #al-malikiyUlum al qur'an #al-malikiy
Ulum al qur'an #al-malikiy
Azif Fahruddin
 
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
Azif Fahruddin
 
Tahun lalu pak Heri, Tanggapan alamiah re2
Tahun lalu pak Heri, Tanggapan alamiah re2Tahun lalu pak Heri, Tanggapan alamiah re2
Tahun lalu pak Heri, Tanggapan alamiah re2
Azif Fahruddin
 
Presentation frekuensi komplek re2
Presentation frekuensi komplek re2Presentation frekuensi komplek re2
Presentation frekuensi komplek re2
Azif Fahruddin
 

Viewers also liked (6)

Ulum al qur'an #al-malikiy
Ulum al qur'an #al-malikiyUlum al qur'an #al-malikiy
Ulum al qur'an #al-malikiy
 
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
Presentasi Pak Ir. Heri thn lalu buat SP Gejala transien re2
 
Kifaya kari
Kifaya kariKifaya kari
Kifaya kari
 
Tahun lalu pak Heri, Tanggapan alamiah re2
Tahun lalu pak Heri, Tanggapan alamiah re2Tahun lalu pak Heri, Tanggapan alamiah re2
Tahun lalu pak Heri, Tanggapan alamiah re2
 
Presentation frekuensi komplek re2
Presentation frekuensi komplek re2Presentation frekuensi komplek re2
Presentation frekuensi komplek re2
 
Kitabul ulumul qur'an
Kitabul ulumul qur'anKitabul ulumul qur'an
Kitabul ulumul qur'an
 

Similar to Mikroprosesor

Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001
France Rhezhek
 
Pengantar sistem teknologi informasi (tugas 1)
Pengantar sistem teknologi informasi (tugas 1)Pengantar sistem teknologi informasi (tugas 1)
Pengantar sistem teknologi informasi (tugas 1)
Yudi WindyatmiKabilly
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intel
Ical Militanmannojack
 
Dasar komputer dan_pemrograman
Dasar komputer dan_pemrogramanDasar komputer dan_pemrograman
Dasar komputer dan_pemrograman
Ghofur Agus
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar Mikrokontroler
Abel Tasfir
 

Similar to Mikroprosesor (20)

Kertas penerangan c02 Microprcessor
Kertas penerangan c02 MicroprcessorKertas penerangan c02 Microprcessor
Kertas penerangan c02 Microprcessor
 
07 modul bahan ajar 04 0
07 modul bahan ajar 04 007 modul bahan ajar 04 0
07 modul bahan ajar 04 0
 
Assembler (Modul 4).pdf
Assembler (Modul 4).pdfAssembler (Modul 4).pdf
Assembler (Modul 4).pdf
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPU
 
Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001Pertemuan 5-motorola-680001
Pertemuan 5-motorola-680001
 
Bernis Sagita - Konsep Dasar Sistem Komputer
Bernis Sagita - Konsep Dasar Sistem KomputerBernis Sagita - Konsep Dasar Sistem Komputer
Bernis Sagita - Konsep Dasar Sistem Komputer
 
Pengantar sistem teknologi informasi (tugas 1)
Pengantar sistem teknologi informasi (tugas 1)Pengantar sistem teknologi informasi (tugas 1)
Pengantar sistem teknologi informasi (tugas 1)
 
Pengantar teknologi informasi
Pengantar teknologi informasiPengantar teknologi informasi
Pengantar teknologi informasi
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intel
 
M I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009newM I C R O C O N T R O L L E R 2009new
M I C R O C O N T R O L L E R 2009new
 
CARINS PHANGENNY - TUGAS SISTEM KOMPUTER
CARINS PHANGENNY - TUGAS SISTEM KOMPUTERCARINS PHANGENNY - TUGAS SISTEM KOMPUTER
CARINS PHANGENNY - TUGAS SISTEM KOMPUTER
 
Presentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran MikrokontrollerPresentasi dan video pembelajaran Mikrokontroller
Presentasi dan video pembelajaran Mikrokontroller
 
Arsitektur dan desain set
Arsitektur dan desain setArsitektur dan desain set
Arsitektur dan desain set
 
Dasar komputer dan_pemrograman
Dasar komputer dan_pemrogramanDasar komputer dan_pemrograman
Dasar komputer dan_pemrograman
 
CPU
CPUCPU
CPU
 
Mikrokontroler
MikrokontrolerMikrokontroler
Mikrokontroler
 
Bab ii atmega8
Bab ii atmega8Bab ii atmega8
Bab ii atmega8
 
Sensor suhu LM 35
Sensor suhu LM 35Sensor suhu LM 35
Sensor suhu LM 35
 
Pemahaman Dasar Mikrokontroler
Pemahaman Dasar MikrokontrolerPemahaman Dasar Mikrokontroler
Pemahaman Dasar Mikrokontroler
 
Komputer terapan
Komputer terapanKomputer terapan
Komputer terapan
 

Mikroprosesor

  • 1. BAB I PENDAHULUAN 1.1 Mikroprosesor Mikroprosesor adalah gabungan 2 kata yaitu mikro dan prosesor. Jadi, mikroprosesor adalah sebuah alat yang berukuran kecil yang digunakan untuk memproses data secara digital. Selain berukuran kecil, mikroprosesor memiliki kemampuan komputasi yang lebih rendah dibandingkan dengan komputer yang digunakan. Mikroprosesor secara umum terdiri dari: ALU (Arithmetic Logic Unit), Control and Timing Unit, dan Array Register (Register Larik). ALU berfungsi sebagai bagian yang melakukan operasi aritmatik dan logika dalam memproses data. Bagian ini yang melakukan operasi bagian dalam mikroprosesor. Sedangkan Register Larik berfungsi untuk menyimpan data sementara hasil proses oleh mikroprosesor. Fungsinya hampir sama dengan piranti memori mikroprosesor dengan perbedaan bahwa: Memori berada diluar mikroprosesor sedangkan register berada didalam mikroprosesor, Memori diidentifikasi dengan alamat sedangkan register diidentifikasi oleh nama register oleh mikroprosesor. Bagian Timing & Control berfungsi sebagai pembangkit daur-waktu untuk antarmuka dengan peripheral pada bus alamat, data dan kontrol. Selain itu mengendalikan bus-bus tambahan lainnya seperti interupsi, DMA dan lain sebagainya, tergantung arsitektur mikroprosesor itu sendiri. Arsitektur mikroprosesor pada saat ini banyak ragamnya, mulai yang paling sederhana hingga yang komplek. Dalam pembahasan ini akan dijelaskan tentang arsitektur mikroprosesor 8085. 1.1.1 Arsitektur mikroprosesor 8085 Mikroprosesor 8085 merupakan mikroprosesor 8bit produksi INTEL, diluncurkan sekitar tahun 1970. Lebih jelasnya lihat situs Sejarah Mikroprosesor INTEL. Pada jamannya sempat dijadikan sebagai mikroprosesor standar untuk sistem operasi CP/M. Arsitektur mikroprosesor INTEL 8085 diperlihatkan dalam gambar berikut ini: 1
  • 2. Sumber: Lembar Data INTEL 8085 Mikroprosesor 8085 ini dikemas dalam bentuk DIP (Dual Inline Package) dengan jumlah penyemat sebanyak 40 buah. Dibandingkan pendahulunya 8080, mikroprosesor 8085 hanya membutuhkan sumber tegangan. Susunan penyemat mikroprosesor 8085 Mikroprosesor 8085 memiliki jumlah Bus Alamat sebanyak 16bit dengan demikian dapat mengakses memori secara langsung sebanyak 216 alamat memori atau sebanyak 65535 alamat, sering disebut sebagai 64K x 8Bit atau 64KByte memori 2
  • 3. secara langsung. Jumlah Bus Data adalah 8bit, dengan demikian dapat menghubungi peripheral dengan lebar data (Data Path Width) 8bit. Mikroprosesor ini tidak memiliki buas alamat 16bit secara terpisah, melainkan bus alamat byte terendah (low significant byte) yaitu A0..A7 dimultiplek dengan Bus Data D0..D7. Dengan demikian mikroprosesor 8085 belum siap dijadikan sebagai Unit Mikroprosesor (MPU - Microprocessor Unit). Selain itu bus kontrol peripheral /MEMR, /MEMW, /IOR, dan /IOW belum terpisah sepenuhnya dan harus dibangkitkan dari sinyal kontrol /RD (penyemat 32), /WR (penyemat 31), IO/M (penyemat 34). Agar siap dijadikan sebagai MPU diperlukan beberapa komponen tambahan yaitu rangkaian bus demultiplexer (pemisahan bus D0..D7 dan A0..A7) dan rangkaian dekoder sinyal kontrol. Register yang dimiliki mikroprosesor 8085 adalah: o Register B, C, D, E, H, L. Dapat diperlakukan sebagai register 8bit atau pasangan register 8bit menjadi 16bit yaitu BC, DE dan HL. Register ini disebut sebagai User Register artinya register yang diperuntukkan pengguna agar bisa dilibatkan dalam pemrograman. o Register SP (Stack Pointer), berfungsi sebagai pointer tumpukan yaitu penyimpanan data dalam memori yang disusun secara bertumpuk. o Register PC (Program Counter), berfungsi sebagai pointer alamat program yang akan dieksekusi. 1.2 Bahasa Assembly Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembly memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program. Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program, tapi 3
  • 4. harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner. Program sumber dibuat dengan program editor biasa, misalnya Note Pad pada Windows atau SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Bagan kerja proses Assembly 1.2.1 Konstruksi Program Assemble Program sumber dalam bahasa Assembly menganut prinsip 1 baris untuk satu perintah, setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni bagian Label, bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir bagian komentar. Untuk membedakan masing-masing bagian tersebut dibuat ketentuan sebagian berikut: 1. Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk operand yang lebih dari satu masing-masing operand dipisah- kan dengan koma. 2. Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah ba- ris, jika ada satu bagian yang tidak ada maka spasi atau TAB seba- gai pemisah bagian tetap harus ditulis. 3. Bagian Label ditulis mulai huruf pertama dari baris, jika baris bersangkutan tidak mengandung Label maka label tersebut diganti- kan dengan spasi atau TAB, yakni sebagai tanda pemisah antara ba- gian Label dan bagian mnemonic. Label mewakili nomor memori-program dari instruksi pada baris bersangku- tan, pada saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu me- wakili nomor memori-program dan harus ditulis dibagian awal baris instruksi. Di- samping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai ter- tentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama 4
  • 5. dari baris instruksi. Mnemonic (arttinya sesuatu yang memudahkan diingat) merupa- kan singkatan perintah, dikenal dua macam mnemonic, yakni manemonic yang dipa- kai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJNZ dan lain sebagainya. Ada pula mnemonic yang dipakai untuk mengatur kerja dari program Assembler misalnya ORG, EQU atau DB, mnemonis untuk mengatur kerja dari pro- gram Assembler ini dinamakan sebagai ‘Assembler Directive’. Operand adalah bagian yang letaknya di belakang bagian mnemonic, merupakan pelangkap bagi mnemonic. Kalau sebuah instrksi di-ibaratkan sebagai kalimat perintah, maka mnemonic merupa- kan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat perintah tersebut. Tergantung pada jenis instruksinya, operand bisa berupa berbagai macam hal. Pada instruksi JUMP operand berupa Label yang mewakili nomor memo- ri-program yang dituju misalnya LJMP Start, pada instruksi untuk pemindahan/pen- golahan data, operand bisa berupa Symbol yang mewakili data tersebut, misalnya ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, mi- salnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai operand, misal- nya RET. Komentar merupakan bagian yang sekedar sebagai catatan, tidak ber- pengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi bagian ini sangat penting untuk keperluan dokumentasi. 5
  • 6. BAB II Perangkat Keras Perangkat keras mikroprosesor terdiri dari: 1. MPU 8085 2. ROM 8 KB 3. Input unit 4. Output unit Alamat memori pada 0000 H – 1FFF H Input unit pada 32 H Output unit pada 30 H 2.1 Pemetaan Memori Kapasitas memori 8KB = 213 byte Memori memiliki 13 bit bus alamat Mikroprosesor memiliki 16 bit bus alamat A15 A14 A13 A12 A11 A10 .. .. .. A2 A1 A0 HEX 0 0 0 0 0 0 0 0 0 0 .. .. .. .. .. .. .. .. .. .. 0 0 0 1 1 1 1 1 1 1 8 KB Rangkaian Memori Address Decoder 2.2 Pemetaan Input Alamat input pada 32 H 6 MEMORIADDRESS DECODER
  • 7. Bit A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 32H 0 0 0 0 1 1 0 0 1 0 Rangkaian Input dan Address Decoder 7 INPUTADDRESS DECODER
  • 8. 2.3 Pemetaan Output Alamat output pada 30 H Bit A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 30H 0 0 0 0 1 1 0 0 0 0 Rangkaian Output dan Address Decoder 8 INPUTADDRESS DECODER
  • 9. 2.4 Skema Perangkat Keras 9 MPU 8085 A0 A1 A2 A9 A10 A12 A15 A14 A13 : A11 D7 D0 : MEM R MEM W IOR IOW 2764 8 kB D0 --D7OE WR CS A0 A12 : INPUT D7 —D0RD A1 A0 CS OUTPUT D7 —D0WR A1 A0 CS MEMORI ADDRESS DECODER INPUT ADDRESS DECODER OUTPUT ADDRESS DECODER
  • 10. BAB III Perangkat Lunak Diberikan tabel seperti berikut: 0AH 0FH 0AH F0H 1AH 00H 05H FFH 20H 00H 40H FFH 50H 00H 00 ket: Urutan program dari atas ke bawah adalah ketentuan delay dalam heksa dan kemudian nyala lampu dari port output yang dikeluarkan melalui port output dalam heksa. Untuk mengatur nyala lampu seperti tabel di atas, maka yang pertama harus kita persiapkan adalah logika pemrograman atau alur algoritma pemrograman yang biasa disebut flowchart. Setelah selesai dengan flowchart, barulah kita mulai dengan listing algoritma progaram dengan menggunakan bahasa asembler. 10
  • 11. A. Flowchart Flowchart untuk program utama: 11 JMP start start A(0FH) (30H)A Call dly-1 ACMA Call dly-1 (30H)A ANI 00 Call dly-2 (30H)A ACMA Call dly-3 A A (30H)A ACMA ACMA ACMA (30H)A (30H)A Call dly-4 Call dly-6 Call dly-5 B B end (30H)A
  • 12. Flow chart untuk sub-program (delay) false true false true 12 DLY-X Bn1 Cn2 CC-1 BB-1 RET C = 0 B = 0
  • 13. B.Cara Kerja Cara kerja dari program ini adalah : 1. Isi accumulator sebanyak 0FH. 2. Beri delay sebesar 0AH (10 mS), kemudian keluarkan melalui port 30H. 3. Complementkan isi accumulator menjadi F0H. 4. Kembali ke langkah 2. 5. AND-kan accumulator dengan 00H, dan menjadi 00H. 6. Beri delay sebesar 1AH (26 mS), kemudian keluarkan melalui port 30H. 7. Complementkan isi accumulator menjadi FFH. 8. Beri delay sebesar 05H (5 mS), kemudian keluarkan melalui port 30H. 9. Complementkan isi accumulator menjadi 00H. 10. Beri delay sebesar 20H (32 mS), kemudian keluarkan melalui port 30H. 11. Complementkan isi accumulator menjadi FFH. 12. Beri delay sebesar 40H (64 mS), kemudian keluarkan melalui port 30H. 13. Complementkan isi accumulator menjadi 00H. 14. Beri delay sebesar 50H (80 mS), kemudian keluarkan melalui port 30H. 15. Kembali ke awal. Sedangkan untuk memberikan delay adalah dari setiap ketentuan tabel bisa kita lakukan dengan cara mengisi register B dan C dan kemudian dikosongkan dengan logika seperti flowchart di atas. Cara keja dari delay ini sendiri adalah: 1. Mengisi register B sebanyak n1H. 2. Mengisi register C sebanyak n2H. 3. Kurangi isi register C sampai berisi 00H. 4. Apabila C belum bernilai 00H., kurangi isi register B. 5. Apabila B belum bernilai 00H., kembali ke langkah 2. 6. Apabila B bernilai 00H, kembali ke urutan program utama. Untuk pengisian ke-2 register tersebut digunakan: • 14n1n2+21n1+11 = X mS Ket: Karena frekuensi running 1 MHz, maka 1 clock cycle = 10-6 s n1H, n2H diisi sesuai dengan perhitungan yang didapat. X mS adalah delay dalam satuan mili second (10-3 second) yang dikehendaki oleh user. C. Program <kompilasi> 13 Program Perintah CLOCK CYCLE TOTAL CC. MVI D,n1 7 7 MVI E,n2 7 7n1 DCR E 4 4n1n2 JNZ DLY2 10/7 n1((n2-1)10+7) DCR D 4 4n1 JNZ DLY1 10/7 (n1-1)10+7 RET 10 10 14n1n2+21n1+11
  • 14. Setelah flow chart selesai, barulah kita bisa menuliskan atau menterjemahkannya ke dalam bahasa assembler atau bahasa mesin yang dapat dimengerti oleh mikroprosesor. Dan listing dari program tersebut adalah: START: MVI A,0Fh CALL DLY-1 OUT 30h CMA CALL DLY-1 OUT 30h ANI 00h CALL DLY-2 OUT 30h CMA CALL DLY-3 OUT 30h CMA CALL DLY-4 OUT 30h CMA CALL DLY-5 OUT 30h CMA CALL DLY-6 OUT 30h JMP START ;=================================== DLY-1: MVI B,30 ISI-1: MVI C,23 KRG-1: DCR C 14
  • 15. JNZ KRG-1 DCR B JNZ ISI-1 RET ;================================== DLY-2: MVI B,45 ISI-2: MVI C,40 KRG-2: DCR C JNZ KRG-2 DCR B JNZ ISI-2 RET ;================================== DLY-3: MVI B,25 ISI-3: MVI C,13 KRG-3: DCR C JNZ KRG-3 DCR B JNZ ISI-3 RET ;=================================== DLY-4: MVI B,60 ISI-4: MVI C,37 KRG-4: DCR C JNZ KRG-4 DCR B JNZ ISI-4 RET ;================================== DLY-5: MVI B,80 ISI-5: MVI C,56 KRG-5: DCR C JNZ KRG-5 DCR B JNZ ISI-5 RET ;================================== DLY-6: MVI B,100 ISI-6: MVI C,56 KRG-6: DCR C JNZ KRG-6 DCR B JNZ ISI-6 RET END Sedangkan tampilan nyala lampu tersebut adalah: Pola O 00H 15
  • 16. Pola 1 0FH Pola 2 F0H Pola 3 00H Pola 4 FFH Pola 5 00H Pola 6 00H Pola 7 0FH Pola 8 F0H Pola 19 00H Pola 10 FFH Pola 11 00H Pola 12 FFH Pola 13 00H Pola 14 0FH Ket: : Lampu mati : Lampu hidup Pola 0 adalah tampilan sebelum program dijalankan. Saat program dijalankan setelah pola 14, nyala lampu akan kembali ke pola 1 BAB IV Penutup 16
  • 17. Sekian isi dari makalah ini. Semoga dengan makalah ini kita dapat lebih mengerti tentang mikroprosesor. Bagaimana cara kerja dari mikroprosesor dan cara membuat program sederhana menggunakan bahasa assembler. 17