Percobaan I I/O Dasar Laurensius Vandy Setiawan (13116034) Asisten : Nicolas J. (13115008) Tanggal Percobaan : 09/03/2019 EL3203 Praktikum Sistem Mikroprosesor Laboratorium Teknik Elektro Institut Teknologi Sumatera Abstrak—Pada praktikum modul ini, dilakukan beberapa percobaan untuk memahami penggunaan input maupun output pada port, melakukan implementasi dengan bahasa pemrograman C yang kemudian dapat diperiksa hasilnya melalui LED yang ada. Percobaan-percobaan yang dilaksanakan adalah penggunaan Port B sebagai input, pemanfaatan fasilitas delay pada AVR, serta penggunaan Port B sebagai output dan Port C sebagai input. Percobaan-percobaan tersebut dilakukan dengan menggunakan ATMega 8535 dan pengaturannya menggunakan bahasa C pada software Code Vision AVR dengan bantuan Khazama AVR Programmer. Hasil yang diharapkan adalah nyala LED yang merepresentasikan spesifikasi yang ditentukan. Kata Kunci—ATMega 8535, Delay, Input, Output. I. PENDAHULUAN P emahaman mengenai konfigurasi input dan output dasar adalah salah satu hal fundamental dalam penggunaan ATMega 8535.Adapun tujuan praktikum adalah sebagai berikut : Praktikan memahami datasheet ATMega 8535 Praktikan mampu membuat aplikasi input dan output pada AVR dengan menggunakan bahasa pemprograman C pada Code Vision AVR Praktikan memahami pengesetan fuse yang berkaitan dengan penggunakan besar dan jenis kristal . II. LANDASAN TEORETIS ATMega8535 Secara singkat, ATMega8535 memiliki beberapa kemampuan: Sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. Memiliki ADC (Pengubah analog-ke-digital) internal dengan ketelitian 10 bit sebanyak 8 saluran. Memiliki PWM (Pulse Width Modulation - Gelombang Sinyal Termodulasi) internal sebanyak 4 saluran. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik. Mikrokontroler ATMega8535 memiliki 40 pin untuk model PDIP, dan 44 pin untuk model TQFP dan PLCC. Nama-nama pin pada mikrokontroler ini adalah VCC untuk tegangan pencatu daya positif. GND untuk tegangan pencatu daya negatif. PortA (PA0 - PA7) sebagai port Input/Output dan memiliki kemampuan lain yaitu sebagai input untuk ADC PortB (PB0 – PB7) sebagai port Input/Output dan juga memiliki kemampuan yang lain. PortC (PC0 – PC7) sebagai port Input/Output untuk ATMega8535. PortD (PD0 – PD7) sebagai port Input/Output dan juga memiliki kemampuan yang lain. RESET untuk melakukan reset program dalam mikrokontroler. XTAL1 dan XTAL2 untuk input pembangkit sinyal clock. AVCC untuk pin masukan tegangan pencatu daya untuk ADC. AREF untuk pin tegangan referensi ADC. Mikrokontroler memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit(16-bits word)dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Mikrokontroler ATMega 8535 memiliki saluran I/O sebagai berikut: Port A(PA0 – PA7) merupakan pin I/O dua arah dan pin masukkan ADC Port B(PB0 – PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu timer/counter, komparator analog, dan SPI. Port C(PC0 – PC7) merupakan pin I/O dua arah dan yang terhubung dengan LED, maka nyala LED yang dihasilkan adalah sebagai berikut pin fungsi khusus, yaitu TWI, komparator analog, dan timer oscillator. Port D(PD0 – PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial. III. METODOLOGI A. Alat dan Bahan Starter-kit AVR DT-Combo USBasp Laptop yang sudah terinstal aplikasi Code Vision AVR dan Khazama AVR Programmer Jika dilihat dari LED yang menyala seluruhnya, maka output atau hasil yang dibuat sudah sesuai dengan spesifikasi yang diinginkan. B. Langkah Kerja Menyalakan Laptop, menyiapkan starter kit AVR DT-Combo. Menghubungkan starter kit dengan laptop. Melakukan instalasi driver. Menyusun rangkaian starter kit sesuai percobaan atau penggunaan port yang dibutuhkan. Merancang source code pada aplikasi Code Vision AVR untuk memenuhi spesifikasi yang dicantumkan pada modul. Menerapkan source code ke dalam starter kit. Tugas I.A.2 Pada percobaan ini, dilakukan perancangan program untuk menyalakan LED merepresentasikan biner dari angka tertentu. Angka yang diambil adalah 99. Dalam biner, 99 direpresentasikan dengan 01100011. Sedangkan dalam heksa, 99 direpresentasikan dengan 0x63. Untuk merancang program yang membuat LED menyala sesuai representasi biner dari 99, maka bagian “DDRB = 0xFF;” pada kode sebelumnya diubah menjadi “DDRB = 0x63;” seperti gambar berikut Sehingga menghasilkan nyala LED sebagai berikut Mengamati hasil melalui nyala LED dan mencatatnya. IV. HASIL DAN ANALISIS A. Tugas I.A : Port B Sebagai Output Tugas I.A.1 Jika dilihat dari gambar di atas, bit LED yang menyala adalah 0,1, 5, dan 6. Hal tersebut sesuai dengan representasi biner dari angka 99. B. Tugas I.B : Fasilitas Delay pada AVR Tugas I.B.1 Pada percobaan ini, dilakukan perancangan untuk membuat seluruh port B menjadi output. Hal ini ditunjukkan oleh bagian “DDRB = 0xFF;” Kemudian, setelah diterapkan pada ATMega 8535 Berdasarkan kode tersebut, maka LED 0 sampai 7 akan menyala jika masing-masing switchnya ditekan. Sebagai contoh, pada gambar berikut ditekan switch 2, 3, dan 4 secara bersamaan. Berdasarkan kode tersebut, dihasilkan nyala lampu LED secara keseluruhan mulai dari bit 0 sampai bit 7. LED menyala selama 500ms kemudian mati selama 500ms secara terus menerus sehingga menimbulkan efek berkedip. Tugas I.B.2 Menggunakan kode dari Tugas I.B.1, dilakukan modifikasi sehingga menghasilkan nyala LED yang merepresentasikan bentuk biner dari angka 99 yang menyala selama 500ms, kemudian mati selama 500ms secara terus menerus sehingga menimbulkan efek berkedip. Spesifikasi tersebut dicapai dengan kode berikut Tugas I.C.2 Pada percobaan ini dirancang program untuk hanya menyalakan LED sebagai representasi biner dari angka tertentu dengan switch. Angka yang diambil adalah 99. Dan kode yang dirancang adalah sebagai berikut C. Tugas I.C : Port B Sebagai Output Port C Sebagai Input Tugas I.C.1 Pada percobaan ini, dilakukan perancangan program untuk ATMega8535 yang menggunakan tambahan switch sebagai input. Secara sederhana, pada percobaan ini diinginkan LED yang dapat menyala hanya jika switch ditekan. Tujuan tersebut dicapai dengan kode berikut Berdasarkan kode tersebut, line 5 dan 6 mengatur bahwa LED yang akan digunakan atau dapat dinyalakan hanya LED yang merupakan representasi biner dari bilangan 99. LED lain yang tidak menjadi representasi biner dari bilangan 99 tidak akan dapat dinyalakan sekalipun switchnya ditekan. Berikut ini adalah contoh nyala LED saat switch ditekan sesuai representasi biner dari bilangan 99, yaitu switch 0, 1, 5, dan 6. Deklarasi 0x00 pada bagian DDR PORT digunakan untuk membuat keseluruhan suatu PORT menjadi bagian output. Pemanfaatan delay pada AVR dapat digunakan untuk merancang efek lampu berkedip, lampu berjalan, dll. REFERENSI [1] [2] V. SIMPULAN Deklarasi 0xFF pada bagian DDR PORT digunakan untuk membuat keseluruhan suatu PORT menjadi bagian input. Modul 1 Praktikum Sistem Mikroprosesor, Teknik Elektro Institut Teknologi Sumatera, Lampung Selatan, 2019. https://www.microchip.com/wwwproducts/en/ATmega8535.