Anda di halaman 1dari 6

1

MODUL 1
I/O DASAR
TUJUAN

 Praktikan memahami datasheet ATMega 8535


 Praktikan mampu membuat aplikasi input dan output pada AVR dengan
menggunakan bahasa pemprograman C pada WinAVR
 Praktikan memahami pengesetan fuse yang berkaitan dengan
penggunakan besar dan jenis kristal

KONFIGURASI I/O ATMega 8535

Gambar dan table berikut ini dikutipkan dari datasheet ATMega 8535:

Skematik I/O (Datasheet ATMega8535 Hal. 51)


2

Konfigurasi Pin Port (Datasheet ATMega8535 Hal. 53)

PUD pada SFIOR (Datasheet ATMega8535 Hal. 59)

Rekomendasi untuk inisialisasi pada pin input (Datasheet ATMega8535 Hal. 56)

Deskripsi register (misalnya Port A) (Datasheet ATMega8535 Hal. 66)

TUGAS PENDAHULUAN

1. Jelaskan fungsi dari setiap bit dari register SFIOR!


2. Apa fungsi dilakukannya pull up pada pin input?
3. Jelaskan kegunaan #asm (“nop”) pada percobaan ketiga!
3

I.A PORT B SEBAGAI OUTPUT

Persiapan

 Siapkan alat dan bahan yang digunakan (starter-kit AVR DT-Combo,


USBasp, PC/Laptop).
 Buka software yang digunakan (Code Vision AVR dan Khazamma
Programmer)
 Install terlebih dahulu driver USBasp di laptop (tanya kepada asisten)
 Hubungkan USBasp pada starter-kit AVR pad port yang disediakan,
kemudian hubungkan ke laptop.
 Lakukan panduan praktikum dengan hati-hati dan teliti.

TUGAS I.A.1

1. Buka buku panduan cara membuat proyek baru (new project) pada Code
Vision AVR.
2. Ketikkan script di bawah ini ke Code Vision AVR.

#include <mega8535.h>

void main(void)
{
DDRB = 0xFF; // Seluruh Port B dikonfigurasi sebagai OUTPUT
PORTB = 0x00; // Seluruh Port B bernilai ‘0’, maka LED akan
menyala
}
Apabila kondisi OUTPUT LED DISPLAY sesuai dengan nilai PORTB maka
percobaan yang dilakukan benar.

TUGAS I.A.2

Modifikasi program di atas sehingga menghasilkan keluaran led (OUTPUT LED


DISLAY) sesuai dengan 3 angka terakhir NIM salah satu teman kelompok anda.
Misalkan NIM anda adalah 13116021 maka penulisannya “DDRB = 0x15”.

I.B FASILITAS DELAY PADA AVR

Persiapan

 Pastikan Persiapan pada 1.A telah terpenuhi.


 Pelajari fasilitas delay AVR
4

TUGAS I.B.1

#include <mega8535.h>
#include <delay.h>

void main(void)
{
DDRB = 0xFF; //Seluruh Port B dikonfigurasi sebagai OUTPUT
PORTB = 0xFF; // Semua Port B mengeluarkan logika ‘1’
Sehingga LED tidak menyala.

while(1)
{
PORTB = 0x00; // LED menyala
delay_ms(500);
PORTB = 0xFF; // LED mati
delay_ms(500);
}
}

Apabila kondisi OUTPUT LED DISPLAY menyala bergantian setiap (sekitar) 500
milidetik sesuai dengan kedua nilai PORTB di atas maka percobaan yang dilakukan
benar.

TUGAS I.B.2

Modifikasi contoh program Tugas 1.B.1 sehingga menghasilkan keluaran led


(OUTPUT LED DISLAY) secara bergantian sesuai dengan representasi biner dari
tiga angka terakhir NIM anggota kelompok Anda.

I.C PORT B SEBAGAI OUTPUT DAN PORT D SEBAGAI INPUT

Persiapan

 Pastikan Persiapan pada I.A telah terpenuhi


 Hubungkan PORT B (ATMega8535) pada PORT OUTPUT (Trainer Board)
 Hubungkan PORT D (ATMega8535) pada PORT INPUT (Trainer Board)
5

TUGAS I.C.1

Jalankan contoh program di bawah ini, analisis dan buatlah flowchart-nya.

#include <mega8535.h>
#include <delay.h>

void main(void)
{
DDRB = 0xFF; // Seluruh port B dikonfigurasi sebagai output
PORTB = 0xFF;
DDRD = 0x00; // Port D dikonfigurasi sebagai input
PORTD = 0x00;
#asm(“nop”)
while(1){
PORTB = PIND ;// Membaca penekanan push-button di port D
// dan outputnya dikeluarkan di port B.
}
}
Apabila kondisi OUTPUT LED DISPLAY sesuai dengan SWITCH INPUT maka
percobaan yang dilakukan benar.

TUGAS I.C.2

Modifikasi program di atas sehingga kondisi berikut ini terpenuhi:

 Buatlah program untuk membaca penekanan tombol saklar push-button


yang merepresentasikan biner dari tiga angka terakhir NIM anggota
kelompok. Bila terdapat penekanan pada push-button tersebut maka
Tugas I.B.2 dikerjakan (dengan delay 200 ms). Jika semua tombol
dilepas maka LED padam.

PERTANYAAN ANALISIS

1. Jelaskan mekanisme pengesetan pin output sedemikian hingga mengeluarkan


nyala lampu sesuai dengan yang diinginkan. Lengkapi dengan penjelasan register
yang digunakan!
2. Jelaskan bagaimana pengesetan pin input! Apa pengaruh resistor pull up?
6
APENDIKS A

APENDIKS A
KIT PRAKTIKUM
AVR Microcontroller

Informasi Pin

Anda mungkin juga menyukai