Anda di halaman 1dari 20

JOB 2

PENGAKTIFAN LED DENGAN MODUL

Tujuan pratikum:
Setelah melakukan pratikum pengaktifan LED dengan berbagai variasi ini, mahasiswa
dapat :
1. memahami cara pengoperasian system mikrokontroler AVR Atmega 8535
mengoperasikan system mikrokontroler AVR Atmega 8535
2. menampilkan output program dengan menggunakan system mikrokontroler AVR
Atmega 8535

BAB II
Landasan Teori
Gambar 2.1 Rangkaian tampilan deret LED

Perhatikan gambar 1 di atas. Delapan buah LED sebagai keluaran terhubung ke port C.
LED akan menyala jika pada port keluaran diberi logika HIGH ‘1’dan padam jika diberi
logika LOW ‘0’. Untuk mengaktifkan konfigurasi seperti gambar, pin LED pada posisi 0

Langkah Kerja
1. Membuat program
1. Buatlah program pada CodeVision AVR
2. Ketiklah program pada Editor.c, kemudian simpan.
3. Compile program dengan menekan tombol F9 (Compile) atau melalui menu
Project kemudian pilih Compile.
4. Cek jumper pada system mikrocontroler yang akan digunakan dengan menempatkan
jumper yang telah ditentukan (dapat dilihat pada lampiran)
2. Download program ke modul
1) Cek jumper pada system mikrocontroler yang akan digunakan dengan
menempatkan jumper yang telah ditentukan (dapat dilihat pada lampiran)
2) Koneksikan DT-HiQ AVR In System Programmer dengan AVR ISP
Header ke
Modul System mikrocontroler AVR

Gambar 2.2 Koneksi DT-HiQ AVR ISP ke Modul System


Mikrocontroler AVR

3) Agar CodeVisionAVR dapat memprogram mikrokontroler AVR


menggunakan DT-HiQ AVR ISP diperlukan pengaturan programmer
terlebih dahulu. Pengaturan programmer dapat dilakukan melalui menu
Setting kemudian pilih Programmer, kemudian memilih AVR programmer
tipe “Kanda System STK200+/300” dan tentukan port printer yang
digunakan oleh DT-HiQ AVR ISP . Setelah selesai klik OK.
Gambar 2.3 Pemilihan Tipe Programmer

Buka proyek “test led.prj” melalui menu File kemudian pilih Open. Pilih file
“test led.prj” dan klik open.

4) Selanjutnya untuk membuat file hex dari proyek “test led.prj” yaitu melalui
menu Project kemudian pilih Make atau dengan tombol Shift + F9. Agar
proyek “test led.prj” dapat membuat file hex dan sekaligus memprogram
mikrokontroler AVR maka perlu dilakukan pengaturan pada proyek tersebut
yaitu melalui menu Project pilih Configure
Gambar 2.4 Proses Konfigurasi Proyek

Pada Jendela Configure Project test led.prj, label After Make, beri tanda centang
pada Program the chip kemudian klik OK.

Gambar 2.5 Konfigurasi untuk Memprogram IC

Untuk mencoba memprogram mikrokontroler yaitu tekan Shift + F9 kemudian


akan muncul jendela informasi, klik Program untuk memulai memprogram
mikrokontroler. Tunggu beberapa saat sampai proses pemograman selesai.
Setelah pemograman selesai, mikrokontroler akan menjalankan program
tersebut.

Gambar 2.6 Tampilan Setelah Compiling Selesai

Contoh program

#include<mega8535.h>
#include<delay.h>
int i;
void kanan ()
{
DDRC=0x
FF;
PORTC=0x
FF;
PORTC=0b
10000000;
delay_ms(2
00);
for
(i=0;i<
7;i++)
{PORTC>>=1;
delay_ms(200);
}}

void kiri ()
{
DDRC=0x
FF;
PORTC=0x
FF;
PORTC=0b
00000001;
delay_ms(2
00);
for (i=7;i>0;i--)
{PORTC<<=1;
delay_ms(200);
}}
void main(void)
{

while(1)
{
kanan();
kiri();
}
}
BAB III
Data Tampilan

1. Tampilan 1

L7 L6 L5 L4 L3 L2 L1 L0 LED yang hidup


0 0 0 0 0 0 0 1 D1
0 0 0 0 0 0 1 0 D2
0 0 0 0 0 1 0 0 D3
0 0 0 0 1 0 0 0 D4
0 0 0 1 0 0 0 0 D5
0 0 1 0 0 0 0 0 D6
0 1 0 0 0 0 0 0 D7
1 0 0 0 0 0 0 0 D8
Berulang kembali ke – awal

2. Tampilan 2

L7 L6 L5 L4 L3 L2 L1 L0 LED yang hidup


1 0 0 0 0 0 0 0 D8
1 1 0 0 0 0 0 0 D8 D7
1 1 1 0 0 0 0 0 D8 D7 D6
1 1 1 1 0 0 0 0 D8 D7 D6 D5
1 1 1 1 1 0 0 0 D4 S/D D8
1 1 1 1 1 1 0 0 D3 s/d D8
1 1 1 1 1 1 1 0 D2 s/d D8
1 1 1 1 1 1 1 1 SEMUA HIDUP

3. Tampilan 3

L7 L6 L5 L4 L3 L2 L1 L0 LED yang hidup


1 1 1 1 0 0 0 0 D5 s/d D8
0 1 1 1 1 0 0 0 D4 s/d D7
0 0 1 1 1 1 0 0 D3 s/d D6
0 0 0 1 1 1 1 0 D2 s/d D5
0 0 0 0 1 1 1 1 D1 s/d D4
Program Tampilan 1 Program Tampilan 2 Program Tampilan 3
Ada di analisa Ada di analisa Ada di analisa
BAB IV

Analisa

Tampilan 1

pada tampilan ini LED diprogram khusus hidup satu persatu mulai dari atas ke
bawah dan kembali lagi ke atas lalu mati mulai dari d1 sampai d8 secara
berurutan.

Programnya:

#include <mega8535.h>

#include <delay.h>

int i;

void kanan()

{DDRC=0xFF;

PORTC=0xFF;

PORTC=0b00000001;

delay_ms(100);

for(i=0;i<7;i++)

{PORTC<<=1;

delay_ms(100);

}}

void kiri()

{DDRC=0xFF;

PORTC=0xFF;
PORTC=0b1000000;

delay_ms(100);

for(i=7;i>0;i--)

{PORTC>>=1;

delay_ms(100);

}}

void main(void)

while(1)

kanan();

kiri();

}}

Dibawah ini hasil percobaan tampilan 1 sebagai berikut :


Tampilan II

Dalam tampilan 2 ini lampu LED hidup mulai dari bawah yaitu D8 hingga ke D1
satu per satu hidup tapi led sebelumnya tidak mati hingga ke atas dan begitu juga
pada selanjutnya mulai dari atas sampai bawah lampu led dari atas mati satu
persatu sampai ke bawah hingga semua Led mati.

Nah, ini program nya yang di ketik pada aplikasi CV AVR dan hasil percobaan
yaitu :

#include <mega8535.h>

#include <delay.h>

int i;

void kanan ()

{ DDRC=0xFF;

PORTC=0x00;

PORTC=0b10000000;

delay_ms(100);

PORTC=0b11000000;

delay_ms(100);

PORTC=0b11100000;

delay_ms(100);

PORTC=0b11110000;

delay_ms(100);
PORTC=0b11111000;

delay_ms(100);

PORTC=0b11111100;

delay_ms(100);

PORTC=0b11111110;

delay_ms(100);

PORTC=0b11111111;

delay_ms(100);

for (i=7;i>0;i++)

{PORTC<<=1;

delay_ms(100);

}}

void kiri ()

{ DDRC=0xFF;

PORTC=0xFF;

PORTC=0x00;

PORTC=0b11111111;

delay_ms(100);

PORTC=0111111110;

delay_ms(100);

PORTC=0b11111100;

delay_ms(100);
PORTC=0b11111000;

delay_ms(100);

PORTC=0b11110000;

delay_ms(100);

PORTC=0b11100000;

delay_ms(100);

PORTC=0b11000000;

delay_ms(100);

PORTC=0b10000000;

delay_ms(100);

for (i=7;i>0;i--)

{PORTC<<=1;

delay_ms(100);

}}

void main(void)

while(1)

kanan();

kiri();
}

}
Tampilan III

Dalam tampilan 3 ini kita mengoperasikan lampu LED hidup dalam skala 4 buah
mulai dari bawah sampai ke atas dan kembali ke bawah. lampu LED yang hidup
berurutan 4 buah tapi untuk hidup led selanjutnya lampu paling awal atau bawah
mati satu led dan 3 led ke atas hidup di tambah satu led selanjutnya hidup
begitulah sampai ke lampu D1 dan sebaliknya dari atas ke bawah lampu yang
mati lampu awal satu buah dan tiga hidup di tambah satu lampu selanjutnya
dibawahnya hingga seterusnya ke bawah sampai semua lampu mati.

Nah, inilah program dan hasil percobaan yaitu :

#include <mega8535.h>

#include <delay.h>

int i;

void kanan ()

{ DDRC=0xFF;

PORTC=0x00;

PORTC=0b11110000;

delay_ms(100);

PORTC=0b01111000;

delay_ms(100);

PORTC=0b00111100;

delay_ms(100);

PORTC=0b00011110;

delay_ms(100);
PORTC=0b00001111;

delay_ms(100);

for (i=7;i>0;i++)

{PORTC>>=1;

delay_ms(100);

}}

void kiri ()

{ DDRC=0xFF;

PORTC=0xFF;

PORTC=0x00;

PORTC=0b00001111;

delay_ms(100);

PORTC=0b00011110;

delay_ms(100);

PORTC=0b00111100;

delay_ms(100);

PORTC=0b01111000;

delay_ms(100);

PORTC=0b11110000;

delay_ms(100);

for (i=7;i<0;i--)

{PORTC<<=1;
delay_ms(100);

}}

void main(void)

while(1)

kanan();

kiri();

}
BAB V

Kesimpulan

Dari hasil percobaan dapat ditarik beberapa buah kesimpulan sebagai


berikut:

1. Dalam job kali ini menerapkan sisitem operasi kanan kiri atau kiri kanan dalam
penghidupan lampu LED pada rangkaian tersebut.

2. Penghidupan led bisa secara berurutan atau di variasi kan sesuai dengan job.

3. Dalam program boleh menggunakan bil biner atau hexa sebab hasil nya sama
saja.

4. Aplikasi ini dapat diterapkan pada sisitem lampu lalu lintas dan percobaan ini
sebagai dasarnya dalam pembuatan penghidupan lampu lalu lintas