Kom
Kegiatan Pembelajaran 1
Tujuan Pembelajaran
Setelah mengikuti pembelajaran, siswa dapat:
a) Menguraikan fungsi setiap bagian dalam arsitektur mikroprosesor sesuai fungsinya
dengan benar,
b) Mengidentifikasi setiap bagian dalam arsitektur secara blok diagram sesuai fungsinya
dengan benar.
Indikator Pecapaian
1. Menguraikan fungsi setiap bagian dalam arsitektur mikroprosesor.
2. Mengidentifikasi setiap bagian dalam arsitektur secara blok diagram.
Materi
1. Fungsi Bagian dalam Arsitektur Mikroprosesor
Pada dasarnya mikroprosesor adalah terdiri tiga bagian pokok yang saling bekerja sama
antara yang satu bagian pokok yang saling bekerja sama antara yang satu dengan yang
lainnya.
Gambar 1.1 merupakan arsitektur von Neumann yaitu arsitektur yang diciptakan oleh John
von Neumann (1903-1957). Ketiga bagian pokok tersebut adalah bagian pengontrol, bagian
penyimpan (memori), bagian operasi (Arithmetic Logic Unit).
1
Des Ozadad Selan, S.Pd.Kom
Konsep arsitektur von Neumann ini seperti pada gambar 1.2 adalah pembagian
komputer menjadi 2 bagian secara garis besar: memori dan prosesor, dimana data terletak
didalam memori, dan prosesor adalah yang memanipulasi data.
Seperti yang terlihat pada gambar 1.3 adalah gambar blok diagram dari mikroprosesor Z80.
Adapun fungsi dari bagian-bagian blok diagram mikroprosesor adalah sebagai berikut:
a. Pengontrol
Pada bagian pengontrol ini terdiri dari register perintah, pendekoder perintah, pengontrol
waktu dan aliran (pengontrol waktu dan logika). Penjelasan lengkapnya adalah:
1) Register Perintah
Register perintah diisi langsung dari bus data sistem melalui bus data internal. Pada
informasi 8 bit yang dibawa ke register ini adalah selalu menunjukkan suatu kode
operasi dari sebuah perintah.
2) Pendekoder Perintah
Masing-masing bit dalam register perintah diuji/diperiksa keadaan tegangannya (H
atau L) oleh pendekoder perintah. Dengan demikian hal tersebut dapat dipastikan
bahwa informasi yang disimpan dalam register perintah adalah merupakan suatu kode
operasi tertentu.
3) Pengontrol Waktu dan Aliran
Unit ini berfungsi mengkoordinasikan antara jalannya sinyal di dalam dan di luar
mikroprossesor dengan waktu. Unit pengontrol ini menyimpan informasi internal
mikroprossesor yang berasal dari pendekoder perintah dan dari luar unit sistem.
Sinyal yang di terima dari luar adalah sinyal detak (clock), sinyal kontrol (WR, RD)
dan sinyal penawaran (Riset, int) pengontrol waktu dan logik memberikan informasi
balik pada unit sistem seperti sinyal tulis diberikan ke unit sistem menunjukkan
bahwa pada unit ini akan ditulis sebuah data.
Keseluruhan dari sinyal masuk dan keluar pada unit pengontrol waktu dan logika ini
disebut bus kontrol.
b. Penyimpan (memori)
2
Des Ozadad Selan, S.Pd.Kom
Prinsip dari mekanisme penyimpan dari sebuah Mikroprossesor seperti terlihat pada table
1.1 di bawah.
A F
B C
D E
Pemilih H L
register Penghitung perintah ( PC )
Penunjuk Stack (Stack Printer )
Penyimpan sinyal alamat
Mekanisme penyimpan dari Z 80 di bagi dalam enam kelompok fungsi yaitu:
• multi plexer / pemilih register,
• register sementara A – F,
• pegister pasangan BC, DE, HL,
• penunjuk stack (stack printer),
• penghitung perintah,
• penyimpan sinyal alamat.
3
Des Ozadad Selan, S.Pd.Kom
Dari gambar 1.4 di atas dapat dijelaskan prinsip bekerja dengan Stack adalah, bila
sebuah data dari mikroprosessor ditulis ke dalam stack, maka yang pertama kali
dilakukan adalah isi dari penunjuk stack dikurangi 1 dan data tersebut di tulis pada
alamat ini (alamat awal stack -1), kemudian penunjuk stack dikurangi 1, sehingga data
berikutnya ditulis pada alamat awal stack-2. Proses ini terus berlangsung pada setiap
penulisan data ke dalam stack. Penunjuk ini terus berlangsung pada setiap penulisan
data ke dalam stack, penunjuk stack selalu menunjuk pada alamat lokasi stack yang
ditulis terakhir.
Seperti terlihat pada gambar 1.5, pada pembacaan sebuah data dari stack, pertama ini
dari alamat stack yang aktif saat itu (alamat awal stack -2) di baca dan kemudian
penunjuk printer di tambah 1. Kemudian pada penunjuk stack terisi alamat awal stack
-1 dibaca. Jadi data yang terakhir ditulis pada stack akan di baca pertama pada saat
pembacaannya. Sehingga proses pembacaan pada saat stack digambarkan sebagai
LIFO (Last In First Out).
5) Penghitung Perintah
Pada penghitung perintah terdiri dari alamat masing - masing data yang dibaca
sebagai alamat penyimpan program berikutnya. Data yang disimpan dalam
penyimpan program selalu adalah kode operasi (up - code) , perintah dan data
(sebagai contoh bagian alamatnya) Penghitung perintah mempunyai tugas untuk
selalu meletakkan mikroprosessor pada posisinya yang benar pada jalannya program.
6) Penyimpan Sinyal Alamat (Adress Catch)
Bila data dari blok register dihubungkan ke bus alamat, maka selanjutnya data ini
disimpan sementara dalam penyimpan sinyal alamat. Sebagai contoh mikroprosesor
mengakses stack, maka isi dari penunjuk stack di isi dalam penyimpan sinyal alamat.
Pengurangan isi dari penunjuk stack pada proses penulisan dalam stack atau
penambahan isi penunjuk stack pada proses pembacaan dari stack terjadi melalui
penghitung naik/turun. Bila mikroprosessor mengakses penyimpan program , maka isi
dari penghitung perintah diisi ke dalam penyimpan sinyal alamat. Pembentukan
alamat dari instruksi yang akan dilaksanakan berikutnya (penambahan isi penghitung
perintah) terjadi melalui penghitung naik. Bila alamat yang dibentuk dengan register
pasangan HL, DE, BC, W2, penyimpanan sementara dalam penyimpan sinyal alamat
terjadi dalam cara yang serupa.
c. Operasi
Prinsip mekanisme operasi sebuah Mikroprosessor dapat digambarkan seperti pada
gambar 1.6.
4
Des Ozadad Selan, S.Pd.Kom
Dari lima kelompok fungsi mekanisme operasi mikroprosesor Z80 dapat dijelaskan
sebagai berikut:
1) Unit Aritmatik Logika,
Bagian ALU melaksanakan semua operasi aritmatik dan logika.
2) Register Sementara (Register Operan),
3) Akkumulator.
Operasi Aritmatik dan Logik selalu dijalankan dengan operan-operan pertama
disimpan sementara dalam akkumulator operan ke dua disimpan sementara dalam
penyimpan sementara (register sementara). Kedua operan dijalankan pada operasi
yang ada di akkumulator. ALU mengisi hasil operasi ke akkumulator.
4) Register kondisi (PSW = Program Stakes Word).
Dalam register kondisi 8 bit terdiri dari 5 flip-flop syarat, yang diset atau di reset
tergantung dari hasil operasi aritmatik atau logik dari ALU.
Flag:
5
Des Ozadad Selan, S.Pd.Kom
6
Des Ozadad Selan, S.Pd.Kom
Untuk memilih keluaran, maka S6 dan S5 berfungsi sebagai data selector yang komposisinya
terlihat seperti table 1.2 di bawah.
Data Selektor Keluaran Keterangan
S6 S5 Yn =
0 0 X 0n adder/Subtracter
0 1 X 1n AND
1 0 X 2n OR
1 1 X 3n EX OR
Tabel 1 2 Tabel Kebenaran Data Selector
Rangkaian logika data selector dapat digambarkan seperti gambar 1.8 di bawah.
7
Des Ozadad Selan, S.Pd.Kom
Tugas
1. Sebutkan tiga bagian pokok pada Mikroprosesor!
2. Jelaskan fungsi ALU (Arithmatic Logic Unit) pada mikroprosesor!
3. Jelaskan fungsi dari pengontrol!
4. Sebutkan operasi apa saja yang ada pada ALU?
5. Sebutkan 3 buah rangkaian logika yang ada pada ALU!
6. Gambarkan secara blok dari ALU!
Rangkuman
Pada dasarnya mikroprosesor adalah terdiri tiga bagian pokok yang saling bekerja
sama antara yang satu bagian pokok yang saling bekerja sama antara yang satu dengan yang
lainnya. Ketiga bagian pokok tersebut adalah bagian pengontrol, bagian penyimpan, dan
bagian operasi. Pada bagian pengontrol ini terdiri dari register perintah, pendekoder perintah,
pengontrol waktu dan aliran (Pengontrol waktu dan Logika).
Mekanisme Penyimpan dari Z 80 di bagi dalam enam kelompok fungsi yaitu Multi
plexer / pemilih register, Register sementara A – F, Register pasangan BC, DE, HL, Penunjuk
stack (stack printer), Penghitung perintah, dan Penyimpan sinyal alamat. Mekanisme Operasi
Z 80 di bagi dalam lima kelompok fungsi, yaitu Unit aritmatik - logika (ALU), Register
Pengumpul (Akkumulator = AKKU), Register Operan/sementara (OP), Register terkondisi
(Flag), dan Pengoreksi Desimal.
8
Des Ozadad Selan, S.Pd.Kom
Kegiatan Pembelajaran 2
Tes Awal:
1. Pengertian Mikroprosesor?
2. Pengertian Mikrokontroler?
Tujuan Pembelajaran
Setelah mengikuti dan atau menyelesaikan materi Arsitektur Mikroprosesor, dan
membuktikan dalam eksperimen, siswa dapat:
a) Mengidentifikasi setiap blok dalam diagram mikroprosesor Z80
b) Menguraikan keterkaitan kerja antar blok berdasarkan fungsinya
c) Menguraikan mekanisme operasional data berdasarkan fungsi setiap bagian dalam
arsitektur mikroprosesor.
Indikator Pencapaian Kompetensi
1. Mengidentifikasi setiap bagian dalam arsitektur mikroprosesor secara blok diagram
2. Menguraikan keterkaitan kerja antar blok berdasarkan fungsinya
3. Menguraikan fungsi setiap bagian dalam arsitektur mikroprosesor
Materi
Pengertian Mikroprosesor dan Mikrokontroler
Alam semesta, semua mahluk baik binatang ataupun tumbuhan dan manusia
merupakan ciptaan Tuhan Yang Maha Kuasa, dari sekian banyak ciptaanNYA coba kita
simak tubuh manusia. Dalam tubuh manusia terdiri dari berbagai macam organ misal jantung,
hati, kepala, kaki, tangan dan organ tubuh lainnya yang kesemuanya membentuk sebuah
sistem tubuh, secara kasat mata terlihat bahwa antar organ dalam membentuk sistem tubuh
saling tergantung dan saling berhubungan sistem kerjanya.
Setiap gerak organ selalu diawali adanya perintah dari otak berupa sinyal listrik yang
dikirimkan melalui jalur kendali menuju organ yang diperintahkan untuk melaksanakan
gerak, artinya setiap gerak organ melalui sinyal peritah dan gerak organ satu dengan lainnya
juga selalu ada sinkronisasi. Sistem mikroprosesor dikembangkan manusia juga mengikuti
pola tubuh manusia, yaitu sistem dibuat dengan membentuk organ-organ yang istilahnya
sering disebut dengan komponen.
Setiap komponen pembentuk sistem mikroprosesor dibangun dari rangkaian-
rangkaian gerbang digital, antar komponen dihubungkan dengan sistem jalur data (Data
BUS), untuk menunjuk komponen digunakan jalur alamat (Address Bus) dan untuk
sinkronisasi kerja antar komponen digunakan jalur kontrol (Control Bus). Seperti pada tubuh
manusia pada sistem mikroprosesor untuk memanfaatkan atau menggunakan fungsi
komponen dilakukan dengan perintah yang dikirim dari pusat pengolah yang disebut
Arithmatic Logic Unit (ALU).
Untuk memahami komponen sistem mikroprosesor, berikut dijelaskan rangkaian-
rangkaian pembentuk komponen tersebut.
1. Gambaran Umum Arsitektur Mikroprosesor Z80
9
Des Ozadad Selan, S.Pd.Kom
Z80 merupakan prosesor 8-bit mikroprosesor yang dirilis bulan Juli tahun 1976
dengan kecepatan clock 2,5 MHz, pada saat itu Z80 lebih berkembang dibanding Intel 8080
begitu juga dibanding Intel 8085. Secara arsitektur Z80 memiliki kesamaan dalam jumlah bit
dengan Intel 8080 yaitu untuk jalur data menggunakan 8-bit dan jalur penunjukan alamat baik
port I/O maupun alamat memori menggunakan 16-bit. Z80 dapat menjalankan semua op-code
Intel 8080 termasuk 80 kode barunya yang meliputi operasi instruksi 1, 4, 8 dan 16-bit dan
juga transfer blok dan instruksi blok I/O.
Kelompok register yang digunakan dalam Z80 terdiri dari 2 (dua) blok, yang dibagi
menjadi 2 (dua) bank register termasuk register A dan register F yang dapat saling ditukarkan
isi datanya. Dengan demikian sangt memungkinkan penggunaan sistem operasi dengan
kecepatan tinggi, atau penggunaan sistem interupsi yang cepat. Untuk sistem interupsi
terdapat 3 (tiga) buah mode, dan pada Z80 juga ditambahkan 2 (dua) buah indeks register
yaitu register 16-bit IX dan IY serta dilengkapi pula dengan sistem vektor interupsi melalui 8-
bit IV register.
Z80 merupakan dasar prosesor dimana interface memori CPU dilengkapi dengan
sinyal RAM refresh, sehingga bagi pengembang banyak kemudahan dan harga yang murah.
Z80 memiliki kompatibel yang tinggi terhadap 8080 dan CP/M yang merupakan standar
sistem operasi mikroprosesor yang pertama. Adapun arsitektur dari mikroprosessor Z80 yang
diproduksi oleh Zilog ditunjukan seperti gambar berikut:
Sebagai contoh untuk geser kanan dan bit akhir dihubungkan ke data in, maka dengan
komposisi bit data (0110 1110)B = (110)D digeser ke kanan 1 bit data yang tersimpan dalam
register adalah (0011 0111)B = (55)D. Jika hasil tersebut digeser ke kiri dua bit maka
hasilnya adalah (1101 1100)B = (220)D, dengan demikian sangat mungkin melakukan
manipulasi bit data.
1) Operasi geser ke kanan register 8 bit
ini juga dapat dikombinasikan secara berpasangan untuk membentuk alamat 16-bit dan
alamat ini dapat digunakan sebagai indeks struktur data di memori guna menjangkau operasi
beberapa byte.
(2) Kedua penunjukan alamat oleh PC yang diset berdasarkan data alamat yang diisikan
oleh programer.
(3) Ketiga dilakukan yang diakibatkan adanya instruksi tertentu (JMP).
c) Stack Pointer (SP)
Register yang diberi nama stack pointer ini memiliki kemampuan untuk menunjuk
alamat memori 16-bit berada pada stack puncak yang ditunjuk dan terletak di sembarang
tempat dalam sistem RAM. Eksternal memori stack diorganisasi berdasarkan sistem file
last-in first-out (LIFO). Data dapat dituliskan (pushed) ke dalam stack dari register
tertentu pada CPU atau dibaca ulang (popped) dari stack dari register tertentu pada CPU,
instruksi yang digunakan adalah PUSH dan POP. Data yang diambil dari stack melalui
instruksi POP selalu diawali dari data yang beralamat terakhir disimpan melalui instruksi
PUSH, secara sederhana stack dapat digunakan untuk implementasi in terupsi dengan
mode multi level. dan subroutine tak berbatas sistem sarang (nesting) dan
penyederhanaan berbagai tipe manipulasi data.
13
Des Ozadad Selan, S.Pd.Kom
LD HL,1875
JP 75
LD A,(1875)
LD (IX+08H), E
LD A, D
LD (BC), A
14
Des Ozadad Selan, S.Pd.Kom
LD A,75
dan kode operasionalnya: 3E 75
2.7. Immediate extended addressing
Pada mode ini menggunakan bilangan yang merupakan konstanta (immediate)
16 bit sebagai operand, kemudian menyimpannya pada pasangan register yang dituju
dengan alamat sudah ditentukan. Sintak penulisan instruksi terdiri dari 3(tiga) byte, yaitu
untuk byte pertama merupakan kode operasi (Opcode) untuk byte kedua dan ketiga
merupakan data atau konstanta 16 bit.
3. Arithmetic Logic Unit (ALU)
Instruksi 8 bit untuk aritmatika dan logik dari CPU mikroprosesor dijalankan dalam
ALU, dan pada proses ALU berkomunikasi dengan register serta data bus eksternal melalui
jalur bus data. Fungsi operasional ALU meliputi:
a) penjumlah;
b) pengurang;
c) logika AND;
d) logikaOR;
e) logika Exclusive OR;
f) perbandingan;
g) geser Kiri atau Kanan iatau Putar (Arithmetic and Logical);
h) nkrimen/Dekrimen;
i) set Bit;
j) reset Bit;
k) test bit.
Tabel Fungsi Arithmetic Logic Unit (ALU)
Nonaktifkan interupsi
Arus Program Jump, melompat Bersyarat, Call subroutine
I/O Masukan byte, Output byte
Blok Instruksi Pindahkan blok memori, Cari satu blok memori,
Input atau Output blok
Dalam menjalankan fungsinya ALU selalu mengikut sertakan register, misal hasil
operasi selalu akan ditempatkan pada register A, sehingga register A disebut dengan register
utama untuk operasi arithmatik dan operasi logika (gambar 1.8).
Dalam operasi aritmatik sering register pasangan BC, DE dan register pasangan HL
untuk menunjuk alamat memori di mana data disimpan, dengan demikian terdapat 3
pasangan register 16-bit yang digunakan untuk melakukan operasi arithmatik 16 bit dan dapat
digunakan untuk menunjuk alamat memori seperti gambar berikut:
terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti
Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya. Semua bagian
tersebut dipadatkan dalam satu buah chip. Banyaknya periperal yang ada dalam
mikrokontroler tergantung dari masing-masing tipe dan spesifikasi pabrik. Tidak bisa
disamakan isi dari mikrokontroler A dengan mikrokontroler B. Karena mikrokontroler sendiri
dirancang untuk spesifikasi kebutuhan yang bermacam-macam.
Empat bagian di atas biasanya terdapat pada semua jenis mikrokontroler. Namun
spesifikasinya berbeda-beda, terutama untuk ukuran memori.
Lebih rincinya dapat dilihat pada gambar blok diagram di bawah ini.
17
Des Ozadad Selan, S.Pd.Kom
Skema Mikrokontroler
Tugas
1. Tuliskan tiga bagian pokok pada Mikroprosesor!
2. Jelaskan fungsi ALU (Arithmatic Logic Unit) pada mikroprosesor!
3. Gambarkan secara blok rangkaian dari ALU!
4. Tulis dan jelaskan operasi apa saja yang ada pada ALU!
RANGKUMAN
Pada dasarnya mikroprosesor terdiri tiga bagian pokok yang saling bekerja sama
antara yang satu bagian pokok dengan yang lainnya. Ketiga bagian pokok tersebut adalah
bagian pengontrol, bagian penyimpan, dan bagian operasi. Pada bagian pengontrol ini terdiri
dari register perintah, pendekoder perintah, pengontrol waktu dan aliran (Pengontrol waktu
dan Logika).
Sistem arsituktur dasar dari kedua mikroprosesor Z80 dan Intel 8080, secara umum
arsitektur mikroprosesor terdiri atas:
1. Sistem register
2. Aritmatik Logik Unit (ALU)
3. Register pengalamatan memori dan I/O
4. Indeks register
5. Sistem Bus Data
6. Sistem Bus Alamat
7. Jalur Kontrol Logik
8. Register Instruksi
9. Dekoder Intstruksi
10.Program Counter
Pada mikroprosesor Z80 dilengkapi keseluruhan register yang ada di Intel 8080
begitu juga instruksinya, dan mendukung keberadaan interupsi di 8080. Selain dari hal
tersebut Z80 memiliki kelebihan, meliputi:
• 80 buah instruksi baru, transfer blok, instruksi manipulasi bit dan string,
• 2 buah index register baru dan duplikat register dan register status.
• tipe interupsi baru untuk Z80 dan devais periperal non-Z80.
• catu daya tunggal +5V.
Kelompok register yang digunakan dalam Z80 terdiri dari 2(dua) blok, yang dibagi
menjadi 2(dua) bank register termasuk register A dan register F yang dapat saling
ditukarkan isi datanya. Dengan demikian sangat memungkinkan penggunaan sistem operasi
dengan kecepatan tinggi, atau penggunaan sistem interupsi yang cepat. Perbedaan kedua
sistem mikroprosesor adalah pada sistem kecepatan clock, konfigurasi peripheral dan I/O
port dan kapasitas bregister yang dimilikinya. Z80 maupun mikroprosesor 8080 meiliki jalur
bus data 8 bit, sehingga mampu menampilkan data sejumlah (0 - 255).
18
Des Ozadad Selan, S.Pd.Kom
Kegiatan Pembelajaran 3
Tujuan Pembelajaran
Setelah mempelajari modul ini, siswa mampu:
1) Memahami memori pada mikroprosesor dan fungsinya
2) Memahami perbedaan fungsi RAM dan ROM pada mikrokontroler
3) Memahami memori pada mikroprosesor dan fungsinya
4) Memahami memori pada mikroprosesor dan fungsinya
5) Karakteristik memori
Materi
1. UNIT MEMORI DALAM SISTEM MIKROPROSESOR
Sistem mikroprosesor adalah sistem yang bekerja berdasarkan program. Program
disimpan dalam sebuah unit yang disebut dengan memori. Memori merupakan unit pokok
dalam sistem mikroprosesor sebagai tempat penyimpan program dan data. Tanpa memori
mikroprosesor dalam sistem mikroprosesor tidak dapat bekerja karena semua program
membutuhkan memori. Memori dalam sistem mikroprosesor digolongkan menjadi dua yaitu
Read Only Memory (ROM) dan Read Write Memory (RWM). Saat ini teknologi memori
berkembang pesat.
1. Memori
Memori merupakan komponen pokok yang harus ada pada setiap sistem
mikroprosesor. Dalam sistem digital memori adalah kumpulan dari beberapa sel latch
yang dapat menyimpan informasi. Dalam hal ini memori adalah rangkaian elektronik
yang dapat menyimpan dan memberikan/ menyajikan kembali data atau informasi.
Ditinjau dari sistem akses ada dua jenis memori yaitu: (1) Random Access Memory
(RAM) dan (2) Sequential Access Memory (SAM). Sedangkan ditinjau dari pembacaan
nya memori dibedakan antara Read Only Memory (ROM) dan Read Write Memory
(RWM). Di lapangan telah terjadi kekaburan penggunaaan konsep diantara RAM, SAM,
ROM, dan RWM. Masyarakat umum mengkomparasikan ROM dengan RAM. Hal ini
tidak tepat. Jelas komparasi ROM dengan RAM tidak benar karena ROM muncul dari
sifat pembacaan sedangkan RAM dari sifat akses. Seharusnya ROM dikomparasikan
dengan RWM karena samasama dilihat dari aspek pembacaan. Sedangkan RAM harus
dikomparasikan dengan SAM karena sama-sama dilihat dari aspek akses. Semua memori
elektronik adalah random access. Jadi ROM, PROM, EPROM,dan EEPROM termasuk
kategori RAM.
1.1. Random Access Memory (RAM)
Random Access Memory atau memori yang bisa diakses secara random atau acak
adalah jenis memori elektronik yang digunakan dalam sistem mikroprosesor. Dalam hal
ini RAM menyediakan layanan akses disembarang alamat tanpa syarat harus melewati
alamat sebelumnya. Semua memori elektronik adalah RAM.
Bentuk RAM digambarkan pada Gambar 1.1.
19
Des Ozadad Selan, S.Pd.Kom
20
Des Ozadad Selan, S.Pd.Kom
Memori jenis ini memperbaiki kelemahan yang ada pada ROM. Pabrik dapat
membuat ROM yang masih kosong dan dapat diprogram oleh user. Kelemahannya jika
user ingin memperbaharui program atau data sudah tidak bisa lagi. PROM hanya bisa
diprogram sekali saja.
1.3.2. Erasable Programmable Read Only Memory (EPROM)
Memori jenis ini menyempurnakan kelemahan dari ROM dan PROM, program
yang sudah diisikan dapat dihapus menggunakan sinar ultra violet dan dapat diisi atau
diprogram kembali. Alat yang digunakan untuk menghapus data pada EPROM disebut
UV Eraser. Sinar UV diarahkan kedalam chip EPROM melalui kaca jendela pada bagian
punggungnya. Ciri fisik dari EPROM ada celah jendela kaca pada bagian punggung IC.
Gambar 3.2. menunjukkan contoh EPROM dengan ciri pokok ada jendela kaca pada
bagian punggungnya.
.
.. …
..
. …
..
22
Des Ozadad Selan, S.Pd.Kom
Tugas
1. Jika jumlah pin sebuah RAM (Misal 6116) = sebanyak 10 buah (A 0-A9), Berapa
kapasitas RAM tersebut ?
2. Jelaskan secara tertulis fungsi Pin - Pin dari Konfigurasi PPI 8255!
Rangkuman
RAM dapat membentuk dua operasi yaitu :
Operasi Penulisan (Write) yaitu operasi pengalihan atau transfer
data baru ke dalam sel-sel memori.
Operasi Pembacaan (Read) adalah operasi pengalihan atau transfer
data dari sel- sel memori ke luar.
Tiga langkah yang harus dilakukan pada saat operasi penulisan yaitu:
i) Berikan alamat biner dari sel-sel word yang dituju pada saluran
atau bus alamat (address buss).
ii) Berikan bit-bit data yang akan disimpan pada saluran bus data
(data buss).
iii) Aktifkan input penulisan atau Write.
Dua langkah yang harus dilakukan pada saat operasi pembacaan :
(1) Berikan alamat biner dari sel-sel word yang diambil pada saluran
atau bus alamat (address buss).
(2) Aktifkan input pembacaan atau Read.
Operasi penulisan ke sel-sel memori untuk memori jenis ROM
hanya dapat dilakukan melalui alat dan program khusus. Sedangkan untuk
jenis memori RWM operasi penulisan dapat bekerja langsung dalam sistem
mikroprosesor baik melalui operasi atau perintah transfer data Load
maupun Push-Pop. Sedangkan operasi pembacaan dapat terjadi ke semua
jenis memori baik untuk pengalihan data antar memori maupun pengalihan
data antara memori dengan register atau data immediate ke memori.
Pemahaman jenis, sifat, kapasitas memori sangat penting dalam
membangun kompetensi pemrograman mikroprosesor. Dengan memahami
jenis dan kapasitas memori seorang programmer dengan mudah bisa
merancang dan menempatkan byte-byte data atau program secara efektif
dan efisien. Perkembangan teknologi memori juga perlu terus diikuti untuk
meningkatkan penguasaan dan pemahaman teknologi sistem mikroprosesor.
23
Des Ozadad Selan, S.Pd.Kom
Kegiatan Pembelajaran 4
A. Tujuan Pembelajaran:
Setelah menyelesaikan materi ini, siswa diharapkan dapat:
1. Merencanakan desain pemrograman berbasis mikroprosesor sesuai prosedur dengan benar
2. Merealisasikan program aplikasi berbasis I/O pada mikroprosesor sesuai prosedur dengan
benar
3. Melakukan proses pengujian program aplikasi berbasis I/O pada mikroprosesor sesuai
prosedur dengan benar.
B. Indikator Pencapaian Kompetensi
1. Merencanakan desain pemrograman berbasis mikroprosesor
2. Merealisasikan program aplikasiberbasis I/O padamikroprosesor.
3. Melakukan proses pengujian program aplikasiberbasis I/O pada mikroprosesor.
A.Uraian Materi
1. Desain Pemrograman Berbasis Mikroprosesor
Cara Pengalamatan
Kejelasan yang sistimatik tentang cara pengalamatan sangat penting pada pengolahan
data dalam jenis Prosesor, sebab program yang disusun tanpa penggunaan pengalamatan yang
pasti, maka program tersebut menjadi kurang efektif dalam penganalisaannya.
Semakin panjang kode operasi sebuah perintah, maka dapat juga dikombinasikan
banyak cara pengalamatannya. Pada dasarnya cara pengalamatannya dapat dibagi menjadi 4
cara yang berbeda.
o Immediate(segera), kode mesin mengandung konstanta untuk segera/langsung di akses.
Disini operan yang akan diakses langsung terkandung pada kode mesin, ini adalah
cara yang sangat sederhana, untuk mengisi konstanta ke Register atau lokasi penyimpanan.
Tentu saja operan tidak dapat diubah lagi, maka kode mesin yang demikian kebanyakan
disimpan di ROM. Kode operasi hanya dapat mengandung satu petunjuk tentang panjang
dari operan yang mengikutinya. Selain itu bagian alamat masih harus mengandung sebuah
keterangan tentang tujuan dimana konstanta harus dihubungkan kepadanya.
Contoh:
24
Des Ozadad Selan, S.Pd.Kom
o Direct (langsung), Kode mesin mengandung Register, alamat penyimpan atau alamat
masukan / keluaran dari operan untuk diakses. Disini kode mesin mengandung sebuah atau
lebih alamat-alamat yang kemudian isi dari alamat-alamat ini akan diakses lebih lanjut.
Panjang alamat-alamat ini dapat berbeda menurut keadaan apakah itu mengenai sebuah
Register, alamat penyimpan atau alamat masukan/keluaran, perintah dapat mengandung
sebuah petunjuk, apakah bagian pertama diberikan sebagai alamat tujuan atau sumber.
Contoh:
o Indirect (tidak langsung), kode mesin mengandung hanya satu petunjuk, dimana untuk
mendapatkan alamat dari operan yang akan diakses.
Kode mesin hanya mengandung sebuah petunjuk, dimana cara untuk mendapatkan alamat
dari operan yang akan diakses. Petunjuk dapat terjadi pada sebuah register CPU atau pada
sebuah lokasi penyimpan dan disana alamat efektif akan didapatkan untuk semua
pengalamatan secara tidak langsung dengan Register, memberikan kode mesin yang
pendek . Karena sebagai pengganti alamat 16 BIT diberikan hanya 3 BIT alamat Register.
Perintah semacam itu, pada Z 80 :
Contoh:
PUSH dan POP menaikkan atau menurunkan Register alamat yang dipakai secara
otomatis dan terjadi apakah pada sebelum atau sesudah pelaksanaan perintahnya.
Pengalamatan tidak langsung, dapat di bagi:
25
Des Ozadad Selan, S.Pd.Kom
Contoh:
o Terindeks, alamat-alamat dari operan yang akan di akses dibentuk dalam beberapa bagian.
Pembentukan alamat melalui penyusunan
Disini alamat efektif disusun dari beberapa bagian yang mana bagian-bagian ini dapat
berasal dari Register CPU, Register-Register masukan/keluaran atau dari lokasi
penyimpan.
Contoh:
Z 80 menggunakan cara pengalamatan ini pada proses Interrupt dalam mode 2.
26
Des Ozadad Selan, S.Pd.Kom
Prinsip kerja belt conveyor adalah mentransport material yang ada di atas belt, dimana umpan
atau inlet pada sisi tail dengan menggunakan chute dan setelah sampai di head material
ditumpahkan akibat belt berbalik arah. Belt digerakkan oleh drive / head pulley dengan
menggunakan motor penggerak. Head pulley menarik belt dengan prinsip adanya gesekan
antara permukaan drum dengan belt, sehingga kapasitasnya tergantung gaya gesek tersebut.
Ketentuan :
Motor belt conveyor ke arah kanan selama motor sorong 1 dan 2 tidak bekerja
Motor sorong 1 bergerak maju bila sakelar belakang pada unit sorong 1 tertekan dan
sensor A aktif low. Motor sorong 1 bergerak mundur bila sakelar depan unit sorong 1
tertekan dan berhenti bila sakelar belakang 1 tertekan
Motor sorong 2 bergerak maju bila sakelar belakang pada unit sorong 2 tertekan dan
sensor 2 aktif low. Motor sorong 2 bergerak mundur bila sakelar depan unit sorong 2
tertekan dan berhenti bila sakelar belakang 2 tertekan.
27
Des Ozadad Selan, S.Pd.Kom
Struktogram
Tugas
Gunakan tabel instruksi bahasa mesin Z80 untuk mengerjakan tugas berikut ini.
Rangkuman
1. Desain pemrograman berbasis mikroprosesor
Cara pengalamatannya dapat dibagi menjadi 4 cara yang berbeda yaitu:
Immediate(segera), kode mesin mengandung konstanta untuk segera/langsung di akses,
Direct(langsung), Kode mesin mengandung Register, alamat penyimpan atau alamat
masukan / keluaran dari operan untuk diakses,
Indirect (tidak langsung), kode mesin mengandung hanya satu petunjuk, dimana untuk
mendapatkan alamat dari operan yang akan diakses,
28
Des Ozadad Selan, S.Pd.Kom
Terindeks, alamat-alamat dari operan yang akan di akses dibentuk dalam beberapa
bagian yaitu pembentukanalamatmelalui penyusunan dan Pembentukan alamat melalui
penambahan.
2. Program aplikasiberbasis I/O padamikroprosesor
Hal-hal yang diperhatikan dalam menyusun program aplikasiberbasis I/O
padamikroprosesor yaitu prinsip kerja alat, ketentuan sensor dan actuator yang akan
digunakan, pemakaian PORT mikroprosessor (sebagai input/Output), pembuatan
struktogram, serta pembuatan table yang berisi label, alamat, op-code, mnemonic dan
keterangan untuk mempermudah penyusunan program.
Kegiatan Pembelajaran 5
A.Tujuan Pembelajaran:
Setelah menyelesaikan materi ini, siswa diharapkan dapat:
1. Memahami Konstruksi Port
2. Memahami pengolahan program akses input sesuai kebutuhan pengambilan data
3. Memahami pengolahan program akses output sesuai kebutuhan pengiriman data
Uraian Materi
Keluarga AT89S51 mempunyai dua kelompok instruksi untuk mengeluarkan data ke port
paralel:
Kelompok instruksi pertama bekerja pada port seutuhnya artinya 8 jalur dari port
bersangkutan, misalnya MOV P1, #0FF membuat ke-delapan jalur port 1 sekaligus
menjadi ‘1’, MOV P1, #00 membuat ke-delapan jalur port 1 sekaligus menjadi ‘0’.
Pola semacam ini disebut dengan pola pengalamatan byte.
Kelompok instruksi kedua hanya berpengaruh pada salah satu jalur dari port,
misalnya SETB P3.4 membuat P3.4 menjadi ‘1’ atau CLR P3.3 membuat P3.3
menjadi ‘0’. Pola pengalamatan semacam ini disebut pola pengalamatan bit.
Selain itu port paralel bisa pula dipakai untuk menerima sinyal digital dari rangkaian di luar
chip mikrokontroler:
Instruksi MOV A, P1 mengambil sinyal digital pada semua jalur Port 1 dan
menyimpannya di Akumulator.
Pengambilan sinyal bisa hanya pada satu jalur port, instruksi JNB P3.7,$ dipakai
untuk memantau jalur P3.7, jika P3.7 =’0’ AT89S51 akan melompat ke alamat relative
yang ditentukan, AT89S51 baru akan meneruskan instruksi yang ada di bawah instruksi
tersebut jika P3.7=’1’. Instruksi yang berlawanan dengan JNB adalah JB.
Memprogram Port sebagai Output dan Input Sederhana
Satu hal yang perlu diperhatikan, agar sinyal dari luar bisa dibaca dengan benar,
sebelum membaca jalur port bersangkutan harus terlebih dulu dibuat menjadi ‘1’. Hal ini
akan dijelaskan lebih lanjut di bagian bawah.
Port 0, Port 2 dan Port 3 bisa berfungsi ganda, selain dipakai sebagai port paralel bisa
dipakai untuk keperluan lain.
Kegunaan lain dari Port 0 adalah sebagai saluran-data (data bus - D0..D7) dan
setengah saluran-alamat (address bus - A0..A7) yang dipakai untuk memasang
memori tambahan di luar chip mikrokontroler.
Kapasitas memori tambahan bisa sampai 64 KiloByte sehingga memerlukan 16
jalur saluran alamat, jalur alamat A0..A7 dilewatkan Port 0 di atas, sedangkan
setengah saluran alamat yang lain (A8,,A15) dilewatkan Port 2.
Selain untuk port paralel, Port 3 bisa pula dipakai untuk berbagai macam
keperluan sarana input/output dengan keperluan khusus.
Untuk menunjang semua kemampuan yang disebutkan di atas, rangkaian
elektronik pembentuk port mempunyai konstruksi khusus, bahkan konstruksi masing-
masing port berlainan. Berikut adalah pembahasan tentang konstruksi rangkaian
elektronik masing-masing port.
Konstruksi Port 1
Port 1 merupakan satu-satunya port AT89S51 yang tidak berfungsi ganda, sehingga
konstruksi Port 1 merupakan dasar konstruksi bagi port-port lain. Port yang lain dibangun
atas dasar Port 1 dengan beberapa modifikasi. Inti dari rangkaian ini adalah sebuah latch,
30
Des Ozadad Selan, S.Pd.Kom
output Q* dari latch dihubungkan ke rangkaian inverter yang dibentuk dengan transistor
MOS dan tahanan yang dihubungkan ke Vcc, output inverter dihubungkan ke pin chip
AT89S51.
Input latch terhubung ke salah satu jalur saluran-data di dalam chip AT89S51, saat
intruksi semacam MOV P1,A dijalankan, pada input clock dari latch akan timbul pulsa yang
membuat isi jalur data direkam ke dalam latch.
Data ‘1’ yang direkam ke dalam latch membuat Q* menjadi ‘0’ sehingga transistor
MOS off, tegangan pada pin chip menjadi Vcc yang dikenali sebagai ‘1’. Sebaliknya data ‘0’
dalam latch mebuat Q* menjadi ‘1’ sehingga transistor MOS on, menghubungkan pin chip ke
ground, hal ini dikenali sebagai ‘0’.
Di luar rangkaian latch dan inverter, rangkaian port 1 masih dilengkapi pula dengan
penyangga 3 kondisi (tri-state buffer) B1 dan B2 yang dipakai sebagai jalur input ke jalur
saluran-data di dalam chip AT89S51.
Saat AT89S51 melaksanakan instruksi-instruksi yang bersifat ambil-rubah-simpan
(readmodify-write), misalnya instruksi INC P1; DEC P1; ANL P1,A; ORL P1,A; XRL
P1,A, output Q dari latch diambil lewat penyangga B1, diolah di dalam inti prosesor
AT89S51 kemudian dikembalikan ke latch.
B2 dipakai saat AT89S51 melaksanakan perintah MOV A,P1 atau JB P1.x,… atau
JNB P1.x,… menghubungkan pin P1.x ke jalur data dalam chip. Tapi hasil pembacaan ini
baru bisa terjadi dengan baik kalau transistor MOS dalam keadaan off, sehingga tegangan
yang ada di pin chip bisa sampai ke jalur data dalam chip AT89S51 tanpa gangguan.
Sebaliknya kalau transistor MOS dalam keadaan on maka tegangan pada pin chip akan
disalurkan ke ground, sehingga data yang sampai ke jalur data dalam chip AT89S51 selalu
bernilai ‘0’. Meng-off-kan transistor MOS bisa dilakukan dengan cara menjalankan instruksi
MOV P1,#0FF atau SETB P1.x.
Di dalam chip AT89S51 terdapat 8 buah rangkaian yang membentuk Port 1.
Konstruksi Port 1
Konstruksi Port 3
Selain sebagai port paralel, Port 3 bisa pula dipakai untuk berbagai
keperluan bermacam sarana input/output dan fasilitas untuk menambah memori
data di luar chip AT89S51. Fungsi lain dari masing-masing pin Port 3 antara lain
adalah P3.0 berfungsi pula sebagai RxD yakni input data seri dari UART, P3.1
berfungsi pula sebagai TxD yakni output data seri dari UART, P3.2 dan P3.3
menerima sinyal permintaan interupsi dari rangkaian di luar chip AT89S51. P3.4
dan P3.5 masing-masing bisa berfungsi sebagai T0 dan T1, yang bertugas
menerima sinyal denyut dari rangkaian di luar chip AT89S51, saat Timer 0 atau
Timer 1 dikerjakan sebagai ‘counter’. P3.6 dan P3.7 bisa menjadi WR* dan RD*,
yang dipakai untuk mengendalikan memori data yang ditambahkan di luar chip
AT89S51.
Konstruksi Port 3 dibagi menjadi 2 model, model pertama pada P3.0, P3.6
dan P3.7 yang dipakai untuk menyalurkan sinyal keluar dari chip AT89S51,
seperti terlihat dalam Gambar 25a. Transistor MOS dikendalikan bersama oleh
output Q dari Latch dan rangkaian output yang ada di dalam chip AT89S51 lewat
sebuah gerbang NAND. Dari rangkaian tersebut jelas terlihat agar output fungsi
alternatip bisa diteruskan ke masing-masing pin dengan benar, sebelumnya latch
harus diisi dengan ‘1’.
Konstruksi Port 2
Port 2 bisa juga dipakai sebagai saluran alamat, untuk keperluan ini
rangkaian dasar Port 1 ditambah dengan sebuah gerbang AND, sebuah transistor
MOS dan sebuah inverter. Gambar 26 menggambarkan Port 2 sedang berfungsi
32
Des Ozadad Selan, S.Pd.Kom
sebagai Port Paralel, tansistor MOS T2 dalam keadaan ‘off’, keadaan saat ini sama
persis dengan keadaan Port 1.
Pada dasarnya Port 2 masih tetap berfungsi sebagai port paralel, hanya
pada saat diperlukan saja Port 2 berubah fungsi sebagai saluran alamat dan
sesudah itu akan segera kembali berfungsi sebagai port paralel. Saat Port 2
berfungsi sebagai saluran alamat input A gerbang AND menjadi ‘1’, jalur alamat
di dalam chip AT89S51 lewat gerbang AND mengendalikan transistor MOS T2,
saklar S berpindah posisi ke kanan menghubungkan jalur alamat yang sudah
dibalik inverter ke rangkaian trasistor MOS T1.
Dengan adanya inverter pada rangkaian Gate T1, mengakibatkan keadaan
transistor MOS T1 dan T2 selalu berbalikan. Saat jalur alamat di dalam chip
bernilai ‘1’ transistor MOS T2 ‘on‘ menghubungkan pin P2.x ke Vcc dan
transistor MOS T1 ‘off’, sehingga P2.x berada dalam keadaan ‘1’. Sebaliknya,
jalur alamat di dalam chip bernilai ‘0’ transistor MOS T2 ‘off‘dan transistor MOS
T1 ‘on’ menghubungkan kakami P2.x ke ground, sehingga P2.x berada dalam
keadaan ‘1’.
Saat Port 2 dipakai sebagai saluran alamat, isi semua latch pada Port 2
tidak berubah, sehingga meskipun Port 2 masih bisa berfungsi sebagai port output
paralel dengan baik.
Konstruksi Port 2
Konstruksi Port 0
KonstruksiPort 0
Program Akses I/O
Untuk dapat mengakses Port sebagai output sederhana dapat dipelajari
menggunakan indikator LED. LED adalah dioda emisi cahaya yang akan menyala
jika mendapat bias maju. Menyala atau padam sebuah LED tergantung bias
pemberian logika. Pada tabel 9 ditunjukkan tabel kebenaran penyalaan LED.
Tabel kebenaran penyalaan LED.
No ANODA KATODA KEADAAN LED
1. 0 0 Padam
2. 0 1 Padam
3. 1 0 Menyala
4. 1 1 Padam
Dari tabel di atas, terlihat hanya ada satu keadaan untuk menyalakan LED, dan
tiga keadaan untuk memadamkan LED. Berdasarkan tabel 9 dapat dibuat
konfigurasi LED aktif LOW dimana Anoda dapat catu + 5 Volt dan Katoda
dibuhungkan dengan Port. Sedangkan untuk konfigurasi aktif HIGH, Katoda
dihubungkan ke ground dan Anoda dihubungkan ke Port.
+5V
Port
Port
0V
Konfigurasi Aktif Low
Konfigurasi Aktif High
34
Des Ozadad Selan, S.Pd.Kom
Pada konfigurasi aktif Low, LED akan menyala jika Port berkeadaan logika ”0” dan
LED akan padam jika Port berkeadaan logika ”1”. Sedangkan pada konfiguras aktif high
akan terjadi sebaliknya LED akan menyala jika Port berkeadaan logika ”1” dan LED
akan padam jika Port berkeadaan logika ”0”. Konfigurasi ini menjadi sangat penting
untuk diperhatikan dalam kaitannya dengan pembentukan data yang akan di kirim ke
Port sebagai data output.
5V
LED 0
P1.0 VCC
P1.1 P0.0
P1.2 P0.1
P1.3 P0.2
P1.4 P0.3
P0.4
P1.5
LED 7 P0.5
P1.6
P0.6
P1.7
P0.7
RST EA*/VPP
P3.0 ALE/PR
SW P3.1 G*
0 P3.2 PSEN*
P3.3 P2.7
P3.4 P2.6
P3.5 P2.5
P3.6 P2.4
P3.7 P2.3
SW XTAL P2.2
7 2 P2.1
XTAL P2.0
1
GND
35
Des Ozadad Selan, S.Pd.Kom
Tugas
1. Gambarkan rangkaian lengkap dari pengurutan lampu lalu lintas!
2. Buatlah program dalam bahasa assembly untuk menjalankan pengurutan lampu lalu-lintas!
Rangkuman
1. Minimal sistem sebuah komputer atau bisa disebut juga komputer sederhana menggunakan
mikroprosesor Z80 dapat dibangun dengan menggunakan komponen dasar mikroprosesor Z80,
memori RAM 6116, EPROM 2716, parallel port interface (PPI) 8255 dan beberapa komponen
pendukung clock berikut sistem pengalamatam.
2. Sistem perencanaan dan pembuatan serta sistem kerja pada minimal sistem Z80 dapat
dilakukan melalui beberapa langkah yaitu meliputi:
5. Bus kontrol, berfungsi sebagai kendali proses baca/tulis untuk data yang melewati devais
eksternal, untuk RAM/EPROM dan port I/O di luar sistem mikroprosesor
36
Des Ozadad Selan, S.Pd.Kom
DAFTAR PUSTAKA
Microprocessor Architecture From Simple Pipelines To Chip Multi Processors, Jean-Loup
Baer, 2010
Understanding 8085/8086 Microprocessor and Peripheral IC′s Through
Questions and Answers (Second Editions), S.K. Sen, 2010, Visit us at
www.newagepublishers.com
Analog Interfacing to Embedded Microprocessor Systems, Stuart R. Ball, 2004
Microprocessor Design A Practical Guide from Design Planning to Manufacturing,
Grant McFarland, 2006
Microprocessor Design Principles and Practices With VHDL, Enoch O. Hwang,
2004
37