Anda di halaman 1dari 37

Des Ozadad Selan, S.Pd.

Kom

TEKNIK AUDIO VIDEO

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 Arsitek von Neumann

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

Gambar 1 2 Dasar arsitek komputer von Neumann

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.

Gambar 1 3 Blok Diagram Mikroprosesor Z80

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.

Tabel 1 1 Mekanisme penyimpan dari sebuah Mikroprossesor


Multiplexer

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.

Dari ke enam kelompok fungsi mekanisme penyimpanan meikroprosesor Z 80 dapat


dijelaskan sebebagai berikut:
1) Multi plexer / Pemilih Register
Melalui multiplexer 1 pemilih register, lokasi memori dalam blok register yang dipilih
dapat di tulis atau di baca.
2) Register sementara A - F
Register sementara terdiri dari dua register 8 bit , yang dapat dipakai sebagai register
tunggal (8 bit) ataupun dipakai sebagai register pasangan (16 bit) untuk proses
internal Mikroprosesor. Register A - F adalah sama dengan penghitung data dari
penghitung sederhana. Dalam register A - F bagian alamat 16 bit dari sebuah perintah
disimpan untuk sementara.
3) Register pasangan BC, DE, HL
Register pasangan BC, DE,HL dalam program dipakai sebagai register tunggal atau
sebagai register pasangan. Bila dipakai sebagai register tunggal maka dia dapat
dipakai sebagai penyimpan 8 bit. Bila dipakai sebagai register pasangan, dia dapat
menyimpan 16 bit, sebagai contoh alamat lokasi memori 16 bit. Dalam
mikroprosessor tersedia perintah khusus untuk register 16 bit ini.
4) Penunjuk Stack (Stack Pointer)
Melalui sebuah program adalah memungkinkan untuk melihat proses
penulisan/pembacaan data ke/dari alamat stack yang telah ditentukan. Alamat awal
dari stack diisi ke penunjuk stack melalui sebuah perintah khusus.

3
Des Ozadad Selan, S.Pd.Kom

Gambar 1 4 Fungsi dari petunjuk stack

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.

Gambar 1 5 Penulisan ke dalam stack

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

Gambar 1 6 Prinsip mekanisme operasi sebuah Mikroprosessor

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),
• Pengoreksi Desimal.

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

Ada 5 flag dalam unit sentral dari Z 80 adalah :


 Bit DQ ( posisi 21) adalah Flag carry
 Bit D2 ( posisi 22) adalah Flag parity
 Bit D4 ( posisi 24) adalah Flag carry pembantu
 Bit D6 ( posisi 26) adalah Flag zero
 Bit D7 ( posisi 27) adalah Flag tanda
Dalam bit D1, D3, dan D5 tidak terdapat informasi,maka diabaikan.
5) Pengontrol Desimal
Dengan cara ini untuk merubah hasil biner dari perintah penjumlahan ke dalam
bilangan BCD (Bilangan desimal yang dikodekan secara binner).
Contoh :
Hasil Operasi Binner adalah:
16’ 16o
= OFH
0000
1111 B
Pengoreksi desimal merubah hasil binner dalam bilangan BCD:

16’ 16o 10’ 10o


= 15 D
0000 0001
1111B 0101 B
Hasil Biner Hasil BCD

2. Arithmetic Logic Unit (ALU)


Rangkaian logik yang ada pada ALU adalah:
• A ^ B (logik AND),
• A ˅ B (logik OR),
• A ˅ B (logik Ex - OR),
• Adder / Subtractor.
Gambar blok diagram rangkaian ALU digambarkan seperti gambar 1.7 di bawah.

6
Des Ozadad Selan, S.Pd.Kom

Gambar 1 7 Blok diagram ALU

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.

Gambar 1 8 Rangkaian Data Selector


Pada prinsipnya, data selector adalah berupa multiplekser dengan dua buah kontrol selector
S6 dan S5. Pada kondisi S6 = 0 dan S5 = 0, maka selektor akan memilih keluaran
adder/subtraktor. Pada kondisi kondisi S6 = 0 dan S5 = 1, maka selektor akan memilih
keluaran AND. Pada kondisi kondisi S6 = 1 dan S5 = 0, maka selektor akan memilih
keluaran OR dan pada kondisi kondisi S6 = 1 dan S5 = 1, maka selektor akan memilih
keluaran EX-OR.
3. Akumulator
Seperti pada gambar di bawah adalah sebuah ALU berfungsi sebagai akumulator.

7
Des Ozadad Selan, S.Pd.Kom

Gambar 1 9 Rangkaian akumulator


Pengembangan dari ALU adalah Akkumulator yang mana disamping blok fungsi
sebelumnya pada ALU digunakan juga tambahan sebagai Sinyal kontrol (S8) keluaran dari
ROM, Carry flag, Register, Clock, dan Umpan balik dari keluaran Register sebagai masukan
A.
Sinyal kontrol S8, clock dan Carry Flip-Flop. Carry Flip-Flop ( pengunci ) di kontrol
melalui sinyal S8 bersama-sama dengan clock pada level “H”. Carry Flip- Flop ini disebut
sebagai Flag (Bendera). Apakah flag akan diberi clock atau tidak itu tergantung dari program
ROM dengan kombinasi sinyal melalui gerbang AND, sehingga carry = “1” yang berarti
Flip-Flop akan diisi. S8=1. Clock=1 Pada register dan umpan balik, hasil operasi dari ALU
(Yn) dengan sinyal “H” pada clock akan di simpan sementara pada register. Keluaran dari
register diumpankan ke masukan A. Sehingga isi register bersama-sama dengan informasi
dari masukan B dapat berfungsi sebagai rangkaian logika.

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:

Gambar 1. 1 Sistem Mikroprosessor Z80


1.1. Fungsi Register
Terdapat 4(empat) fungsi dari rangkaian dasar register, yaitu:
1. Register Masuk Serial Keluar Paralel (Serial In Paralel Out / SIPO)
2. Register Masuk Serial Keluar Serial (Serial In Serial Out / SISO)
3. Register Masuk Paralel Keluar Serial (Paralel In Serial Out / PISO)
4. Register Masuk Paralel Keluar Paralel (Paralel In Paralel Out / PIPO)
Penerapan keempat fungsi rangkaian pada operasi dasar register dalam sistem
mikroprosesor ditunjukan pada gambar 1.2, yaitu rangkaian register dengan arsitekturnya
disamping digunakan sebagai register geser dapat digunakan sebagai rangkaian dasar untuk
beberapa operasi, seperti SISO, SIPO, PISO, PIPO, geser kiri dan geser kanan.
10
Des Ozadad Selan, S.Pd.Kom

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

2) Operasi serial input dan parallel output register 8 bit

3) Operasi paralel input serial out register 8 bit

4) Operasi parallel input serial output register 8 bit

5) Operasi geser ke kanan register 8 bit

6) Operasi geser ke kiri register 8 bit

Gambar 1. 2. Operasi register dalam system mikroprosessor


Sistem register di dalam prosesor Z80 seperti ditunjukan gambar 1.3 terdapat 16-bit
register yang berfungsi mengendalikan byte program memori dan terdapat register 8-bit yang
berfungsi mengendalikan operasi byte data yang dimuat dan diambil kembali. Register 8-bit
11
Des Ozadad Selan, S.Pd.Kom

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.

Gambar 1. 3. Konfigurasi Register CPU Z80


1.2. Register CPU Z80
Register ini merupakan register 8 bit untuk register A dan 8 bit untuk register F,
walaupun demikian dalam CPU Z80 kedua register yaitu A dan F dapat diakses secara
berpasangan yang berarti merupakan register 16 bit. Fungsi utama untuk register A adalah
untuk menampung secara temporer data hasil proses dalam ALU (Arithmatic Logic Unit),
sedangkan register F merupakan flag yaitu tanda hasil proses ALU. Untuk memperluas dan
kenyamanan programer dalam mengembangkan program aplikasi maka pada CPU Z80
dilengkapi dengan register alternatif A’ dan F’, adapun fungsi dari register alternatif ini dapat
dimanfaatkan seperti halnya pada register utama A dan F.
a) Register Umum (Register pasangan BC, DE, HL)
Register ini dalam program dapat dipakai sebagai register tunggal 8 bit atau
sebagai register pasangan 16 bit, yaitu register pasangan BC, DE dan HL. Sehingga saat
dipakai sebagai register tunggal maka dia dapat dipakai sebagai penyimpan data 8 bit,
dan saat dipakai sebagai register pasangan dia dapat menyimpan data 16 bit. Sebagai
contoh alamat lokasi memori yang ingin ditunjuk digunakan register pasangan HL maka
jumlah bit penunjuk alamat adalah 16 bit. Guna mendukung kinerja mikroprosessor
dibutuhkan register dan untuk penggunaan register tersebut tersedia perintah operasional
register 16 bit.
b) Register Keperluan Khusus (Program Counter (PC)
Register yang diberi nama program counter (PC) ini memiliki kemampuan untuk
menunjuk alamat memori 16-bit yang berisi instruksi yang sedang dijalankan dalam
memori, PC secara otomatis mengalami inkrimen dan jika terdapat alamat baru yang
ditunjuk misal pada perintah lompat (jump) maka secara otomatis isi PC akan diubah
sesuai dengan alamat yang dituju.
Terdapat 3 kemungkinan PC dalam menjalankan fungsinya yaitu menunjuk alamat
memori yang berisi instruksi program:
(1) Pertama mengikuti urutan sesuai dengan instruksi yang tertulis dalam memori,
12
Des Ozadad Selan, S.Pd.Kom

(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.

Gambar 1. 4. Area memori stack dan cara aksesnya


d) Dua Indeks Register (IX dan IY)
Kedua register ini merupakan register idependen yang dapat digunakan untuk
menunjuk alamat dasar 16 bit (16-bit base address), hal dilakukan melalui mode
pengalamat terindeks (indexed addressing mode). Dalam mode ini sebuah register indeks
digunakan sebagai penunjuk alamat dasar dalam menunjuk suatu kawasan dalam
memori, yaitu alamat dimana data akan dibaca maupun akan disimpan. Tambahan
berupa byte diikut sertakan dalam instruksi indeks untuk menspesifikasikan perpindahan
dari dasar tersebut. Perpindahan tersebut dispesifikasikan sebagai komplemen dua dari
sebuah integer, hal ini dilakukan untuk tindak penyederhanaan instruksi dalam
manipulasi data dalam program terutama penggunaan tabel data.
2. Mode Pengalamatan
Mode pengalamatan merupakan pemindahan data dari satu lokasi baik register atau
memori untuk diletakan pada register lain atau lokasi memori yang ditunjuk, sedang mode
pengalamat dapat dijelaskan sebagai berikut:
pasangan HL (penunjuk memori), maka penulisan instruksinya secara asembler adalah:

13
Des Ozadad Selan, S.Pd.Kom

LD HL,1875

dan kode operasionalnya: 21 75 18

2.1. Relative addressing


Realative addressing merupakan penunjukan alamat memori yang dilakukan
melalui perhitungan relatif. Biasanya digunakan untuk fasilitas lompat (jump) dari lokasi
dimana instruksi dilaksanakan menuju lokasi tertentu ditunjuk dengan mode relatif (-128
s/d 127). Instruksi merupakan 2 dua) byte yang terdiri dari kode operasi dan tujuan
penempatan relatif (displacement). Adapun contoh instruksi sebagai berikut:

JP 75

dan kode operasionalnya: 18 75


2.2. Extended addressing
Extendded addressing mode pengalamatan adalah menunjuk langsung lokasi
dimana data berada pada memori untuk disimpan pada sebuah register, adapun penunjuk
alamat 16 bit dan kode operasi 1 byte. Contoh instruksi sebagai berikut:

LD A,(1875)

dan kode operasionalnya: 3A 75 18


2.3. Indexed addressing
Mode ini menggunakan register index (IX dan IY) untuk menunjuk alamat, operasi
pengalamat menggunakan 16 bit. Berikut contoh untuk memindahkan isi register E untuk
diletakan pada alamat yang ditunjuk oleh register IX:

LD (IX+08H), E

dan kode operasionalnya: DD 73 08


2.4. Register addressing
Mode ini pengalamatan langsung ditunjukan oleh kode operasi pemindahan data
dari satu register ke dalam register lainnya. berikut contoh pemindahan isi register D ke
dalam Akumulator:

LD A, D

dan kode operasionalnya: 7A

2.5. Register Indirect addressing


Mode ini pengalamatan ditujukan untuk memindahkan data yang berada pada
register untuk diletakan pada memori dengan alamat yang ditunjuk oleh pasangan
register. Sebagai contoh isi akumulator dipindahkan ke memori dengan lokasi yang
ditunjuk oleh pasangan register BC:

LD (BC), A

dan kode operasionalnya: 02

14
Des Ozadad Selan, S.Pd.Kom

2.6. Immediate addressing


Pada mode ini menggunakan bilangan yang merupakan konstanta (immediate) 8
bit sebagai operand, dan kemudian menyimpannya pada register yang dituju dengan
alamat sudah ditentukan. Sintak penulisan instruksi terdiri dari 2 (dua) byte), yaitu untuk
byte pertama merupakan kode operasi (Opcode) dan byte kedua merupakan data atau
konstanta.
Sebagai contoh menyimpan konstanta 75 dalam bilang hexa ke dalam register A
(akumulator), maka penulisan instruksinya secara asembler adalah:

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)

Kelompok Instruksi Keterangan


8-bit Load dan Store Menggunakan register tujuan umum
16-bit Load dan Store Menggunakan pasangan register, register indeks, dan
stack pointer
1-bit Aritmatika Mengatur sedikit, jelas sedikit, Uji sedikit
8-bit Aritmatika Tambahkan, Kurangi, Dan, Atau, dll
8-bit Shift dan Putar Shift kiri, kanan shift, Putar, Insert carry bit, dll
16-bit Aritmatika Tambahkan, Kurangi, Kenaikan, Pengurangan
Flag Control Mengatur membawa flag, jelas membawa, Aktifkan dan
15
Des Ozadad Selan, S.Pd.Kom

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:

Penunjuk alamat memori 16 bit


4. Arsitektur Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler umumnya
16
Des Ozadad Selan, S.Pd.Kom

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.

Blok Diagram Mikrokontroler


Bagian utama yang ada pada mikrokontroler sebagai berikut ini:
1) Mikroprosesor, merupakan bagian utama yang fungsinya sudah saya jelaskan di atas.
2) Memori, terdiri dari beberapa jenis antara lain memori program (Flash Memori) dan
memori data (Data Memori). Data memori terdiri dari dua macam:
1. SRAM (sifatnya sementara)
2. EEPROM (sifatnya permanen).
3) Input Output, merupakan bagian yang terhubung langsung ke perangkat luar. Input
output dapat berupa jalur data digital, data analog, ataupun bus komunikasi data
(RS232, I2C, SPI).
4) Timer/Counter, merupakan bagian yang berfungsi untuk melakukan penjadwalan waktu
(timer). Selain itu timer/counter bisa digunakan untuk menggenerate sinyal dengan
frekuensi dan periode tertentu.

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

Gambar 1.1. Berbagai jenis RAM


1.2. Serial/Sequential Access Memory (SAM)
Memori jenis ini ada yang memberi nama memori serial dan ada juga yang memberi
sebutan memori sekuensial. Memori jenis ini menyediakan layanan akses secara seri atau
berurutan atau sekuensial. Artinya jika pada suatu waktu akses berada pada suatu lokasi
alamat “n” lalu ingin melanjutkan melakukan akses ke lokasi alamat “n+5” maka ia harus
melalui akses alamat “n+1” sampai dengan alamat “n+4” baru masuk ke alamat “n+5”.
Pita kaset audio adalah contoh memori kategori SAM.
Kemudian ditinjau dari cara bacanya, memori elektronik ada dua jenis yaitu: (1)
Read Only Memory (ROM) dan (2) Read Write Memory (RWM).
1.3. Read Only Memory (ROM)
Read Only Memory (ROM) adalah memori yang hanya bisa dibaca tidak bisa
ditulisi. Memori jenis ini digunakan untuk menyimpan program dasar pengaturan fungsi
I/O atau penyimpanan data sehingga sering disebut dengan ROM BIOS yaitu jenis
memori yang digunakan untuk menyimpan program basic input output system (BIOS).
Data yang tersimpan pada pada ROM sifatnya permanen atau Non Volatile artinya isi
memori tetap kendati sumber arus listrik tidak ada lagi. ROM hanya dapat diisi atau
diprogram oleh pabrik pembuatnya. Sehingga ROM tidak pleksibel untuk digunakan
dalam berbagai keperluan. Karena hanya bisa diprogram oleh pabrik pembuatnya maka
ROM menjadi sangat mahal harganya. Inilah beberapa kelemahan teknologi ROM.
1.3.1. Programmable Read Only Memory (PROM)

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.

Gambar 1.2. Contoh EPROM

Untuk memprogram EPROM digunakan alat EPROM Programmer. Biasanya


EPROM Programmer sudah berbasis komputer PC. Mengenali EPROM secara cepat
dapat dilakukan melalui feature yang ada didalam data sheet. Melalui feature sebuah
EPROM dapat dibaca karakteristik dan kapasitasnya.
1.3.3. Electrical Erasable Programmable Read Only Memory (EEPROM)
EEPROM adalah jenis memori yang menyempurnakan kekurangan EPROM yang
membutuhkan alat khusus untuk memprogram dan menghapus isi memorinya. EEPROM
tidak memerlukan alat khusus untuk menghapus atau memprogram. EEPROM
menggunakan pulsa listrik untuk menghapus dan memprogram. EEPROM tidak memilki
celah jendela kaca.
1.4. Read Write Memory (RWM)
Read Write Memory (RWM) adalah jenis memori yang sifatnya volatile dimana
informasinya akan hilang jika sumber arus listrik yang diberikan padam. Informasi biner
dalam sebuah memori disimpan dalam sejumlah kelompok bit. Setiap kelompok bit
disebut Word. Word adalah entitas bit yang bergerak ke dalam atau k eluar unit memori.
Kebanyakan komputer menggunakan Word dalam kelipatan 8 bit yang disebut dengan
Byte.
 Bit : Binary Digit = angka biner
 Byte : Susunan dari 8 angka biner (bit)
 Nibble : Susunan dari 4 angka biner (bit)
Komunikasi diantara memori dengan alat luar menggunakan:
21
Des Ozadad Selan, S.Pd.Kom

 Saluran/bus Data input output dua arah


 Saluran/bus alamat terpilih
 Saluran kendali khusus yang menentukan arah aliran /transfer data.
Sejumlah n saluran data input digunakan sebagai saluran layanan penyimpanan dan
pengeluaran informasi. Sejumlah saluran k menentukan sel-sel alamat yang diakses.
Satu unit memori secara khusus menyatakan jumlah word yang dapat disimpan dan
jumlah bit dari tiap-tiap wordnya. Saluran alamat memilih salah satu word. Setiap word
di dalam memori ditemukenali oleh sejumlah saluran yang disebut Address. Alamat
sebuah memori berada diantara 0 s/d 2k – 1, dimana k=jumlah saluran address buss.
Kapasitas sebuah memori dinyatakan dalam bentuk sebagai berikut:
 K (Kilo) = 210 = 1024
o 2K = 211
o 4K = 212
o 8K = 213
 M (Mega) = 220 = 1048576
o 2M = 221
o 4M = 222
o 8M = 223
 G (giga) = 230 = 1073741824
o 2G = 231
o 4G = 232
o 8G = 233
Secara umum untuk menentukan kapasitas sebuah memori dengan mudah dapat
dihitung menggunakan jumlah bit saluran data dan jumlah bit saluran alamat. Jumlah bit
saluran data menunjukkan kapasitas memori data dalam setiap alamat sedangkan jumlah
bit saluran alamat menunjukkan kapasitas seluruh alamat

Biner Desimal Isi Memori


0000 0000 0 1001 0001

0000 0001 1110 1001


1
0000 0010 1000 0011
2
0000 0011
3 1000 0111
0000 0100
.. 4 …

.
.. …
..
. …

..

Gambar 3.4. Model Kapasitas memori

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.

Pembentukan alamat melalui penambahan


Disini alamat efektif disusun dari beberapa bagian yang mana bagian-bagian ini dapat
berasal dari Register-Register CPU, Register masukan/keluaran atau dari lokasi penyimpan.
Contoh:

2. Program aplikasi berbasis I/O pada mikroprosesor pada Belt Conveyor

26
Des Ozadad Selan, S.Pd.Kom

Gambar Belt Conveyor

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.

1. Buatlah op-kode pengalamatan langsung dari INC D !

2. Buatlah op-kode pengalamatan langsung dari RLC (HCL) !

3. Tuliskan beberapa pengalamatan tidak langsung!

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

Konstruksi Port Paralel AT89S51


Port paralel dan port serial merupakan sarana utama sebuah chip Mikrokontroler.
Lewat
sarana ini mikrokontroler mengeluarkan dan menerima sinyal digital yang dipakai
mengendalikan rangkaian-rangkaian di luar chip secara langsung. Biasanya port paralel
berfungsi ganda, jika dikehendaki port paralel bisa diatur dipakai untuk keperluan lain seperti
untuk saluran data atau saluran alamat.
Chip mikrokontroler AT89S51 mempunyai 40 pin, 32 pin di antaranya adalah pin
untuk keperluan port paralel. Satu port paralel terdiri dari 8 pin, dengan demikian 32 pin
tersebut membentuk 4 buah port paralel, yang masing-masing dikenali sebagai Port 0, Port 1,
Port 2 dan Port 3. Masing-masing jalur (pin) dari port paralel dinomori mulai dari 0 sampai 7,
jalur (pin) pertama Port 0 disebut sebagai P0.0, jalur terakhir Port 3 adalah P3.7.
Memprogram Port sebagai Output dan Input Sederhana

Bentuk Fisik dan Susunan Pin AT89S51


29
Des Ozadad Selan, S.Pd.Kom

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

masing-masing bisa berfungsi sebagai INT0* dan INT1*, yang bertugas


31
Des Ozadad Selan, S.Pd.Kom

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 3 untuk sarana output khusus


Model konstruksi yang kedua ada pada Port 3.1, Port 3.2, Port 3.3, Port
3.4 Port 3.5, rangkaian ini mirip sekali dengan rangkaian Port 1 hanya saja sinyal
dari pin chip AT89S51 selain disalurkan ke jalur data di dalam AT89S51,
disalurkan juga ke rangkaian input di dalam chip AT89S51.

Konstruksi Port 3 untuk sarana input khusus

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

Konstruksi Port 0 indentik dengan konstruksi Port 2, bedanya tahanan di


atas transistor MOS T1 dihilangkan. Saat Port 0 dipakai sebagai saluran
alamat/data, mekanisme kerjanya sama dengan Port 2.
Port 0 tidak mempunyai tahanan yang terhubung ke Vcc yang dipasang di
atas transistor MOS T1, seperti pada konstruksi port-port yang lain. Pada saat Port
0 dipakai sebagai port output tegangan pada pin P0.x tidak mungkin menjadi ‘1’,
untuk mengatasi hal ini, kalau memakai Port 0 sebagai port output harus
33
Des Ozadad Selan, S.Pd.Kom

dipasangkan tahanan ke Vcc di luar chip AT89S51.


Setiap kali Port 0 dipakai untuk saluran alamat/data, semua latch pada Port
0 dibuat menjadi ‘1’, sehingga kalau Port 0 dipakai untuk saluran alamat/data
maka Port 0 sudah tidak dapat berfungsi sebagai port paralel lagi.

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.

Memprogram Port Output Input


Gambar di bawah ini dapat digunakan sebagai kasus pengembangan
program untuk akses port sebagai out put. Ada delapan buah LED (L0, L1, L2,
L3, L4, L5, L6, dan L7) katodanya dihubungkan ke Port 1 dan anodanya diberi
tegangan 5 volt. Konfigurasi rangkaian gambar 28 jelas merupakan konfigurasi
aktif Low.

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

Konfigurasi Port I/O


Untuk menyalakan LED port diberi logika ”0” dan untuk memadamkan
port diberi logika ”1”. Sebagai suatu contoh jika LED0 sampai dengan LED3
padam dan LED4 sampai dengan LED7 menyala maka format datanya adalah
sebagai berikut :
LED LED LED LED LED LED LED LED DAT
7 6 5 4 3 2 1 0 A
0 0 0 0 1 1 1 1 0FH

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:

 Merencanakan dan menempatkan blok CPU Z - 80


 Merencanakan dan menempatkan sistem kontrol CPU Z - 80
 Merencanakan dan menempatkan saluran data
 Merencanakan dan menempatkan saluran alamat
 Merencanakan dan menempatkan blok memori
 Merencanakan dan menempatkan blok input/output
 Merencanakan dan menempatkan sistem kontrol untuk memori ( RAM dan EPROM )
 Merencanakan dan menempatkan sistem kontrol untuk input/output ( 8255)
3. Blok penyimpan data program dan blok masukan keluaran telah kita bahas pada pengalamatan
penyimpan RAM - EPROM pengalamatan PPI 8255
4. Bus data, yang berfungsi sebagai penghubung data pada setiap bagian internal mikroprosesor
dan eksternal melalui bus data (D0 sampai D7) melalui pin seperti ditunjukan pada gambar
konfigurasi pin mikroprosesor Z-80. Bus alamat, berfungsi sebagai penghubung penunjukan
alamat baik memori maupun port Input/output, terutama untuk RAM/EPROM dan port I/O di
luar sistem mikroprosesor.

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

Anda mungkin juga menyukai