Lapres3-Muhamad Rizqi Pratama-1110181049 PDF [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

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.