BAHAN AJAR
TEKNIK AUDIO VIDEO
KELAS XI
SEMESTER GANJIL
SMK N 3 YOGYAKARTA
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
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.
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.
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).
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 :
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
12. Untuk melihat hasil pada Alamat Memori pilih Tools > Memory Editor
Alamat
Assembly Hasil Keterangan
Memori
Alamat
Assembly Hasil Keterangan
Memori
Alamat
Assembly Hasil Keterangan
Memori
Alamat
Assembly Hasil Keterangan
Memori
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
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
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
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 :
12. Untuk melihat hasil pada Alamat Memori pilih Tools > Memory Editor
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
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
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
Alamat
Assembly Hasil Keterangan
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
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
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.
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
4 ORG1800
1803 E5 6 PUSH HL
10
1811 18 F5 13 JR Tampil
14
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
Daftar Pustaka