Professional Documents
Culture Documents
I/O DASAR
Gidion Siregar (13115035)
Asisten Praktikum : Auliya Rendy A (13115046)
Tanggal Praktikum : 09/03/2019
EL3203 Praktikum Sistem Mikroprosesor
Laboratorium Teknik Elektro - Institut Teknologi Sumatera
Abstrak – Praktikum modul 1 praktikum sistem rupa sehingga untuk konfigurasi input tertentu akan
mikroprosesor akan membahas lebih dalam menghasilkan konfigurasi output yang sesuai dengan
mengenai komponen input output dasar pada board apa yang telah ditentukan.
ATMega 8535. Praktikan akan mempelajari
bagaimana cara port untuk dijadikan sebagai input
ataupun output. Aplikasi input output akan dibuat
Tujuan Percobaan :
dengan menggunakan software WinAVR dalam
bahasa C. Selain itu praktikum juga bertujuan
untuk memahami pengesetan serta melakukan 1. Praktikan memahmi datasheet ATMega 8535.
percobaan dengan ATmega 8535. 2. Praktikan mampu membuat aplikasi input dan
keyword – ATMega 8535, Input, Output, WinAVR output pada AVR dengan menggunakan bahasa
pemrograman C pada WinAVR.
1. PENDAHULUAN 3. Praktikan memahami pengesetan fuse yang
berkaitan dengan penggunan besar dan jenis kristal.
Praktikum terdiri dari beberapa sub percobaan.
Percobaan perta ma berkaitan dengan penggunaan 2 . LANDASAN TEORI
Port A sebagai output.
Program akan dibuat sedemikian rupa sehingga KONFIGURASI I/O ATMega 8535
menghasilkan konfigurasi output port A yang telah
ditentukan. Kemudian port A akan dihubungkan ke Gambar dan table berikut ini dikutipkan dari
LED sebagai representasi output dari port A. datasheet ATMega 8535 :
Kedua, praktikan akan menga mati penggunaan delay SKEMATIK I/O
pada AVR gcc. Delay bertujuan untuk mengatur
seberapa cepat lampu LED hidup dan mati. Sama
seperti percobaan sebelumnya, port A akan
digunakan sebagai output. Nilai biner port A akan
berubah dari kondisi satu ke kondisi dua dalam
selang delay yang telah ditentukan. Kemudian
representasi biner bisa dilihat pada nyala dan matinya
LED.
Rekomendasi untuk inisialisasi pada pin input. Jika Membuat file dengan pengesetan MCU : ATMega8535, F_CPU :
ada pin yang tidak terpakai, direkomendasikan agar 7372800 HzAVRDUDE, Programmer : USBasp , Target :
tiap pin ini terdefinisikan. disesuaikan untuk tiap percobaan
Walaupun kebanyakan input digital dinonaktifkan
dalam mode deep sleep seperti yang dideskripsikan
diatas, input yang menga mbang harus dihindari
untuk mengurangi konsumsi arus pada semua mode Lakukan pengesetan fuse sesuai pengesetan yang ada di
lain di mana input digital diaktifkan (Reset, Active modul. Hubungkan port input ke toggle port ouptut ke LED.
mode, and Idle mode). Hubungkan board ke komputer
Metode paling sederhana untuk mendefinisikan suatu
pin yang tidak digunakan adalah untuk mengaktifkan PERCOBAAN 1.A PORT A SEBAGAI OUTPUT
pull-up internal pada kasus ini, pull-up akan
dinonaktifkan saat reset. Jika konsumsi daya rendah
ketika reset itu penting. Maka disarankan untuk
menggunakan pull-up atau pull-down eksternal.
Menghubungkan pin-pin yang tidak digunakan ke
Vcc atau GND langsung tidak disarankan karena
dapat mengakibatkan kelebihan arus jika pin secara
tidak sengaja dikonfigurasikan sebagai output.
DESKRIPSI REGISTER (UNTUK PORT A)
DDRB = 0xFF; // Seluruh Port B dikonfigurasi
Buat program seperti yang tertera di modul. Atur target sebagai OUTPUT
makefile sesuai nama file percobaan
PORTB = 0x00; // Seluruh Port B bernilai ‘0’,
maka LED akan menyala
}
Jalankan program dan amati keluaran pada LED. Analisa
kode program dan catat hasil pada BCL
Berikut merupakan data percobaan yang telah kami
dapat dengan mengimplementasikan pada
microcontroller ATMega8535 :
Analisis :
Lihat keluaran pada LED, beri input switch jika
program merupakan aplikasi input dan output Pada percobaan ini, percobaan yang dilakukan yaitu
kita dapat menentukan semua PORT B pada
microcontroller ATMega8535 sebagai output yang
kita implementasikan menggunakan dengan indikator
4. HASIL DAN ANALISIS LED dengan tambahan berupa resistor. Hal ini sesuai
jika kita melakukan pembacaan pada script di atas
PERCOBAAN I.A.1 PORT B SEBAGAI yaitu bahwa port B semuanya adalah aktif low (‘0’)
OUTPUT dengan perintah PORTB = 0x00; // Seluruh Port B
bernilai ‘0’, maka LED akan menyala. Dengan nyala
Pada percobaan ini kita akan melakukan perintah nya LED sebagai output dari Port B, maka percobaan
melalui program yaitu bagaimana Port B akan kita yang di lakukan telah benar.
tentukan sebagai output melalui perintah DDRB
(Data Direction Register B) yaitu dapat dilihat pada PERCOBAAN TUGAS I.A.2
script dibawah ini :
Pada percobaan ini kita melakukan Modifikasi
#include <mega8535.h> program di atas , yaitu dengan mengubah settingan
#include <delay.h> nilai PORTB sesuai dengan 3 angka terakhir NIM
void main(void) salah satu teman kelompok kami. Misalkan NIM saya
{ adalah 13116025 maka penulisannya “DDRB =
0x012”.
Analisis : Analisis :
Dari percobaan ini hasil prinsip kerjanya sama saja Dengan membaca perintah script yang kita masukkan
dengan percobaan sebelumnya, hanya saja percobaan sebenarnya, kita dapat melakukan pembacaan
ini PORTB yang digunakan lebih spesifik jika kita perintah yang diberikan, yaitu dengan melakukan
ubah ke biner (025) yaitu : (0000 1100), sehingga pin pengulangan dengan perintah PORT B menyala
output yang dapat kita gunakan untuk menyalakan selama selangg waktu 0,5 ms dan bergantian dengan
sebuah LED yaitu adalah PIN B4 – PIN B7, yang PORT B mati selama selang waktu 0,5 ms juga,
merupakan aktif low selain sedangkan PIN B0-B3 sehingga lampu LED akan berkedip selama selang
adalah aktif high. waktu tersebut. Dan percobaan yang telah dilakukan
adalah berhasil.
Analisis:
PERCOBAAN I.B FASILITAS DELAY PADA Percobaan ini juga hampir sama dengan percobaan
AVR perintah LED berkedip diatas, namun dengan
memasukkan perintah PIN yang kita gunakan adalah
Pada percobaan berikut ini hal yang di lakukan berdasarkan NIM yang kita miliki. Dengan merubah
adalah menyalakan LED berkedip pada port B delay nya tersebut sesuai dengan NIM. Maka, akan
dengan durasi 0,5 detik terlihat perbedaan nyala LED berkedip nya.
} PORTC = 0x00;
Analisis :
5. KESIMPULAN