Anda di halaman 1dari 10

LAPORAN PRAKTIKUM MIKROKONTROLER

ANTARMUKA MIKROKONTROLER DENGAN LIGHT EMITTING DIODE


(LED)

Oleh :
YUDA RISMA WAHYUDI 140534602083

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI PENDIDIKAN TEKNIK ELEKTRO
SEPTEMBER 2015
PERCOBAAN I
ANTARMUKA MIKROKONTROLER DENGAN LIGHT EMITTING DIODE
(LED)

1. TUJUAN
1. Mengetahui dan memahami antarmuka mikrokontroler dengan
rangkaian LED.
2. Mengetahui dan memahami pemrograman mikrokontroler untuk
menyalakan LED.

2. DASAR TEORI
2.1 LED
LED (Light Emmiting Diode) adalah sebuah sumber cahaya yang
terbuat dari semikonduktor. Biasanya LED digunakan sebagai lampu
indikator dalam beberapa piranti dan mulai banyak digunakan sebagai
penerangan.

3. ALAT DAN BAHAN


1. PC/Laptop yang sudah terinstal program Code Vision AVR dan
Khazama
2. Catu daya DC +5v
3. Multimeter
4. ISP Downloader AVR
5. Minimum System AVR
6. Modul I/O
7. Kabel printer USB
8. Kabel pita
4. PROSEDUR
1. Rangkailah peralatan yang diperlukan seperti dalam gambar 2.3.
Hubungkan soket jumper PORTA pada minimum system dengan soket
jumper Output pada I/O.
2. Buka program Code Vision AVR
3. Buatlah project baru dengan inisialisasi PORTA sebagai output dan
output value = 0
PORTA = 0x00;
DDRA = 0x0ff;
4. Tambahkan file header
#include <delay.h>
5. Tuliskan code berikut dalam program utama (void main).
//Program LED 1
PORTA = 0xff;
delay_ms (1000);
PORTA = 0xf0;
delay_ms (1000);
6. Amati nyala LED dan gambarkan nyala LED tersebut .
7. Ulangi langkah 3-6 untuk program-program berikut:

//Program LED 2
PORTA = 0b00001111;
delay_ms(1000);
PORTA = 0b11110000;
delay_ms(1000);

//Program LED 3
PORTA = 0b01010101;
delay_ms(1000);
PORTA = 0b10101010;
delay_ms(1000);

//PROGRAM LED 4
PORTA = 0b11100111;
delay_ms(1000);
PORTA = 0b11011011;
delay_ms(1000);
PORTA = 0b10111101;
delay_ms(1000);
PORTA = 0b01111110;
delay_ms(1000);
PORTA = 0b10111101;
delay_ms(1000);
PORTA = 0b11011011;
delay_ms(1000);
PORTA = 0b11100111;
delay_ms(1000);

//Program LED 5
PORTA = 0b00000001;
delay_ms(1000);
PORTA = 0b00000010;
delay_ms(1000);
PORTA = 0b00000100;
delay_ms(1000);
PORTA = 0b00001000;
delay_ms(1000);
PORTA = 0b00010000;
delay_ms(1000);
PORTA = 0b00100000;
delay_ms(1000);
PORTA = 0b01000000;
delay_ms(1000);
PORTA = 0b10000000;
delay_ms(1000);

5. DATA HASIL PERCOBAAN


5.1 Program 1:
//Program LED 1
#include <mega8535.h>
#include <delay.h>

void main(){
PORTA = 0x00;
DDRA = 0x0ff;
while(1){
PORTA = 0x0f;
Delay_ms (1000);
PORTA = 0xf0;
Delay_ms (1000);

}
}
Nyala LED pada program LED 1:

Dengan jeda (Delay) untuk pergantian nyala LED adalah 1 detik


(1000ms).

5.2 Program LED 2


//Program LED 1
#include <mega8535.h>
#include <delay.h>

void main(){
PORTA = 0x00;
DDRA = 0x0ff;
while(1){
//Program LED 2
PORTA = 0b00001111;
delay_ms(1000);
PORTA = 0b11110000;
delay_ms(1000);

}
}

Nyala LED pada program LED 2:

Dengan jeda (Delay) untuk pergantian nyala LED adalah 1 detik


(1000ms).
5.3 Program LED 3
//Program LED 1
#include <mega8535.h>
#include <delay.h>

void main(){
PORTA = 0x00;
DDRA = 0x0ff;
while(1){
//Program LED 3
PORTA = 0b01010101;
delay_ms(1000);
PORTA = 0b10101010;
delay_ms(1000);
}
}

Nyala LED pada programm LED 3:

Dengan jeda (Delay) untuk pergantian nyala LED adalah 1 detik


(1000ms).
5.4 Program LED 4
//Program LED 4
#include <mega8535.h>
#include <delay.h>

void main(){
PORTA = 0x00;
DDRA = 0x0ff;
while(1){
//PROGRAM LED 4
PORTA = 0b11100111;
delay_ms(1000);
PORTA = 0b11011011;
delay_ms(1000);
PORTA = 0b10111101;
delay_ms(1000);
PORTA = 0b01111110;
delay_ms(1000);
PORTA = 0b10111101;
delay_ms(1000);
PORTA = 0b11011011;
delay_ms(1000);
PORTA = 0b11100111;
delay_ms(1000);

}
}

Nyala LED pada program LED 4:

Dengan jeda (Delay) untuk pergantian nyala LED adalah 1 detik


(1000ms).
5.5 Program LED 5
//Program LED 4
#include <mega8535.h>
#include <delay.h>

void main(){
PORTA = 0x00;
DDRA = 0x0ff;
while(1){
PORTA = 0b00000001;
delay_ms(1000);
PORTA = 0b00000010;
delay_ms(1000);
PORTA = 0b00000100;
delay_ms(1000);
PORTA = 0b00001000;
delay_ms(1000);
PORTA = 0b00010000;
delay_ms(1000);
PORTA = 0b00100000;
delay_ms(1000);
PORTA = 0b01000000;
delay_ms(1000);
PORTA = 0b10000000;
delay_ms(1000);
}
}

Nyala LED pada program LED 5:


6. ANALISA DATA
1. Analisa program LED 1 – LED 5
Program LED 1 – 5 merupakan program yang digunakan untuk
menyalakan led yang terhubung dengan PORTA mikrokontroller
ATMega 8535.
 Program LED 1:
Empat LED nyala (LED 0 - 3) dan empat LED mati (LED 4 -7)
secara bergantian dalam jeda waktu 1 detik.
 Program LED 2:
Empat LED nyala (LED 0 - 3) dan empat LED mati (LED 4 -7)
secara bergantian dalam jeda waktu 1 detik.
 Program LED 3:
Empat LED nyala (LED 0, 2, 4, 6 ) dan empat led mati (LED
1,3,5,7) secara bergantian dalam jeda waktu 1 detik.
 Program LED 4:
LED 3 dan 4 nyala, kemudian Led 2 dan 5 nyala, kemudian
LED 1 dan 6 nyala, kemudian Led 0 dan 7 nyala, bergantian
dalam jeda waktu 1 detik.
 Program LED 5:
Nyala LED bergantian mulai dari LED 0 sampai LED 7.
2. Apakah persamaan dan perbedaan program LED 1 dengan
program LED 2?
Persamaannya adalah pada program LED 1 dan LED 2 nyala LED
nya sama, empat led nyala dan dan mati secara bergantian dalam
jeda waktu 1 detik.
Perbedaanya, pada program LED 1 untuk menyalakan LED
menggunakan data hexa (0x….) sedangkan pada program LED 2
menggunakan data biner (0b….).
3. Instruksi apa yang digunakan untuk menyalakan data ke LED?
Untuk menyalakan data ke LED dapat menggunakan instruksi:
PORTX = 0x... – untuk menyalakan led pada PORT X(A-D)
dengan data hexa.
PORTX = 0b… – untuk menyalakan led pada PORT X(A-D)
dengan data biner.
PORTX.X = untuk menyalakan led pada bit tertentu(0 -7).
4. Mengapa ada jeda waktu sekitas 1 detik antara tampilan LED yang
pertama dengan yang berikutnya?
Karena ada instruksi delay_ms(1000), instruksi ini akan membuat
jeda waktu selama 1000 ms atau 1 sekon sari nyala led satu ke led
yang lainya.

7. KESIMPULAN
Setelah melakukan percobaan antarmuka mikrokontroler dengan led
dapat disimpulkan beberapa hal sebagai berikut:
1. Untuk menyalakan led dari mikrokontroler dapat menggunakan
empat PORT yang tersedia yaitu PORTA, PORTB, PORTC, atau
PORT D.
2. Untuk menyalakan led dari data ke port dapat menggunakan
instruksi PORTX untuk menyalakan 8 LED sekaligus atau
PORTX.X untuk menyalakan LED per bit.
3. Tipe data yang digunakan untuk mengirimkan data ke port dapat
menggunakan tipe data biner (0b), maupun hexa desimal(0x).
4. Untuk memberikan jeda waktu pada tampilan LED dapat
menggunakan instruksi delay_ms(waktu jeda), dengan waktu jeda
dalam satuan milisekon(ms).

8. DAFTAR RUJUKAN

Anda mungkin juga menyukai