Anda di halaman 1dari 34

TEKNIK MIKROPROSESOR & MIKROKONTROL

BAHAN AJAR
TEKNIK AUDIO VIDEO
KELAS XI

SEMESTER GANJIL

SMK N 3 YOGYAKARTA

TAHUN PELAJARAN 2019


A. Kompetensi Dasar Dan Indikator Pencapaian Kompetensi
3.4 Memahami bahasa Pemrograman Mikroprosesor.
Indikator:
3.4.1. Memahami instruksi bahasa assembly.
3.4.2 Menerapkan instruksi bahasa assembly
4.4 Mengoperasikan Bahasa pemrograman mikroprosesor.
Indikator:
4.4.1 Membuat program menggunakan bahasa assembly
4.4.2. Menganalisa program transfer data dan aritmatika menggunakan instruksi
bahasa assembly

B. Tujuan Pembelajaran
Setelah menyelesaikan materi ini, peserta didik diharapkan dapat :
1. Menjelaskan instruksi transfer data dan aritmatika bahasa assembly Z-80 dengan
benar.
2. Menggunakan perintah-perintah transfer data dan aritmatika pada simulator Z-80
setelah membaca modul dengan benar.
3. Membuat program aplikasi transfer data dan aritmatika menggunakan simulator Z-80
dengan benar.
4. Menganalisa jalanya program transfer data dan aritmatika menggunakan simulator
Z80 dengan benar

C. DASAR TEORI
1.1 MIKROKONTROLER
Dengan berkembangnya teknologi mikroprosesor 8 bit dan 16 bit, muncul pula kebutuhan agar
perangkat elektronika dapat dikemas sekecil mungkin seperti peralatan game Atari, Nintendo,
Sega dan peralatan rumah tangga AC, Audio, Video. Untuk mendukung hal tersebut, tidak dapat
dilakukan oleh mikroprosesor standar. Hal ini dikarenakan mikroprosesor membutuhkan
komponen eksternal tambahan seperti memori, pengolah analog ke digital dan perangkat
komunikasi serial. Oleh karena itu dikembangkanlah chip yang didalam kemasan tersebut sudah

Modul arsitekture mikrokontroler 2


terdapat CPU, port I/O , memori, yang kemudian dikenal dengan istilah mikrokontroler.
Mikrokontroler dapat disebut sebagai “one chip solution” karena terdiri dari :
 CPU (Central Processing Unit) CPU ialah bagian yang paling penting dari suatu
mikroprosesor dalam melakukan pemrosesan data.
 RAM ( Random Access Memory ) RAM digunakan Untuk menyimpan data sementara
 EPROM / PROM / ROM ( Erasable Programmable Read Only Memory ) ROM
digunakan untuk menyimpan program yang bersifat permanen.
 I/O ( Input /Output ) serial and parallel, unit ini berfungsi agar mikrokontroler dapat
berkomunikasi dalam format serial atau parallel, sehingga dapat berkomunikasi dengan
mudah dengan PC dan devais standar digital lainnya.
 Timer berguna untuk mengatur pewaktuan pada system berbasis mikrokontroler, misal
untuk delay atau pencacah.
 Interrupt Controller berfungsi menangani suatu permintaan pada saat mikrokontroler
sedang running.
Blok diagaram dari suatu mikrokontroler ditunjukkan pada gamabar 1 berikut:

Modul arsitekture mikrokontroler 3


Dari pengertian mikrokontroler diatas dapat disimpulkan perbedaan antara mikoroprosesor
dengan mikrokontroler yaitu :
 Mikroprosesor adalah single chip CPU.
 Mikrokontroler merupakan single chip yang berisi CPU, ROM, RAM, Timer, I/O,
Interrupt.
 Mikroprosesor banyak digunakan sebagai CPU dalam komputer
 Mikrokontroler banyak digunakan sebagai pengendali
 Mikroprosesor menggunakan instruksi untuk pemrosesan data dimana instruksi
beroperasi dengan nible atau byte
 Mikrokontroler menggunakan instruksi untuk mengendalikan masukan dan keluaran, dan
instruksi beroperasi dengan bit
Melihat kelebihan dari mikrokontroler dibandingkan mikroprosesor banyak perusahaan besar
mengembangkan dan memproduksi beberapa macam mikrokontroler. Mikrokontroler pertama
kali dikembangkan oleh perusahaan Texas Instrument pada tahun 1974, mikrokontroler pertama
yang diproduksi tipe TM1000. Perusahaan lain yang ikut berperan mengembangkan teknologi
mikrokontroler yaitu Intel. Pada tahun 1976 Intel pertama kali memperkenalkan 8 bit
mikrokontroler dengan tipe 8048, yang memiliki 1Kb memori ROM dan 64 byte memori RAM,
8 register, 4 port I/O termasuk 1 timer dan external interrupt. Mikrontroler 8048 kemudian
dikenal dengan MCS-48 family. Perkembangan selanjutnya diteruskan mikrokontroler tipe 8049
dengan 2Kb ROM dan 128 byte RAM, mikrokontroler tipe 8050 memiliki 4Kb ROM dan 256
byte RAM. Pada tahun 1980 hadir MCS-51 family yang memiliki 4Kb ROM, 128 RAM, 2
Timer, 32 I/O, Kecepatan OSC 12 Mhz. Mikrokontroler MCS – 51 sukses dipasaran, beberapa
perusahaan seperti Philips menggunakan 8051 sebagai teletext controler dan ada yang digunakan
sebagai perangkat antarmuka USB webcamera. Intel terus mengembangkan mikrokontroler
bersama ASIC lisensi memproduksi generasi tipe 80C51FA yang memperkenalkan
Programable Control Array ( PCA ). Tipe tersebut diaplikasi untuk industri outomotif sebagai
brake control, menyusul tipe baru berikutnya 80C51RA, 80C51RB, 8051RC. Selain
mengembangkan mikrokontroler 8 bit Intel juga memproduksi mikrokontroler 16 bit yaitu tipe
80C96. Keberhasilan Intel diadopsi oleh perusahaan elektronik seperti Philips, Atmel ( As ex –
Temic ), Winbond . Pada tahun 1990an Atmel memperkenalkan 8 bit mikrokontroler tipe 80C51
dengan flash code memory, yaitu memori dapat dihapus dan diisiulang dengan kecepatan tinggi.

Modul arsitekture mikrokontroler 4


Disamping itu Atmel memperkenalkan mikrokontroler tipe AT89C2051 dengan mengurangi
jumlah pin I/O mengakibatkan harga Chip lebih murah dan terjangkau. Dalam penerapannya
mikrokontroler digunakan untuk orientasi pengontrolan, seperti pengontrol temperature,
penampil display LCD, pemroses sinyal digital, pemroses dan pengontrol mesin-mesin industri
dan sebagainya.

1.2 ARSITEKTURE MIKROKONTROLER


1.2.1 MIKROKONTROLER VON – NEUMANN
Mikrokontroler yang menggunakan arsitektur Von – Neumann hanya memiliki satu blok memori
dan satu blok bus data 8 bit, Blok diagram mikrokontroler Von - Neumann di tunjukkan gambar
1.1. Mikrokontroler dengan arsitektur ini dalam pertukaran data semuanya menggunakan 8 jalur
bus yang mengakibatkan overload dan komunikasi menjadi lambat, tidak efesien. CPU dalam
membaca instruksi yaitu baca dan tulis data dari atau ke memori RAM dan ROM tidak dapat
dilakukan secara bersamaan dikarenakan data dan instruksi menggunakan jalur bus yang sama.
Gambar berikut menunjukan blok arsitektur Von Neumann :

Modul arsitekture mikrokontroler 5


1.2.1 MIKROKONTROLER HARVARD
Mikrokontroler arsitektur Harvard memiliki dua bus yang berbeda yaitu : bus 8 bit yang
menghubungkan CPU ke RAM dan bus lain terdiri dari beberapa jalur ( 12 bit, 14 bit atau 16
bit ) yang menghubungkan CPU dengan ROM. Dengan arsitektur harvard CPU dapat membaca
instruksi dan mengakses memori di dalam ROM secara bersamaan. Blok diagram mikrokntroler
arsitektur Harvard ditunjukkan gambar 2.1.2. Kelebihan – kelebihan arsitektur harvard:

 Semua data di dalam program selebar 8 bit. Bus data memiliki beberapa jalur ( 12, 14
atau 16 ), instruksi dan data dapat dibaca sekaligus. Dengan demikian semua instruksi
dapat dieksekusi hanya memakai satu siklus instruksi, kecuali instruksi lompat ( jump )
yang dieksekusi dalam dua siklus.
 Memori program ROM dan data sementara RAM terpisah, CPU dapat mengeksekusi dua
instruksi sekaligus.

Banyak desain mikrokontroler mengunakan arsitekture Harvard seperti produksi Atmel, PIC.

Modul arsitekture mikrokontroler 6


1.2.3 MIKROKONTROLER ARSITEKTURE CISC DAN RISC
Mikrokontroler yang beredar saat ini dibedakan menjadi dua macam berdasarkan arsitektur
instruksi pemrograman yaitu;

 Mikrokontroler tipe CISC ( Complex Instruction Set Computing ) artinya mikrokontroler


yang kaya akan instruksi tetapi fasilitas internal yang dimiliki secukupnya. Contoh
mikrokontroler tipe CISC yaitu seri AT89SXX yang memiliki 255 instruksi. Dengan
banyaknya instruksi diharapakan membantu programer dalam penulisan program bisa
efektif dan menghasilkan program pendek.
 Mikrokontroler tipe RISC ( Reduced Instruction Set Computing ) artinya mikrokontroler
yang kaya akan fasilitas internal tetapi jumlah instruksi secukupnya. Contoh
mikrokontroler menggunakan arsitektur tipe RISC yaitu seri PIC16FXX yang memiliki
hanya 30 - an instruksi.

Yang dimaksud dengan fasilitas internal adalah jumlah dan macam register internal,
pewaktu ( Timer ) / pencacah ( Counter ), unit ADC / DAC , unit comparator, interruptsi
internal maupun eksternal dan fasilitas lainnya.

2. PENGETAHUAN DASAR MIKROKONTROLER AVR


2.1 MIKROKONTROLER ATMEL
Mikrokontroler tipe CISC ( Complex Instruction Set Computing ) keluaran Atmel dapat
dikatakan sebagai mikrokontroler terlaris dan termurah saat ini. Mikrokontroler produksi Atmel
dapat diprogram menggunakan port paralel atau serial ISP ( In System Programable ). Selain itu,
dapat beroperasi hanya dengan 1 chip dan beberapa komponen dasar seperti kristal, resitor dan
kapasitor. Mikrokontroler produksi Atmel diantaranya adalah AT89C51/52 dengan flash
programing secara parallel. Generasi penganti dari AT89C51/51 mikrokontroler tipe
AT89S51/52 dengan flash programing secara serial. Kemajuan teknologi dari mikrokontroler
keluarga Atmel adalah munculnya mikrokontroler tipe AVR yang dikembangkan pada bulan
Juni tahun 1997, dimana AVR memiliki arsitekture RISC ( Reduce Instruction Set Computing )
yang dilengkapi fitur tambahan seperi blok ADC, rangkaian comparator, timer mode PWM.
Mikrokontroler AVR dapat diprogram menggunakan port USB.

Modul arsitekture mikrokontroler 7


Keluarga Mikrokontroler AVR merupakan mikrokontroler dengan arsitektur modern macam atau
jenis mikrokontroler AVR, yaitu:
1. TinyAVR (tidak ada kaitannya ama mbak Tini yang jualan gudeg…) Mikrokontroler (mungil,
hanya 8 sampai 32 pin) serbaguna dengan Memori Flash untuk menyimpan program hingga 16K
Bytes, dilengkapi SRAM dan EEPROM 512 Bytes.
2. MegaAVR (nah yang ini sudah mulai banyak yang nulis bukunya…) Mikrokontroler dengan
unjuk-kerja tinggi, dilengkapi Pengali Perangkat keras (Hardware Multiplier), mampu menyimpan
program hingga 256 KBytes, dilengkapi EEPROM 4K Bytes dan SRAM 8K Bytes.
3. AVR XMEGA Mikrokontroler AVR 8/16-bit XMEGA memiliki periferal baru dan canggih
dengan unjuk-kerja, sistem Event dan DMA yang ditingkatkan, serta merupakan pengembangan
keluarga AVR untuk pasar low power dan high performance (daya rendah dan unjuk-kerja tinggi).
4. AVR32 UC3 Unjuk-kerja tinggi, mikrokontroler flash AVR32 32-bit daya rendah. Memiliki flash
hingga 512 KByte dan SRAM 128 KByte.
5. AVR32 AP7 Unjuk-kerja tinggi, prosesor aplikasi AVR32 32-bit daya rendah, memiliki SRAM
hingga 32 KByte.
Untuk memperoleh informasi lebih lanjut silahkan kunjungi alamat website www.atmel.com.

2.2 MIKROKONTROL AVR 328P


ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC
(Reduce Instruction Set Computer) yang dimana setiap proses eksekusi data lebih cepat dari pada
arsitektur CISC (Completed Instruction Set Computer). ATMega328 memiliki beberapa fitur
antara lain :
1) 131 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
2) 32 x 8-bit register serba guna.
3) Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
4) 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB
dari flash memori sebagai bootloader.
5) Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar
1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat
menyimpan data meskipun catu daya dimatikan.
6) Memiliki SRAM (Static Random Access Memory) sebesar 2KB.

Modul arsitekture mikrokontroler 8


7) Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation)
output.
8) Master / Slave SPI Serial interface.
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk
kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.
Instruksi – instruksi dalam memori. program dieksekusi dalam satu alur tunggal, dimana pada
saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep
inilah yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus clock.
32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic
unit) yang dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat digunakan
sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil
data pada ruang memori data Berikut ini adalah tampilan architecture ATmega 328 :

Modul arsitekture mikrokontroler 9


2.3. KONFIGURASI PIN ATMEGA 328

ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total
pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagai input/output digital
atau difungsikan sebagai periperal lainnya.
1. PortB
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu
PORTB juga dapat memiliki fungsi alternatif seperti di bawah ini.
 ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.
 OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran
PWM (Pulse Width Modulation).
 MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI.
Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).

Modul arsitekture mikrokontroler 10


 TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock external
untuk timer.
 XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama mikrokontroler.
2. Port C
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital.
Fungsi alternatif PORTC antara lain sebagai berikut.
 ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10 bit. ADC
dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data
digital
 I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC. I2C
digunakan untuk komunikasi dengan sensor atau device lain yang memiliki
komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.
3. PortD
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat difungsikan
sebagai input/output. Sama seperti Port B dan Port C, Port D juga memiliki fungsi
alternatif dibawah ini.
 USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal
TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD
kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial.
 Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi
hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada
saat program berjalan kemudian terjadi interupsi hardware/software maka program
utama akan berhenti dan akan menjalankan program interupsi.
 XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga
dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan
externalclock.
 T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.
 AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
4. VCC
Pin sumber daya dalam mikrokontroler Atmega 328 ini adalah sebagai berikut :
a) VCC tegangan supply digital 1.8 - 5.5V dengan daya rendah

Modul arsitekture mikrokontroler 11


b) AVCC adalah pin tegangan supply untuk rangkaian A / D Converter, AVCC harus
terhubung secara eksternal dengan VCC , Jika ADC digunakan, AVCC harus terhubung
ke VCC melalui filter low-pass.
c) ARef adalah pin referensi tegangan analog untuk Konverter A / D.
d) GND Pin ground.

2.4 RANGKAIAN MINIMUM SISTEM AVR328

Agar mikrokontroler dapat bekerja maka diperlukan komponen tambahan berupa rangkaian reset
dan clock atau rangkaian minimum yang memungkinkan mikrokontroler dapat bekerja. Saat
power dinyalakan, instruksi yang pertamakali dieksekusi oleh mikrokontroler adalah instruksi
yang tersimpan pada address 0000h.
2.4.1 Rangkaian Reset
Agar Program Counter (PC) dapat menunjuk address 0000h pada saat awal maka
mikrokontroler perlu di-reset. Caranya adalah dengan memberikan pulsa Low pada pin reset
selama minimal 2 machine cycle ( jika f crystal = 12 MHz maka 2MC = 2uS). Setelah itu baru
diberikan pulsa High. Kondisi ini dapat dipenuhi dengan memasang rangkaian RC yang akan
mensuplai tegangan Vcc ke pin 1 selama kapasitor mengisi muatan / charging. Konstanta waktu
pengisian dapat dihitung dengan mengalikan nilai R dan C. Pada rangkaian dibawah adalah :

T=R.C = (8K2).(10uF) = 82mS.

Setelah kapasitor terisi, maka pin 1 akan High. Tombol push button dipasang agar pada saat
running mikrokontroler dapat juga di-reset. KOnfigurasi rangkaian reset dapat ditunjukkan
gambar berikut:
.

1.6 Latihan
a. Alat dan Bahan
1. Kertas 1 Lembar
2. Alat Tulis (Pena) 1 buah
3. Komputer

Modul arsitekture mikrokontroler 12


4. Software Simulator Z-80
b. Petunjuk Keselamatan Kerja
1. Berhati-hatilah dengan kabel yang terhubung dengan listrik PLN 220 V
2. Jangan makan dan minum di dalam Lab atau dekat perangkat Komputer
3. Gunakan pakaian praktik ketika memasuki lab. Komputer.
c. Langkah Kerja
1. Siapkan komputer dan buka Simulator Z-80.
2. Akan muncul tampilan sebaga berikut :

3. Pilih Tools > Assembler

4. Ketikan program yang akan dibuat dengan bahasa assembler


Contoh :
LD A, 19h
RST 38h
5. Simpan program dengan cara pilih File > save.

Modul arsitekture mikrokontroler 13


6. Compile dengan cara pilih Tools > Assemble.
7. Jika berhasil akan muncul notifikasi errors = 0 pada bagian bawah window.

8. Untuk memasukan program pilih Tools > Load


9. Kemudian pada simulator pilih Simulation > 1 Start
10. Untuk menjalankan program step by step pilih STEP
11. Untuk melihat hasil pada Register terdapat pada bagian Main registers

12. Untuk melihat hasil pada Alamat Memori pilih Tools > Memory Editor

Modul arsitekture mikrokontroler 14


d. Latihan Simulasi Transfer Data
Lakukan langkah 1 – 12 ( pada langkah 4 ketik program sesuai instruksi transfer
data lakukan dari instruksi 1 sd 2 secara bertahap)
1) Menyimpan data pada register
 Isi register A dengan data 19 hex

Alamat
Assembly Hasil Keterangan
Memori

0000 LD A, 19h A  19 h muati register A dengan data 19h


0001
RST 38h FF Mengakhiri program

2) Menyimpan data pada pasangan register

Alamat
Assembly Hasil Keterangan
Memori

0000 LD BC,0F25h B  0F h Memasukkan data 0F25 hex. ke


C  25 h pasangan reg. BC
0003
RST 38h FF Mengakhiri program

3) Memindahkan data dari register ke register lainnya.

Modul arsitekture mikrokontroler 15


Alamat
Assembly Hasil Keterangan
Memori

0000 LD A, 19h A  19 h muati register A dengan data 19h


0001 LD D, A D  19 h meng-copy-kan ke register D data
dari register A.
0002
RST 38h FF Mengakhiri program

4) Memindahkan data dari register ke memori.

Alamat
Assembly Hasil Keterangan
Memori

0000 LD E, 7Ch E  7C h Mengisi register E dengan data 7C


hex
0002 LD HL, H  1A h Mengisi pasangan register HL
1A00h L  00 h dengan data 1A00
0005 LD (HL), E 1A00  7C h Memindahkan data dari register E
ke alamat memori yang ditunjuk
oleh pasangan register HL
0006
RST 38h FF Mengakhiri program

5) Memindahkan data dari memori ke register

Alamat
Assembly Hasil Keterangan
Memori

0000 LD B, 1Ch B  1C h Mengisi register B dengan data 1C


hex
0002 LD HL, H  19 h Mengisi pasangan register HL
1900h L  00 h dengan data 1900
0005 LD B, (HL) B  55 h Memindahkan data dari alamat
memori yang ditunjuk oleh
pasangan register HL ke register B
0006
RST 38h FF Mengakhiri program

Modul arsitekture mikrokontroler 16


2. Kegiatan Belajar 2 : Memahami Instruksi Aritmatika
Dalam mikroprosesor Zilog Z-80 CPU instruksi-instruksi aritmetika yang tersedia jumlahnya
terbatas pada instruksi penjumlahan (ADD dan ADC) dan pengurangan (SUB dan SBC) saja.
Bagaimana dengan operasi aritmetika perkalian dan pembagian?. Persoalan aritmetika
perkalian dan pembagian dapat diselesaikan dengan menggabungkan beberapa instruksi yang
tersedia dalam program subroutin. Perkalian adalah penjumlahan berulang. Pembagian adalah
pengurangan berulang. Kebutuhan hitung menghitung lazimnya didasarkan bilangan desimal.
Pada mikroprosesor operasi penjumlahan dan pengurangan dilakukan dalam sistim
komplemen berbasis dua. Instruksi Decimal Addjust Accumulator (DAA) disediakan untuk
memberikan faktor koreksi pada saat kita bekerja dalam sistim bilangan decimal dalam kode
BCD. Instruksi CP,s disediakan untuk membandingkan isi akumulator dengan sebuah data
tanpa merubah isi akumulator. Instruksi ini memberikan akibat pada perubahan register flag
sebagai status pembandingannya. Status tersebut diantaranya adalah (S=Sign, Z=Zerro,
H=Half Carry, dan C=Carry). Dalam melaksanakan instruksi pembandingan, mikroprosesor
menggunakkan sistim bilangan komplemen dua. Pada sistim komplemen dua bilangan terkecil
adalah 80H = 1000 0000B = – 128 dan bilangan terbesar adalah 7F = 0111 1111, +127.
2.1 Operasi Adder (ADD)/Penjumlah
Adder/Penjumlah adalah operasi yang digunakan untuk menjumlahkan dua buah data
hexadecimal yang berada di register dengan register atau data di register dengan data di
memori. Syarat untuk menjumlahkan dua buah data hexadecimal tersebut ialah salah satu
data harus berada di Accumulator, sedang data yang lain berada di salah satu register. Hasil
dari penjumlahan dua data tersebut berada di Accumulator.
Format : ADD A, r
Dimana ADD A : perintah tambahkan Accumulator
r : nama register
Contoh :
 Mengisi register C dengan data 21 hex.
 Mengisi register L dengan data 12 hex.

Modul arsitekture mikrokontroler 17


 Copy-kan ke Accumulator data dari register C
 Tambahkan data di Accumulator dengan data di register L
 Akhir program.

Alamat
Assembly Hasil Keterangan
Memori

0000 C  21 h
LD C,21h Mengisi register C dengan data 21 hex.

0002 L 12 h
LD L,12h Mengisi register L dengan data 12 hex.

0004 A  21
Pindahkan ke Accumulator data dari register
LD A,C C

0005 A  33 h
Tambahkan data di Accumulator dengan
ADD A,L data di register L

0006
RST 38h FF Mengakhiri program

2.2 Operasi Substractor (SUB)/Pengurang


Operasi SUB/pengurang digunakan untuk mengurangkan dua buah data hexadecimal yang
berada di register dengan register atau data di register dengan data di memori. Syarat untuk
operasi pengurangan dua buah data hexadecimal tersebut ialah data yang dikurangi harus
berada di Accumulator, sedang data pengurang berada di salah satu register. Hasil operasi
tersimpan di Accumulator.
Format : SUB r
Dimana SUB : perintah kurangi Accumulator
r : nama register
Contoh :
 Mengisi register D dengan data 0E hex.
 Mengisi register E dengan data 05 hex.
 Copy-kan ke Accumulator data dari register D

Modul arsitekture mikrokontroler 18


 Kurangi data di Accumulator dengan data di register E
 Pindahkan/copy ke register H data dari Accumulator
 Akhir program

Alamat
Assembly Hasil Keterangan
Memori

0000 D  0E h
LD D,0Eh Mengisi register D dengan data 0E hex.

0002 E  05 h
LD E,05h Mengisi register E dengan data 05 hex.

0004 A  0E h
Pindahkan ke Accumulator data dari register
LD A,D D

0005 A  09 h
Kurangi data di Accumulator dengan data di
SUB E register E

0006 H  09 h
Pindahkan/copy ke register H data dari
LD H,A Accumulator

0007
RST 38h FF Mengakhiri program

2.3 Operasi Increment (INC)


Operasi increment ialah operasi yang digunakan untuk menaikan satu tingkat atau
menambah dengan satu nilai suatu bilangan pada register. Bila suatu register dijalankan
operasi INC, maka nilai bilangan pada register tersebut akan naik satu tingkat atau
bertambah satu.
Format : INC r
Dimana INC : perintah tambah dengan satu
r : nama register
Contoh :
 Masukkan data 00 hex. pada accumulator
 Masukkan data FF hex. pada register B
 Tambah dengan satu (INC) data pada accumulator
 Tambah dengan satu (INC) data pada register B
 Akhir program
Modul arsitekture mikrokontroler 19
Alamat
Assembly Hasil Keterangan
Memori

0000 A  00 h
LD A,00h Mengisi register A dengan data 00 hex.

0002 B  05 h
LD B,05h Mengisi register B dengan data 05 hex.

0004 A  01 h
INC A Tambah dengan satu data pada accumulator

0005 B  06 h
INC B Tambah dengan satu data pada register B

0007
RST 38h FF Mengakhiri program

2.4 Operasi Decrement (DEC)


Operasi decrement ialah operasi yang digunakan untuk menurunkan satu tingkat atau
mengurangi dengan satu nilai suatu bilangan pada register. Bila suatu register dijalankan
operasi DEC, maka nilai bilangan pada register tersebut akan turun satu tingkat atau
berkurang satu.
Format : DEC r
Dimana INC : perintah kurangi dengan satu
r : nama register
Contoh :
 Masukkan data 00 hex. pada accumulator
 Masukkan data FF hex. pada register B
 Kurangi dengan satu (DEC) data pada accumulator
 Kurangi dengan satu (DEC) data pada register B
 Akhir program

Modul arsitekture mikrokontroler 20


Alamat
Assembly Hasil Keterangan
Memori

0000 A  07 h
LD A,07h Mengisi register A dengan data 07 hex.

0002 B  0E h
LD B,0Eh Mengisi register B dengan data 0E hex.

0004 A  06 h
DEC A Kurangi dengan satu data pada accumulator

0005 B  0D h
DEC B Kurangi dengan satu data pada register B

0006
RST 38h FF Mengakhiri program

2.6 Latihan
a. Alat dan Bahan
1. Kertas 1 Lembar
2. Alat Tulis (Pena) 1 buah
3. Komputer
4. Software Simulator Z-80
b. Petunjuk Keselamatan Kerja
1. Berhati-hatilah dengan kabel yang terhubung dengan listrik PLN 220 V
2. Jangan makan dan minum di dalam Lab atau dekat perangkat Komputer
3. Gunakan pakaian praktik ketika memasuki lab. Komputer.
c. Langkah Kerja
1. Siapkan komputer dan buka Simulator Z-80.
2. Akan muncul tampilan sebaga berikut :

Modul arsitekture mikrokontroler 21


3. Pilih Tools > Assembler

4. Ketikan program yang akan dibuat dengan bahasa assembler


Contoh :
LD A, 19h
RST 38h
5. Simpan program dengan cara pilih File > save.
6. Compile dengan cara pilih Tools > Assemble.
7. Jika berhasil akan muncul notifikasi errors = 0 pada bagian bawah window.

Modul arsitekture mikrokontroler 22


8. Untuk memasukan program pilih Tools > Load
9. Kemudian pada simulator pilih Simulation > 1 Start
10. Untuk menjalankan program step by step pilih STEP
11. Untuk melihat hasil pada Register terdapat pada bagian Main registers

12. Untuk melihat hasil pada Alamat Memori pilih Tools > Memory Editor

Modul arsitekture mikrokontroler 23


d. Latihan Simulasi Transfer Data
Lakukan langkah 1 – 12 ( pada langkah 4 ketik program sesuai instruksi aritmatika
lakukan dari 1 sd 4 secara bertahap)
1) Operasi Adder (ADD)/Penjumlah

Alamat
Assembly Hasil Keterangan
Memori

0000 C  21 h
LD C,21h Mengisi register C dengan data 21 hex.

0002 L 12 h
LD L,12h Mengisi register L dengan data 12 hex.

0004 A  21
Pindahkan ke Accumulator data dari register
LD A,C C

0005 A  33 h
Tambahkan data di Accumulator dengan
ADD A,L data di register L

0006
RST 38h FF Mengakhiri program

2) Operasi Substractor (SUB)/Pengurang


Modul arsitekture mikrokontroler 24
Alamat
Assembly Hasil Keterangan
Memori

0000 D  0E h
LD D,0Eh Mengisi register D dengan data 0E hex.

0002 E  05 h
LD E,05h Mengisi register E dengan data 05 hex.

0004 A  0E h
Pindahkan ke Accumulator data dari register
LD A,D D

0005 A  09 h
Kurangi data di Accumulator dengan data di
SUB E register E

0006 H  09 h
Pindahkan/copy ke register H data dari
LD H,A Accumulator

0007
RST 38h FF Mengakhiri program

3) Operasi Increment (INC)

Alamat
Assembly Hasil Keterangan
Memori

0000 A  00 h
LD A,00h Mengisi register A dengan data 00 hex.

0002 B  05 h
LD B,05h Mengisi register B dengan data 05 hex.

0004 A  01 h
INC A Tambah dengan satu data pada accumulator

0005 B  06 h
INC B Tambah dengan satu data pada register B

0007
RST 38h FF Mengakhiri program

4) Operasi Decrement ( DEC)

Alamat
Assembly Hasil Keterangan

Modul arsitekture mikrokontroler 25


Memori

0000 A  07 h
LD A,07h Mengisi register A dengan data 07 hex.

0002 B  0E h
LD B,0Eh Mengisi register B dengan data 0E hex.

0004 A  06 h
DEC A Kurangi dengan satu data pada accumulator

0005 B  0D h
DEC B Kurangi dengan satu data pada register B

0006
RST 38h FF Mengakhiri program

D. EVALUASI
1. Lengkapi tabel dibawah ini :
No. Assembly Kategori Hasil
1. LD A , 93H Menyimpan data pada register A = 93
2. LD B , A ...................................................... ..........................
3. LD C , B ...................................................... ..........................
4. LD D , C ...................................................... ..........................
5. LD E , D ...................................................... ..........................
6. LD H , 19H ...................................................... ..........................
7. LD L , 90H ...................................................... ..........................
8. LD (HL) , 64H ...................................................... ..........................
9. LD B , (HL) ...................................................... ..........................
10. LD A , (1990) ...................................................... ..........................
11. LD (1991) , A ...................................................... ..........................
12. RST 38

2.
1. Assembly Kategori Hasil
N

Modul arsitekture mikrokontroler 26


1. LD A,15h Menyimpan data pada register A = 93
2. LD B,7Dh ...................................................... ..........................
3. LD C,9Bh ...................................................... ..........................
4. LD D,8Ch ...................................................... ..........................
5. INC A ...................................................... ..........................
6. ADD A,B ...................................................... ..........................
7. INC B ...................................................... ..........................
8. INC C ...................................................... ..........................
9. ADD A,C ...................................................... ..........................
10. INC D ...................................................... ..........................
11. SUB D ...................................................... ..........................
12. DEC D ...................................................... ..........................

13 DEC C ...................................................... ..........................

14 SUB C ...................................................... ..........................

15 RST 38h ...................................................... ..........................

3. Jelaskan maksud pengguanan ADD, SUB, INC dan DEC !


4. Jelaskan maksud penggunaan LD(HL),64H pada tabel diatas !
5. Buat Kesimpulan darai hasil percobaan

Kegiatan Belajar 3: Aplikasi sederhana input/output Mikroprosesor


A. Kompetensi Dasar Dan Indikator Pencapaian Kompetensi
3.5 Merencana-kan aplikasi sederhana sistem minimum mikroprosesor

Modul arsitekture mikrokontroler 27


Indikator:
3.5.1. Memahami pemrograman input-output digital pada mikroprosesor
3.5.2. Memahami pemrograman input-output analog pada mikroprosesor
4.5 Membuat program aplikasi sederhana sistem minimum mikroprosesor
Indikator:
4.5.1. Membuat program input-output digital dengan menggunakan perangkat
lunak dan interprestasi data hasil pemrograman
4.5.2. Membuat program input-output analog dengan menggunakan perangkat
lunak dan interprestasi data hasil pemrograman
B. Tujuan Pembelajaran
Setelah menyelesaikan materi dan melihat demonstrasi, peserta didik diharapkan dapat :
1. Menjelaskan pemrograman input-output digital pada mikroprosesor dengan benar
2. Menjelaskan pemrograman input-output analog pada mikroprosesor dengan baik
3. Membuat program input-output digital dengan menggunakan perangkat lunak dan
interprestasi data hasil pemrograman dengan benar
4. Membuat program input-output analog dengan menggunakan perangkat lunak dan
interprestasi data hasil pemrograman dengan baik

C. Dasar Teori
Bagian I/O menggunakan IC PPI 8255, Z-80 PIO, dan CTC. PPI 8255 digunakan untuk
interface ke Keypad dan monitor seven segment. Gambar dibawah menunjukkan
rangkaian interface monitor seven segment dan Keypad MPF-I. Pada port B PPI 8255
digunakan sebagai saluran data ke 7 segmen common cathode, sehingga 7 segmen akan
menyala jika diberikan data High (1) . Adapun urutan data 7 segmen pada port B PPI 8255
sebgai berikut:

Port PPI B7 B6 B5 B4 B3 B2 B1 B0
7 Segment d dot c b a f g e
Data port B dengan pin 7 segmen

Modul arsitekture mikrokontroler 28


Interfece Monitor - Keypad MPF-I

IC Z-80 PIO digunakan sebagai IC peripheral pemrogram I/O, dan CTC digunakan untuk
pemrograman Timer Counter. Peta pengalamatan I/O ketiga IC tersebut digambar seperti
gambar berikut.

Peta I/O Komputer Mikro MPF-I

Modul arsitekture mikrokontroler 29


3.1 Latihan
a. ALAT DAN BAHAN
1. Kertas 1 Lembar
2. Alat Tulis (Pena) 1 buah
3. Modul MPF-1 1 buah
4. Adaptor MPF-1 1 buah
5. Tabel Operational Code 1 buah

b. PETUNJUK KESELAMATAN KERJA


1. Jangan makan dan minum di dalam Lab atau dekat perangkat Komputer
2. Gunakan pakaian praktik ketika memasuki lab. Komputer.
3. Berhati-hati saat menggunakan alat praktik

c. LANGKAH KERJA
1. Siapkan alat dan bahan yang telah tersedia.
2. Isikan operational code (Op-Code) sesuai dengan perintah Assembly pada tabel
percobaan
3. Hubungkan adaptor MPF-1 dengan modul MPF-1
4. Hubungkan adaptor ke jala-jala listrik PLN
5. Tekan tombol ADDR
6. Masukan Address sesuai dengan alamat tabel percobaan
7. Tekan tombol Data
8. Masukan data sesuai dengan Op-Code tabel percobaan
9. Ulangi semua langkah hingga semua Op-Code dimasukan
10. Kembali ke Alamat/Address awal program (1800)
11. Tekan tombol GO
12. Amati hasil percobaan program
13. Simpulkan hasil yang didapat
14. Rapikan peralatan praktik
15. Mengembalikan peralatan praktik ke tempat semula

Modul arsitekture mikrokontroler 30


d. PERCOBAAN
Percobaan 1 :

Addr Op-code No Label Assembly keterangan

1 Program 1 : menyalakan tulisan 123456 berkedip tiap 1


detik
2

3 SCAN1 EQU 0624H

4 ORG1800

1800 21 13 18 5 LD HL, ANGKA

1803 E5 6 PUSH HL

1804 DD 21 19 18 7 LD IX, PADAM

1808 DD E3 8 Kedip EX(SP), IX

180A 06 64 9 LD B, 64H 64H=100D>pengali

10

180C CD 24 06 11 Tampil CALL SCAN1

180F 10 FB 12 DJNZ Tampil

1811 18 F5 13 JR Tampil

14

1813 AF 15 ANGKA DB AFH Data angka 6

1814 AE 16 DB AEH Data angka 5

Modul arsitekture mikrokontroler 31


1815 36 17 DB 36H Data angka 4

1816 BA 18 DB BAH Data angka 3

1817 9B 19 DB 9BH Data angka 2

1818 30 20 DB 30H Data angka 1

1819 00 21 PADAM DB 00H Data PADAM

181A 00 22 DB 00H Data PADAM

181B 00 23 DB 00H Data PADAM

181C 00 24 DB 00H Data PADAM

181D 00 25 DB 00H Data PADAM

181E 00 26 DB 00H Data PADAM

27 END

e. EVALUASI
1. Ubahlah program pada percobaan 1 menjadi angka yang tertampil adalah 6 5 4 1
2 3 , dengan interval kedip 2 detik
2. Ubahlah program pada percobaan 1 menjadi tertampil huruf H E LL O O ,
dengan interval kedip 2 detik

f. KESIMPULAN

Modul arsitekture mikrokontroler 32


....................................................................................................................................................
....................................................................................................................................................
...............................................................................

Daftar Pustaka

1. Sistem Mikroprosesor dan Mikrokontroler. Dr. Putu Sudira, M.P. 2014 FT


UNY.
2. Modul Teknik Mikroprosessor Z-80. Sudi Rahardja. ST. 2016.
3. BSE Sistem Kontrol Terprogram , Kementrian Pendidikan dan Kebudayaan
Republik Indonesia, 2013 Jakarta

Modul arsitekture mikrokontroler 33


Modul arsitekture mikrokontroler 34

Anda mungkin juga menyukai