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