Rabu, 30 Mei 2018

AKSES I/O

LAPORAN
PRAKTIK MIKROKONTROLLER
DOSEN PENGAMPU MUSLIKHIN, M.Pd.




AKSES I/O




Disusun oleh:
Istiqomah        16507134035  Angkatan 2016



TEKNIK ELEKTRONIKA-D3
PENDIDIKAN TEKNIK ELEKTRONIKA DAN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
2018






A.    TUJUAN
Setelah melakukan praktik mahasiswa diharapkan dapat:
1.    Memahami konfigurasi input AVR
2.    Memahami konfigurasi output AVR

B.     TEORI DASAR
Secara umum setiap mikrokontroler memiliki I/O port. Jumlahnya berbeda beda untuk masing masing mikrokontroler. Mikrokontroler AVR AT90SXXX juga memiliki I/O port yang jumlahnya bervariasi, dari mulai satu port hingga lebih dari empat port. Meskipun dari sisi jumlah berbeda, namun karakteristik I/O port mikrokontroler AVR adalah sama. Untuk lebih jelasnya anda dapat membaca datasheet dari mikrokontroler yang anda pakai.
Untuk mengakses port pada mikrokontoler AVR maka anda harus mengenal register yang ada pada I/O port. Ada tiga register bit pada I/O port yaitu DDRx, PORTx dan PINx. Register DDRx digunakan untuk menentukan apakah port tersebut akan dijadikan sebagai input atau output. Sedangkan register PORTx dipakai untuk mengirim data keluar dari port ketika DDRx diset sebagai output. Dan register PINx dipakai untuk membaca data pada port ketika DDRx diset sebagai input.
Karena ketiga register di atas adalah register bit maka masingmasing pin pada  port bisa diset secara bebas. Misalkan, kita menginginkan sebagian dari PORTA dijadikan sebagai input dan sebagian yang lain dijadikan sebagai output. Hal ini mudah dilakukan dengan mengatur register DDRA, sebagian sebagai input dan sebagian yang lain sebagai output. Agar pin pada port berfungsi sebagai input maka bit pada register DDRx diset 0. Sedangkan, pin pada port akan berfungsi sebagai output ketika bit pada register DDRx diset 1. Untuk lebih detailnya anda bisa membaca di datasheet.

C.    ALAT DAN BAHAN
a.    Modul AVR Atmega8535/8/16/32
b.    PC (Personal computer)/laptop
c.    Jumper

D.    SKEMA RANGKAIAN


E.     LANGKAH KERJA DAN PENGAMATAN
a.    Membuat alat dan bahan seperti rangkaian di atas;
b.    Membuat program seperti yang tertulis berikut, uji cobakan/simulasikanlah di Proteus lalu coba pada hardware nyata;
c.    Mencoba list program berikut;

#include <mega8535.h>

#include <delay.h>

unsigned char kiri=0b00000001, kanan=0b10000000;

void nyala_led() //menyalakan led selama 0.5 detik kemudian dimatikan
{
PORTA = 0xffh delay_ms(500); PORTA = 0×00;
}

void geser_led_kanan()
//fungsi untuk menggeser led berjalan kearah kanan
{
if (kanan ==0b00000001) kanan = 0b10000000; else kanan >>= 1;
PORT_led = kanan; delay_ms(500);
}
void geser_led_kiri()
//fungsi untuk menggeser led berjalan kearah kiri
{
if (kiri==0b10000000) kiri = 0b00000001; else kiri <<= 1;
PORT_led = kiri; delay_ms(500);
}

void tekan_tombol_led_nyala()
//jika tombol PORTBx ditekan maka akan menyalakan led pada PORTAx
{
PORTA = PINB;
}

void main(void)
{
PORTA = 0xff;
//Port A diberikan logika high atau LED mati DDRA = 0xff;
//port A sebagai output PORTB = 0x0f;
//PB.7-4 logika low, PB3-0 logika high DDRB = 0×00;
// port B sebagai input while(1)
{
geser_led_kiri() ; // pemanggilan fungsi
};

3.       Selanjutnya dengan cara yang sama coba program berikut;

while (1)

{
if (PINB.0==0)
{PORTA=00xFF;}
};
}
4.       Selanjutnya dengan cara yang sama coba program berikut;

while (1)

{
if (PINB.0==0) PORTA=15;
delay_ms(1000); PORTA=240;
delay_ms(1000);
};
}
5.       Selanjutnya dengan cara yang sama coba program berikut;

#include <avr/io.h> int main (void)

{
//Jadikan Semua PORTA Sebagai Output DDRA = 0xFF;
//Hidupkan LED PORTA = 0x0F;
return 0;
}






F.     HASIL DAN ANALISIS


Pada praktikum ini digunakan ATMega8535 dengan output LED. Pada ATMega8535 digunakan PORTB sebagai input dan PORTA sebagai output. Pada rangkaian ini disetting sedemikian rupa menggunakan Code Vision berdasarkan rangkaian yang telah dibuat di proteus sebelumnya. Simulasi menggunakan proteus diterapkan agar memermudah dalam melakukan pengujian sebelum nantinya diterapkan di hardware atau trailer mikrokontroler.

G.    KESIMPULAN

Berdasarkan hasil praktikum yang telah dilakukan dan teori yang ada maka dapat disimpulkan bahwa setiap mikrokontroler mempunyai I/O yang berbeda-beda tergantung datasheet pada mikrokontroler tersebut. Sehingga perlu mengenal register yang ada pada port I/O terebut sehingga port pada mikrokontroler AVR dapat diakses. Register bit pada I/O port ada tiga yaitu DDRx, PORTx, dan PINx. 

Tidak ada komentar:

Posting Komentar