MODULI
ANTARMUKAMIKROKONTROLERDENGANLED
TUJUAN
MenjelaskanrangkaianantarmukamikrokontrolerdenganLED.
MenjelaskanpemrogramanmikrokontroleruntukmenyalakanLED.
LED
Sebuah LED (Light Emitting Diode) adalah sebuah sumber cahaya yang terbuat dari
semikonduktor.BiasanyaLEDdigunakansebagailampuindikatordalambeberapapiranti,dan
mulaibanyakdigunakansebagaipenerangan/lampu.Gambar1.1memperlihatkanbentukfisik
LEDdansimbolrangkaiannya.
(a) BentukfisikLED
(b)Simbolelektronik
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.
PERINTAHDASARMENGELUARKANDATA
Sebelum mulai menulis program dengan bahasa C, perlu diketahui bahwa
mikrokontroler ATmega8535 perlu diset isi register DDR dan PORT agar bisa digunakan
sebagaimanamestinya,sepertiyangterlihatdalamTabel1.
Tabel1KonfigurasiPengaturanPortI/O
PORTbit=1
PORTbit=0
DDRbit=1
Output;High
Output;Low
DDRbit=0
Input;Rpullup
Input,Floating
UntukmengirimdatabytedalambentukbilangandesimalkePORTX(X=A,B,C,D)digunakan
statement
PORTX=desimal;
PORTB=128;
UntukmengirimdatabytedalambentukbilanganbinerkePORTX(X=A,B,C,D)digunakan
statement
PORTX=0bdata;
PORTB=0b10101010;
UntukmengirimdataperbitkePORTX.Y(X=A,B,C,D,danY=0,1,2,3,4,5,6,7)digunakan
statement
PORTX.Y=data;
PORTB.1=0;
Dimanadatabisaberupa0atau1.
ALATDANBAHANYANGDIGUNAKAN
1setPC/LaptopyangsudahberisiprogramCodeVisiondanKhazama
1buahcatudayaDC+5V
1buahmultimeter
1buahISPDownloaderAVR
1buahsistemminimumAVR
1buahI/O
1buahkabelprinterUSB
1buahkabelpitahitam
PROSEDUR
1. Rangkailahperalatanyangdiperlukansepertipadagambardibawah.Hubungkansoket
jumperPORTApadaminimumsystemdengansoketjumperOUTPUTpadaI/O.
Kabel USB
ISP Downloader
Kabel
downloader
Minimum
system AVR
Kabel pita
hitam
I/O
Catu Daya + 5V
2. BukaprogramCodeVisionAVR
3. Buatlah project baru dengan inisialisasi PORTA sebagai output (DDRA = FFH) dan
outputvalue=0(PORTA=00H)sehinggapadaprogrambagianinisialisasiPORTA
terlihatsebagaiberikut:
PORTA=0x00;
DDRA=0xff;
4. Tambahkanfileheader
#include <delay.h>
3
5. Tuliskandalamprogramutamasebagaiberikut:
// Program LED1
PORTA=0x0f;
delay_ms(1000);
PORTA=0xf0;
delay_ms(1000);
6. AmatinyalaLEDdangambarkannyalaLEDtersebut.
7. Ulangilangkah36untukprogramprogramberikut:
//Program LED2
PORTA=0b00001111;
delay_ms(1000);
PORTA=0b11110000;
delay_ms(1000);
//Program LED3
PORTA=0x55;
delay_ms(1000);
PORTA=0xaa;
delay_ms(1000);
//Program LED4
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);
//Program LED5
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;
PORTA.2=1;
PORTA.1=1;
4
delay_ms(1000);
PORTA=0b10000000;
delay_ms(1000);
DATAHASILPERCOBAAN
1. TampilannyalaLEDProgramLED1
2. TampilannyalaLEDProgramLED2
3. TampilannyalaLEDProgramLED3
4. TampilannyalaLEDProgramLED4
5. TampilannyalaLEDProgramLED5
ANALISADATA
1. AnalisaProgramLED1LED5!
2. ApakahpersamaandanperbedaanPROGRAMLED1danPROGRAMLED2?
3. InstruksiapayangdigunakanuntukmengeluarkandatakeLED?
4. Mengapaadajedawaktusekitar1detikantaratampilanLEDyangpertamadengan
yangberikutnya?