Anda di halaman 1dari 11

MODUL I

ANTARMUKA MIKROKONTROLER DENGAN LED


TUJUAN

Menjelaskan rangkaian antarmuka mikrokontroler dengan LED.


Mempraktekkan pemrograman mikrokontroler untuk menyalakan LED.

LED
Sebuah LED (Light Emitting Diode) adalah sebuah sumber cahaya yang
terbuat dari semikonduktor. Biasanya LED digunakan sebagai lampu
indikator dalam beberapa piranti, dan mulai banyak digunakan sebagai
penerangan/lampu. Gambar 1.1 memperlihatkan bentuk fisik LED dan simbol
rangkaiannya.

(a) Bentuk fisik LED

(b) Simbol elektronik

Untuk menyalakan sebuah LED perlu rangkaian tambahan yang dapat


dilihat pada gambar disamping. Rangkaian tersebut berupa sebuah transistor
yang difungsikan sebagai saklar dan dua buah resistor untuk pembatas arus.
Dalam modul I/O yang dipakai dalam praktikum, kedelapan rangkaian LED
tersebut dihubungkan ke sebuah soket jumper bernama OUTPUT.

PERINTAH
DATA

DASAR

MENGELUARKAN

Sebelum mulai menulis program


dengan bahasa C, perlu diketahui bahwa
mikrokontroler ATmega8535 perlu diset
isi register DDR dan PORT agar bisa digunakan sebagaimana mestinya,
seperti yang terlihat dalam Tabel 1.
Tabel 1 Konfigurasi Pengaturan Port I/O
DDR bit = 1 DDR bit = 0
PORT bit = Output ;
Input; R pull
1
High
up
PORT bit = Output;
Input,
0
Low
Floating
Untuk mengirim data byte dalam bentuk bilangan desimal ke PORTX (X=A, B,
C, D) digunakan statement
PORTX = desimal;
PORTB = 128;
Untuk mengirim data byte dalam bentuk bilangan biner ke PORTX (X=A, B, C,
D) digunakan statement
PORTX = 0bdata;
PORTB = 0b10101010;
Untuk mengirim data per bit ke PORTX.Y (X=A, B, C, D, dan Y=0, 1, 2 , 3, 4,
5, 6, 7) digunakan statement
PORTX.Y = data;
PORTB.1 = 0;

Dimana data bisa berupa 0 atau 1.


ALAT DAN BAHAN YANG DIGUNAKAN

1
1
1
1
1
1
1
1

set PC/Laptop yang sudah berisi program Code Vision dan Khazama
buah catu daya DC +5V
buah multimeter
buah ISP Downloader AVR
buah sistem minimum AVR
buah I/O
buah kabel printer USB
buah kabel pita hitam

PROSEDUR
1.

Rangkailah peralatan yang diperlukan seperti pada gambar dibawah.


Hubungkan soket jumper PORTA pada minimum system dengan soket
jumper OUTPUT pada I/O.

2.
3.

Buka program Code Vision AVR


Buat file baru dengan cara klik File>>New, atau klik icon Create a New
File or Project, atau ketik Ctrl + N. Kemudian muncul dialog box, pilih
Project pada File Type, kemudian klik OK.

4.

Kemudian klik No ketika muncul dialog box untuk menanyakan apakah


ingin menggunakan CodeWizardAVR

5.

Kemudian pilih lokasi penyimpanan file dan buat folder baru dengan
nama praktikum 1 untuk menyimpan file.
Kemudian simpan file pada folder tersebut dan berinama file dengan
nama led dan klik Save.

6.

7.

Kemudian muncul dialog box Configure Project. Pada subtab Code


Generation pada tab C Compiler pilih chip ATmega8535 dan ubah Clock
menjadi 4 Mhz. Kemudian klik OK

8.

Buat file Source baru dengan cara klik File>>New, atau klik icon Create
a New File or Project, atau ketik Ctrl + N. Kemudian muncul dialog box,
pilih Source pada File Type, kemudian klik OK. Kemudian Save as file
Source itu dengan nama led dan simpan di dalam direktori yang
sama yaitu di dalam folder praktikum 1.

9.

Hubungkan file Project dengan File Source dengan Cara klik Project>>
Configure

10.

Pada dialog box, klik Add pada tab Input Files. Kemudian pilih file yang
sudah anda simpan tadi dan klik Open. Kemudian klik OK.

11.

Jika sudah ditambahkan, maka pada Code Navigator akan terlihat led.c.

12.

Tambahkan file header

13.

Buat program utama dan inisialisasikan PORTA sebagai output dan


output value = 0

14.

Tuliskan program led 1 pada program utama tepatnya tuliskan program


tersebut di dalam while (1):
// Program LED1

15.

Compile program tersebut dengan cara klik Project>> Compile atau


ketik F9.
Jika ada error , koreksi program yang error dan perbaiki. Jika sudah
tidak ada yang error build program tersebut dengan cara klik
Project>> Build atau klik Shift + F9.
Hubungkan kabel usb printer antara PC/ Laptop dengan trainer.
Buka aplikasi Khanzama AVR Programmer. Pilih ATmega8535 pada
pilihan chip AVR. Kemudian buka program kompilasi led.hex biasanya
terdapat pada folder atau sub derektori..\Exe yang terdapat pada
folder praktikum 1 dengan cara klik file>> Load Flash File to
Bufferatau ketik Ctrl + L kemudian klik Open.
Klik Auto Program kemudian amati nyala LED dan gambarkan nyala
LED tersebut.
Hapus program led 1, kemudian tuliskan program led 2 pada program
utama tepatnya tuliskan program tersebut didalam while (1):

16.
17.
18.

19.
20.

Program LED2

21.
22.
23.

24.
25.
26.

Compile dan Build program, jika ada yang error perbaiki program.
Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto
program.
Amati nyala LED dan gambarkan nyala LED tersebut.
Hapus program led 2, kemudian tuliskan program led 3 pada program
utama tepatnya tuliskan program tersebut didalam while (1):
Program LED3

Compile dan Build program, jika ada yang error perbaiki program.
Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto
program.
Amati nyala LED dan gambarkan nyala LED tersebut.
Hapus program led 3, kemudian tuliskan program led 4 pada program
utama tepatnya tuliskan program tersebut didalam while (1):

Program LED4

27.
28.
29.

Compile dan Build program, jika ada yang error perbaiki program.
Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto
program.
Amati nyala LED dan gambarkan nyala LED tersebut.
Hapus program led 4, kemudian tuliskan program led 5 pada program
utama tepatnya tuliskan program tersebut didalam while (1):
Program LED5

30.
31.

Compile dan Build program, jika ada yang error perbaiki program.
Masukkan file hex menggunakan Khanzama AVR Programer. Klik auto
program.
Amati nyala LED dan gambarkan nyala LED tersebut.

DATA HASIL PERCOBAAN


1.
2.
3.
4.
5.

Tampilan
Tampilan
Tampilan
Tampilan
Tampilan

nyala
nyala
nyala
nyala
nyala

LED
LED
LED
LED
LED

Program LED1
Program LED2
Program LED3
Program LED4
Program LED5

ANALISA DATA
1.

Analisa Program LED1 LED5!


LED1 : port A menggunakan bilangan Heksadesimal ,pada progam
LED1 ini 4 LED akan menyala bersamaan lalu akan mati dengan delay
1000 ms,lalu akan menyalakan 4 Led sebelah kiri .pada progam LED1
ini akan menyalakan 4 led - 4 led secara bergantian
LED2 : Pada progam Port A ini menggunakan bilangan Biner,progam ini
hampir sama seperti progam LED1,hanya saja yang membedakan
adalah jika pada progam LED1 menggunakan bilangan Heksadesimal
sedangkan pada LED2 menggunakan bilangan biner.pada progam LED2
ini menyalakan 4 LED sebelah kanan secara bersama ,lalu akan
menyalakan 4 LED sebelah kiri selang 1000 ms atau 1 detik.
LED3 :Pada progam LED3 portA
menggunakan bilangan
Heksadesimal. Contohnya pada PORTA=0x55; dalam biner 55H adalah
01010101b karena output(led) aktif high. Maka led akan menyala pada
logika 1, dan output aaH dalam biner adalah 10101010b dan led
akan menyala pada logika 1
LED4 : sama seperti penjelasan di LED3 output akan menyala pada
logika 1 contohnya pada PORTA=0b11100111. Led akan menyala tiga
baris dari kiri dan tiga baris dari kanan, dan dua led di tengah akan
mati
LED5 :pada progam LED5 PortA menggunakan bilangan biner.Led
PORTA pada baris pertama hanya akan menyala satu LED paling kanan,
dan pada perintah progam PORTA.2 tidak akan mempengaruhi karena
sama halnya dengan data yang diisikan di PORTA.

Dan untuk PORTA baris ke dua akan menyala dua led dari kanan karena
perpaduan dari perintah progam PORTA bernilai biner 2 dan PORTA.2
bernilai biner 1. Maka dua buah led dari kanan akan menyala.
2.

Apakah persamaan dan perbedaan PROGRAM LED1 dan PROGRAM


LED2?
Persamaan pada Progam LED1 dan Progam LED2 adalah keluarannya.
Perbedaan Pada Progam LED1 dan LED2 adalah script progamnya ,jika
pada Progam LED1 menggunakan bilangan heksadesimal yaitu
PORTA=0x0F,sedangkan pada progam LED2 menggunakan bilangan
biner yaitu PORTA=0b00001111 .

3.

Instruksi apa yang digunakan untuk mengeluarkan data ke LED?


Instruksi yang digunakan untuk mengeluarkan data ke LED contohnya
pada progam LED1 PORTA=0x0f dimana PortA sebagai output dan
datanya adalah 0x0f.

4.

Mengapa ada jeda waktu sekitar 1 detik antara tampilan LED yang
pertama dengan yang berikutnya?
Karena didalam progam LED tersebut terdapat scripT progam
delay_ms(1000) yang artinya akan ada waktu jeda 1000 ms atau 1
detik

Anda mungkin juga menyukai