Laporan Praktikum Mikrokontroller Dan Interfacing

Embed Size (px)

DESCRIPTION

Laporan Praktikum Mikrokontroller Dan Interfacing

Citation preview

LAPORAN PRAKTIKUM MIKROKONTROLLER DAN INTERFACING

PERCOBAAN 1

Kelompok 2 :

Ghulam Akrim

(115090800111008)

M. Zainulloh

(115090800111009)

Machfud Muthohar(115090800111010)

M. Feggy Okta

(115090800111011)

A. Reza Fathan

(115090801111001)

Rizal Yulistio

(115090801111002)

LABORATORIUM ELEKTRONIKA &INSTRUMENTASI

JURUSAN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS BRAWIJAYAMALANG2013

LEMBAR PENILAIAN PRAKTIKUM

Percobaan I

KELOMPOK 2Tanggal masuk laporan

:

Pukul

:

Paraf

:

Tanggal

:

Tanggal :

Korektor

Asisten

(

)

(

)

Co. Asisten

(

)

Catatan:

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Tanggal masuk revisi

:

Pukul

:

Nilai SementaraNilai Akhir

BAB I

PENDAHULUAN1.1Tujuan Praktikum

Tujuan dari praktikum ini adalah agar peserta praktikum dapat memahami penggunaan dan karakteristik software maupun hardware dari mikrokontroller, serta cara penggunaan bahasa C untuk menyalakan LED.1.2Dasar Teori

Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih. Tidak seperti sistem komputer, yang mampu menanganiberbagai macam program aplikasi (misalnya pengolah kata, pengolah angkadan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan (Setiawan, 2008).

Mikrokontroler AVR merupakan pengontrol utama standar industri dan riset saat ini. Hal ini dikarenakan berbagai kelebihan yang dimilikinya dibandingkan mikroprosesor, yaitu murah, dukungan software dan dokumentasi yang memadai, dan memerlukan komponen pendukung yang sangat sedikit. Salah satu tipe mikrokontroler AVR untuk aplikasi standar yang memiliki fitur memuaskan ialah ATmega 16. untuk menentukan mikrokontroler mana yang ingin digunakan, dapat melihat spesifikasi yang diinginkan. Beberapa faktor penting yang menjadi pertimbangan antara lain: harga mikrokontroler, ukuran memori mikrokontroler, fitur ADC, timer, dan fasilitas komunikasi I2C, fitur utama lain seperti pengontrol utama akuisisi data, penampil LCD, dan lainnya, kecepatan eksekusi instruksi, fasilitas single cycle hardware multiplier (untuk aplikasi DSP) dan dukungan software yang digunakan (Suhata, 2005).

Mikrokontroler AVR (Alf and Vegard's Risc Processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam satu siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga Attiny, keluarga AT90Sxx, keluarga Atmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya (Budiharto, 2008).

Pada gambar dibawah ini terdapat 4 buah port, yaitu PA, PB, PC, dan PD yang semuanya dapat diprogram sebagai input atau output. Jika dilihat lebih detail lagi, pada bagian pemroses mikrokontroler ini terdapat unit CPU utama untuk memastikan eksekusi program. CPU juga dapat mengakses memori, melakukan kalkulasi, pengontrolan, dan penanganan interupsi. Ini dilakukan menggunakan arsitektur harvard (bus untuk memori, program, dan data terpisah) sehingga dihasilkan performa yang tinggi. Hal ini dikarenakan instruksi pada memori program dieksekusi dengan single level pipelinig. Dengan demikian, pada saat sebuah instruksi dieksekusi, instruksi berikutnya dapat diakses dari memori program. Konsep ini memungkinkan instruksi dieksekusi pada setiap clock. PIN I/O pada mikrokontroler AVR dapat dikonfigurasi sebagai input atau output dengan cara mengubah isi I/O dari data direction register. Setiap PIN I/O mikrokontroler AVR memiliki internal pull up resistor (Nalwan, 2008).

Gambar 1 : Mikrokontroler Atmega 8535Mikrokontroler ATmega 8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.

Memori program ATmega 8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h 0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi.

Memori data ATmega 8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega 8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.

Memori EEPROM memiliki memori sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM (Aryanto, 2006).

BAB IIMETODOLOGI2.1Alat dan KomponenAlat dan komponen yang digunakan dalam praktikum kali ini adalah modul mikrokontroler ATmega 8535 beserta downloadernya, kabel USB serta PC/laptop yang sudah terinstal program AVR Studio.2.2Tata Laksana Percobaan

Tata Laksana percobaan ini adalah yang pertama dilakukan adalah dipersiapkan modul mikrokontroler serta diinstal software AVR pada laptop/PC. Yang digunakan dalam praktikum kali ini adalah AVR Studio. Dibuka AVR Studio, dan dipilih tipe project(), diberi nama project tersebut, dan kemudian dipilih mikrokontroler AVR mana yang digunakan sebagai modul untuk praktikum. Dibuat source code pada program AVR studio sesuai ketentuan. Ketentunnya adalah lampu LED menyala secara bergantian satu demi satu secara berurutan. Setelah program selesai dibuat, compile program yang telah kita buat tadi dengan menu build solution (), dan kemudian cari file hexa (.hex) dari program yang kita buat untuk dimasukkan ke dalam mikrokontroler. Buka file .hex menggunakan program notepad. Dijalankan dengan downloader untuk melihat hasil menyala atau tidaknya lampu LED.BAB IIIPEMBAHASAN

3.1Hasil Percobaan

Yang digunakan dalam praktikum ini adalah mikrokontroler ATmega 8535. Pada AVR ATmega 8535 ini digunakan LED aktif rendah, sehingga LED akan hidup saat diberi input berlogika 0 dan akan mati pada input berlogika 1. Keadaan yang diinginkan adalah lampu LED menyala satu per satu secara bergantian dan berurutan.3.1.1 Kode Program C

Kode program dikatakan telah benar, jika setelah di build solution muncul informasi berikut:

Bentuk file .hex : Bentuk file .hex :

3.2Pembahasan

Mikrokontroler AVR merupakan pengontrol utama standar industri dan riset saat ini. Hal ini dikarenakan berbagai kelebihan yang dimilikinya dibandingkan mikroprosesor, yaitu murah, dukungan software dan dokumentasi yang memadai, dan memerlukan komponen pendukung yang sangat sedikit. Salah satu tipe mikrokontroler AVR untuk aplikasi standar yang memiliki fitur memuaskan ialah ATmega 8535. Mikrokontroler AVR (Alf and Vegard's Risc Processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Mikrokontroler ATmega 8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM.

Pada gambar diatas ini terdapat 4 buah port, yaitu PA, PB, PC, dan PD yang semuanya dapat diprogram sebagai input atau output. Jika dilihat lebih detail lagi, pada bagian pemroses mikrokontroler ini terdapat unit CPU utama untuk memastikan eksekusi program. CPU juga dapat mengakses memori, melakukan kalkulasi, pengontrolan, dan penanganan interupsi. Ini dilakukan menggunakan arsitektur harvard (bus untuk memori, program, dan data terpisah) sehingga dihasilkan performa yang tinggi. Hal ini dikarenakan instruksi pada memori program dieksekusi dengan single level pipelinig. Dengan demikian, pada saat sebuah instruksi dieksekusi, instruksi berikutnya dapat diakses dari memori program. Konsep ini memungkinkan instruksi dieksekusi pada setiap clock. PIN I/O pada mikrokontroler AVR dapat dikonfigurasi sebagai input atau output dengan cara mengubah isi I/O dari data direction register. Setiap PIN I/O mikrokontroller AVR memiliki internal pull up resistor.Pada percobaan digunakan mikrokonroler AVR Atmega 8535 dan menggunakan software AVR Studio. Pada AVR ATmega 8535 ini digunakan LED aktif rendah, sehingga LED akan hidup saat diberi input berlogika 0 dan akan mati pada input berlogika 1. Keadaan yang diinginkan adalah lampu LED menyala satu per satu secara bergantian dan berurutan. Program ditulis dalam bahasa C. #include digunakan sebagai suatu pengarah yang menyatakan adanya input dan output dalam mikrokontroler.

#include digunakan sebagai suatu pengarah adanya delay (waktu tunda) di mikrokontroler #define F_CPU 11509200UI digunakan sebagai penanda bahwa yang digunakan adalah mikrokontroler ATmega 8535 DDRC=0xFF; digunakan sebagai posisi awal (LED mati semua) atau dalam bilangan biner 0b11111111 while(1) digunakan sebagai perintah mengulang terus-menerus PORTC=0xFE; digunakan sebagai posisi pertama, dalam bilanagan biner 0b11111110 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xFD; digunakan sebagai posisi kedua, dalam bilanagan biner 0b11111101 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xFB; digunakan sebagai posisi ketiga, dalam bilanagan biner 0b11111011 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xF7;digunakan sebagai posisi keempat, dalam bilanagan biner 0b11110111 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xEF; digunakan sebagai posisi kelima, dalam bilanagan biner 0b11101111 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xDF; digunakan sebagai posisi keenam, dalam bilanagan biner 0b11011111 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0xBF; digunakan sebagai posisi ketujuh, dalam bilanagan biner 0b10111111 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekon PORTC=0x7F; digunakan sebagai posisi kedelapan, dalam bilanagan biner 0b01111111 _delay_ms(500); digunakan sebagai waktu delay selama 500 mili sekonBAB IVPENUTUP

4.1Kesimpulan

Salah satu tipe mikrokontroler AVR untuk aplikasi standar yang memiliki fitur memuaskan ialah ATmega 8535. Mikrokontroler AVR (Alf and Vegard's Risc Processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Mikrokontroler ATmega 8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. ATmega 8535 terdapat 4 buah port, yaitu PA, PB, PC, dan PD yang semuanya dapat diprogram sebagai input atau output. PIN I/O pada mikrokontroler AVR dapat dikonfigurasi sebagai input atau output dengan cara mengubah isi I/O dari data direction register. Setiap PIN I/O mikrokontroler AVR memiliki internal pull up resistor. Pada percobaan digunakan mikrokonroler AVR ATmega 8535 dan menggunakan software AVR Studio. Pada AVR ATmega 8535 ini digunakan LED aktif rendah, sehingga LED akan hidup saat diberi input berlogika 0 dan akan mati pada input berlogika 1.

4.2Saran

Dalam praktikum ini disarankan agar selain memakai mikrokontroler AVR ATmega 8535, juga dipakai ATmega 16, agar bisa membedakan keduanya. DAFTAR PUSTAKA

Artanto, Dian. 2006. Merakit PLC Dengan Mikrokontroler. Jakarta: Elex Media Komputindo.Budiharto, Widodo. 2008. Panduan Praktikum Mikrokontroler AVR ATmega 16. Jakarta: Elex Media Komputindo.

Nalwan, Paulus Adi. Budiharto, Widodo. 2008. Membuat Sendiri Robot Humanoid. Jakarta : Elex Media Komputindo.Setiawan, Sultan. 2008. Belajar Mikrokontroler. Yogyakarta: Andi Publisher.Suhata. 2005. Aplikasi Mikrokontroler Untuk Elektronik. Jakarta : Elex Media Komputindo.