3 0 2 MB
LAPORAN RESMI PRAKTIKUM SISTEM MIKROPROSESOR SEMESTER GASAL/ 2019-2020
DOSEN PENGAMPU: HENDHI HERMAWAN NAMA MAHASISWA / NRP: MUHAMAD RIZQI PRATAMA / 1110181049
PROGRAM STUDI TEKNIK ELEKTRONIKA DEPARTEMEN TEKNIK ELEKTRO POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 2019
PRAKTIKUM MIKROPROSESOR & INTERFACE 1 PERCOBAAN III JUDUL : SIMULASI CLOSE LOOP CONTROL DASAR (1) : PENYALAAN LED MELALUI SWITCH YANG DIKNTROL OLEH RANGKAIAN BERBASIS CPU Z80
OBYEKTIF : 1. Memahami prinsip dasar minimum system CPU Z80 yang terdiri dari PU, Memory dan Peripheral Input/Output sebagai controller. 2. Praktikan dapat menganalogikan percobaan control loop tertutup ini, baik dari segi perangkat keras, maupun dari segi perangkat lunaknya (program), dengan system dan program kontrol loop tertutup yang sebenarnya (dimensi yang aplikatif)
PERALATAN : 1. Modul FZ80CPU 2. DC Power Supply (regulated +5V) 3. Modul FZ80 I/O
TEORI : Pengertian suatu sistem kontrol loop tertutup (close loop control) adalah sistem yang memiliki terminal masukan, terminal keluaran dan formulasi matematik fungsi output (terminal keluaran) terhadap input (terminal masukan) yang data terminal keluaran (output) sebagian atau sampling bagian outputnya diumpan balik ke terminal masukan untuk dijadikan pembanding atau pengurang nilai data referensi/input dan dapat mempengaruhi unuk kerja / kinerja keluaran dari sistem. Contoh analog fisik dalam sistem rangkaian kontrol yang sebenarnya, misalnya, suatu rangkaian pengontrol temperatur pada suatu boiler. Outputnya adalah berbentuk heater, sedang inputnya adalah berbentuk sensor temperatur, Metoda yang paling sederhana untuk merealisasikan algoritma program montrolnya adalah, bila suhu terlalu tingi (dibanding referensi yang telah diberikan), maka heater dimatikan. Sedang bia terlalu rendah, heater di nyalakan. Hubungan nputoutput inilah yang dinyatakan sebagai hubungan loop tertutup. Dalam hal ini, yang disebut sebagai rangkaian kontrol elektronik adalah mempunyai makna suatu sistem yang mempunyai piranti input dan piranti output. Piranti input berfungsi sebagai piranti
penerima data—data dari sistem yang dikontrl, sedang piranti output berfungsi sebagai pemberi ksi kepada sistem yang diontrol. Rangkaian kontrol elektronik berbasis mikroprosesor mempunyai pengertian yang lebi mendalam, baha otak dari rangkaian elektronik tersebut adalah suatu mikroprosesor dengan arahan operasi program kemudinya. Syarat bahwa rangkaian kontrol harus memiliki output sebagai actulator dan input yang biasa disebut sebagai sensor,menunjukkan baha ruang lingkup tata rangkaian atau perangkat kerasnya adalah amat relatif dan sangat tergantung dari permasalahan yang hendak dikontrolnya. Untuk itu setiap rangkaian kontrol berbasis mikroprosesor dapat menerapkan berbagai macam peripheral Input Output untuk membentuk fungsi sensor dan actuator itu. Realisasi perancangan dapat berkembang dari mulai satu bit input dan satu bit output sampai dengan umlah bit yang tak terhingga. Sistem rangkaian berbasi Mikroprosesor Z80 dalam bentuk yang paling ringkas tetapi telah memenuhi persyaratan sebagai sistem kontrol elektronik ditunjukkan dalam bentuk blok diagram dalam Gamabar 3-1 berikut ini.
Gambar 3-1. Blok Diagram Dasar Rangkaian berbasis Mikroprosesor Blok diagram di atas terdiri dari 3 komponen pendukung utama yaitu: 1. CPU / Mikroprosesor TMPZ84C00 2. Sistem Memory : dapat berupa EEPROM dan RAM, dan 3. Sistem piranti I/O (Input/Output) berupa IC pheriperal Piranti Input/Output dari system control di atas merupakan pintu gerbang hubungan ke system yang akan dikontrol. Aksi yang dikehendaki system control ini dapat diwujudkan sebagai perintah pengemudian suatu actuator, yang level awal keluaran dari system kontrolnya adalah level biner. Demikian pula untuk masukan yang akan dijadikan referensi aksi system control. Masukan ini diamati melalui gerbang Peripheral input, yang level akhir data diwujudkan dalam biner pula.
Gambar 3-2. Ilustrasi blok diagram State yang dikontrol Sedangkan yang disebut sebagai system yang dikontrol diilustrasikan pada Gambar 3-2. Blok diagram ini dapat mewakili seluruh model permasalahan yang dapat diatur dengan control elektronik. Terminal input, paling tidak, dapat terdiri dari sebuah jalur atau lebih (sekumpulan jalur) yang beroperasi pada logika digital. Demikian pula pada terminal output, dapat terdiri dari sebuah jalur atau lebih (sekumpulan jalur) yang beroperasi pada logika digital pula. Dalam praktek, terminal input maupun terminal output system yang dikontrol dapat beroperasi pada bermacam-macam besaran. Akan tetapi besaran ini harus diterjemahkan ke dalam besaran logika dengan level yang sesuai bila hendak dihubungkan ke system rangkaian berbasis mikroprosesor itu. Piranti-piranti penerjemah ini disebut dengan interface ke piranti Sensor dan Actuator. Bila system rangkaian control pada Gambar 3-1 digabung dengan rangkaian yang dikontrol maka blok diagramnya menjadi seperti gambar berikut.
Gambar 3-3. Ilustrasi Blok diagram Sistem rangkaian berbasis mikroprosesor yang digabung dengan system yang dikontrolnya Suatu sistem minimum yang menggunakan CPU Z80 dengan fasilitas 8 bit Input Port dan 8-bit Output Port dapat digambarkan sebagai berikut.
Gambar 3-4. Blok Input/Output pada Sistem Rangkaian Kontrol Berbasis Mikroprosesor dengan alamat kerja tertentu. Dalam percobaan ini Praktikan dapat mempelajari suatu teknik dasar untuk mengaktifkan input dan output Port dari suatu sistem minimum CPU Z80, sebagai analogi dari suatu sistem control loop tertutup. Setiap data yang di-set pada Input Port akan ditampilkan ke Output Port dalam bentuk nyala LED. PROSEDUR: 1. Menyiapkan papan rangkaian PZ80CPU dan FZ0I/O. Menghubungkan kedua papan rangkaian dengan kabel “flat” yang telah tersedia. (Menghubungkan dengan hati-hati. Dan hubungan antar muka tiap kabel pita dilihat dari pandangan atas konektornya adalah terbalik antara FZ80CPU dan FZ80 I/O). 2. Menyiapkan DC Power Supply dan modul DC Regulator +5V. Kemudian menghubungkan dengan FZ80CPU. Memastikan bahwa polaritas tidak terbalik. 3. Memeriksa kelengkapan komponen yang terpasang di FZ80CPU, terutama : pada soket IC1 harus terpasang RAM 62256, sedangkan soket IC2 kosong. Pada percobaan ini hanya memerlukan RAM pada soket IC1 saja. Mengatur posisi jumper JP1 s/d JP5 pada kedudukan 2-1-2-2-2. 4. Menyalakan sumber tegangan. Kemudian dengan fasilitas DMA, memasukkan program percobaan dibawah ini ke RAM 62256 sesuai dengan alamat-alamat dalam listing program. 0000 3E 8B
LD
A, 8BH
0002 D3 83
OUT
(83H), A
;INISIALISASI 8255
0004 DB 81 LOOP:
IN
A, (81H)
;BACA DATA DI SWITCH
0006 D3 80
OUT
(80H), A
;TULIS DI LED
0008 C3 04 00
JP
LOOP
;ULANGI
Gambar 3-5. Program Percobaan I/O No.1
5. Bila selesai, menguji program ini dengan mengatur kedudukan switch pada AUTO dan RUN. Mengamati jalannya program. Mencoba mengubah-ngubah dalam suatu system control loop tertutup. Mengamati apa yang terjadi pada tampilan LED sebagai terminal keluaran. Menganalisa dan memberi kesimpulan. 6. Mengulangi langkah 4 dan 5 untuk program-program berikut ini. 0000 3E 8B
LD
A, 8HH
0002 06 00
LD
B, 0
OUT
(83H), A
DJNZ
LAGI
0004 D3 83
LAGI:
0006 10 FD 0008 DB 81
LOOP: IN
;INISIALISASI 8255
A, (81H)
;BACA DATA DI SWITCH
000A 0F
RRCA
000B 0F
RRCA
000C D3 80
OUT
(80H), A
;TULIS DI LED
000E C3 08 00
JP
LOOP
;ULANGI
Gambar 3-6. Program Percobaan I/O No. 2 7. Mencoba juga langkah No. 4 dan 5 untuk program-program berikut ini. 0000 3E 8B
LD
A, 8BH
0002 06 00
LD
B, C
; 0004 D3 83 0006 10 FD
LAGI:
OUT
(83H), A
DJNZ
LAGI
;INISIALISASI 8255
; 0008 DB 81
LOOP: IN
A, (81H)
;BACA DATA DI SWITCH
000A 07
RLCA
000B 07
RLCA
000C 07
RLCA
000D 07
RLCA
000E 07
RLCA
000F D3 80
OUT
(80H), A
;TULIS DI LED
0011 C3 08 00
JP
LOOP
;ULANGI
Gambar 3-7. Program Percobaan I/O No. 3
0000 3E 8B
LD
A, 8BH
0002 06 00
LD
B,0 ;
0004 D3 83 0006 10 FD
LAGI:
OUT
(8BH), A
DJNZ
LAGI
;INISIALISASI 8255
; 0008 DB 81
LOOP: IN
A, (81H)
;BACA DATA DI SWITCH
000A EE FF
XOR
11111111B
000C D3 80
OUT
(80H), A
;TULIS DI LED
000E C3 08 00
JP
LOOP
;ULANGI
Gambar 3-8. Program Percobaan I/O No.4
PERTANYAAN DAN TUGAS: 1. Ubahlah program No. 1 sedemikian rupa hingga bila di RUN, tampilan LED yang bersesuaian tidak langsung menyala begitu switch di-ON-kan, tetapi menunggu sekitar satu detik. Jadi, dalam hal ini Anda harus menambahkan suatu program rutin DELAY. 2. Bagaimanakah data inisialisasi PPI8255 bila Output port diubah ke Port B, Input Port diubah ke Port A, sedang Port C sebagai output? 3. Bandingkan keempat program yang telah Anda uji coba. Diskusikan, dan tariklah suatu kesimpulan yang dihubungkan dengan fleksibilitas suatu system control berbasis mikroprosesor, tuliskan dalam Laporan Anda.
KUMPULAN LAPORAN SEMENTARA PRAKTIKUM SISTEM MIKROPROSESOR SEMESTER GASAL/ 2019-2020
DOSEN PENGAMPU: HENDHI HERMAWAN NAMA MAHASISWA / NRP: JUNIA ELEN MAULIDYA NATA / 1110191033 SUTAN FARHAN ADRIANSYAH / 1110181041 ADAM RAFLI AL HANIF / 1110181042 M. RIZQI PRATAMA / 1110181049
PROGRAM STUDI TEKNIK ELEKTRONIKA DEPARTEMEN TEKNIK ELEKTRO POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 2019
LAPORAN SEMENTARA Rabu ,26 september 2019 Lab : H102 (Lab Embedded) Anggota kelompok : 1. 2. 3. 4.
Junia Elen Maulidya Nata Sutan Farhan Adam Rafli M. Rizqi Pratama
(1110181033) (1110181041) (1110181042) (1110181049)
PRAKTIKUM KE 3 PROSES DESAIN PROGRAM SAMPAI BURNING KE EEPROM UNTUK SISTEM RANGKAIAN BERBASIS MIKROPROSESOR Z80
TUJUAN: 1. Mengenalkan konsep memory dan peta memory pada sistem minimum z80 2. Mengenalkan tata cara memproses program dari desain sampai langkah pemrograman EPROM / EEPROM 3. Mengenalkan proses pengembanganprogram menggunakan Bahasa assembly mulai dari editing hingga file siap digunakan pada mikroprosesor Z80 ALAT DAN BAHAN : 1. 2. 3. 4. 5. 6. 7.
Komputer (1 ) Universal Programmer (1) Modul FZ80 CPU (1) Powe Supply (1) Data Sheet Komponen : Z80 – CPU / PPI8255/ RAM 622556/ EEPROM 28C64B (1) IC 28C648 (EEPROM) dan RAM 62256 (1) Instruction Set Z80 (1)
SETTING PERCOBAAN (Terlampir) PROSEDUR PERCOBAAN: A. Menyiapkan File Assembly ( File dalam ekstensi *.ASM) 1. Membuat sebuah folder di drive computer, memastikan dalam folder tersebut terdapat file ZAS.EXE/OBJTOHEX.EXE/HEXTOBIN 2. Memastikan pada computer telah tersedia tools untuk teks editor. Teks editor yang bias digunakan seperti crimson editor dan notepad 3. Mengetik program assembly 4. Memastikan tidak ada kesalahan basis program 5. Menyimpan file dalam format Bahasa assembly dengan ekstensi *.ASM 6. File assembly siap digunakan
B. Melakukan proses kompilasi menggunakan Z80 assembler (ZAS.EXE) 1. Membuka command prompt mengarahkan drive ke lokasi file assembler 2. Memastikan file assembly dan assembler (ZAS.EXE) berada pada folder yang sama, bias digunakan diperintah DIR untuk memastikannya folder 3. Melakukan prose kompilasi dengan cara ketik ZAS.EXE-spasi-nama file.ASM 4. Jika terjadi kesalhan sintaks maka pesan kesalahan akan ditampilkan 5. Jika proses kompilasi berhasil maka akan dihasilakan file baru dengan ekstensi *.OBJ bias menggunakan perintah DIR untuk memastikannya. C. Melakukan proses konversi file OBJ ke INTEL HEX (OBJ TO HEX.EXE) 1. Membuka command prompt mengarahkan drive ke lokasi folder file object yang memiliki ekstensi *.OBJ. Memastikan file object terletak dalam saatu folder dengan tools OBJ TO HEX.EXE menggunakan perintah DIR untuk memastikannya 2. Melakukan proses konversi file object ke INTEL.HEX dengan cara mengetik OBJTOHEX.EXE-spasi-nama file. OBJ-spasi-nama file.HEX enter 3. Jika proses berhasil maka akan menghasilakn file baru dengan ekstensi *.HEX, bias menggunakan perintah DIR untuk memastikannya D. Mengisikan data ke EEPROM Melalui aplikasi TOPWIN 1. Menyiapkan Universal Proggramer lalu mengkoneksikan ke CPU 2. Membuka aplikasi TOPWIN 3. Memasang EEPRON ke Universal Programmer 4. Menekan sellesct chip, memilih EEP/FLASH>ATMEL>ATL 28C64B (sesuai EEPROM) E. Data Percobaan (Terlampir)
DATA PERCOBAAN
1. Percobaan A Step
Add
Data
Binner
Hexa
Biner
Hexa
1
0000 0000 0000 0000
0000
0000 0000 0011 0001
0031
2
0000 0000 0000 0011
0003
0000 0000 0000 0000
0000
3
0000 0000 0000 0100
0004
0000 0000 0000 0110
0006
4
0000 0000 0000 0110
0006
0000 0000 0000 0000
0000
5
0000 0000 0000 0111
0007
0000 0000 0001 0000
0010
6
0000 0000 0000 0110
0006
0000 0000 0000 0000
0000
7
0000 0000 0000 0111
0007
0000 0000 0001 0000
0010
8
0000 0000 0000 0110
0006
0000 0000 0000 0000
0000
9
0000 0000 0000 0111
0007
0000 0000 0001 0000
0010
10
0000 0000 0000 0110
0006
0000 0000 0000 0000
0000
11
0000 0000 0000 0111
0007
0000 0000 0001 0000
0010
12
0000 0000 0000 0011
0003
0000 0000 0000 0000
0000
13
0000 0000 0000 0100
0004
0000 0000 0000 0110
0000
Step
1 2 3 4 5 6 7 8 9
ADD
DATA
Binner
Hexa
Binner
Hexa
0000 0000 0000 0000 0000 0000 0000 0011 0000 0000 0000 0101 0000 0000 0000 0111 0000 0000 0000 1001 0000 0000 0000 1011 0000 0000 0000 0000 0000 0000 0000 0011 0000 0000 0000 0101
0000
0000 0000 0011 0001
0031
0003
0000 0000 0011 1110
003E
0005
0000 0000 1101 0011
00D3
0007
0000 0000 1101 1011
00DB
0009
0000 0000 1101 0011
00D3
0011
0000 0000 1100 0011
00C3
0000
0000 0000 0011 0001
0031
0003
0000 0000 0011 1110
003E
0005
0000 0000 1101 0011
00D3
ANALISA
Pada praktikum kali ini kami telah mempraktikkan proses merancang program sampai memburning nya ke EEPROM untuk system rangkaian berbasis mikroprosesor Z80. Ada empat buah program yang kami coba pada praktikum ini, Keempat program tersebut ditulis ke dalam text editor berupa notepad. Kemudian dilakukan kompilasi dengan menggunakan ZAS. EEPROM PROGRAMMER membaca program tersebut dalam bentuk heksa sehingga harus dilakukan konversi ke heksa dengan menggunakan file OBJTOHEX. Setelah kami burning programnya dan kami coba pada papan PCB kami dapatkan data output program hasil percobaan yang telah terlampir. Pada program yang pertama outptnya keluar setelah di step dua kali dan nilai output yang ditunjukkan oleh LED sama dengan nilai input yang telah diberikan pada SWITCH sebelumnya. Pada program yang kedua output keluar setelah diberikan empat kali STEP setelah memberi input dan nilai outputnya bergeser dua ke kanan dari inputnya. Pada program yang ketiga program muncul setelah diberikan STEP sebanyak tujuh kali dan nilai output yang ditunjukkan LED bergeser tiga ke kanan dari input yang diberikan. Lalu pada program yang keempat nilai output keluar setelah tiga kali STEP dan nilai outputnya adalah nilai inverse dari input yang diberikan, jika bit inputnya 1 maka akan menjadi 0 pada output dan jika bit inputnya 0 maka akan menjadi 1 pada output. Banyaknya STEP yang dilakukan dapat diatur dari program kita, input dimasukkan ketika data berupa DB dan output akan keluar pada saat data bernilai C3. KESIMPULAN
Berdasarkan data-data yang telah didapatkan dari hasil praktikumyang telah dilakukan, dapat disimpulkan bahwa: 1. EEPROM dapat enghapus program dengan menggunakan listrik. 2. EEPROM membaca program dalam bentuk bilangan hexadecimal sehingga program awal harus dikonversi dulu agar bias terbaca oleh EEPROM. 3. Kita bisa mengatur bagaimana EEPROM bekerja dengan membuat program yang kita inginkan dan memburningnya ke dalam EEPROM. 4. Dari program yang disediakan kita bisa membuat data output sama dengan input, bergeser sekian bit dari input, dan juga membuat nilai inverse dari input.