Pada Application Note kali ini saya akan membahas bagaimana cara
menyalakan LED agar pingpong dari kiri-kanan, kanan-kiri dengan kecepatan yang
berbeda. Program ini saya tulis dengan CV AVR. Untuk Minimum Systemnya saya
menggunakan DT-AVR LCMS dari Innovative Electronics. Sedangkan untuk Downloadernya
pake produk saya sendiri “B10 AVR USB In System Programmer”.
Hubungkan Power Supply 12V DC pada Terminal VIN DT-AVR Low Cost Miro
System. Hubungkan LED Tester pada PORT C DT-AVR Low Cost Micro System. Berikut
Potongan programnya :
/*****************************************************
Project : Belajar MIKRO dengan CV AVR
Version :
Date : 16/06/2012
Author : ANDRI SASMITO
Company : B10 ELECTRONICS
Comments:
Chip type :
ATmega8535
Program type :
Application
AVR Core Clock frequency: 11,059200 MHz
Memory model :
Small
External RAM size :
0
Data Stack size :
128
*****************************************************/
#include <mega8535.h> //Menggunakan
Mikrokontroler AVR ATMega8535
#include <delay.h> //Memasukkan fungsi pustaka delay
// Declare your global variables here
unsigned char led; //Mendeklarasikan
Variable global
void main(void) //Program Utama
{
PORTC=0x00; //Output pada
PORT C Aktif Low
DDRC=0xFF; //PORTC
dikonfigurasikan sbg OUTPUT
while (1) //Fungsi
looping terus
{
led=0x01; //nilai awal PORT C
do
{
PORTC=~led;
//nilai pd PORT C dikomplemen
delay_ms(50);
//tunda 50ms
led
<<=1; //nilai
pd PORT C geser kanan
}
while(led!=0x00);
//Fungsi akan berjalan jika nilai led >< 0
led=0x80; //nilai awal PORT C
do
{
PORTC=~led;
//nilai pd PORT C dikomplemen
delay_ms(100);
//tunda 100ms
led
>>=1; //nilai pd PORT C geser kiri
}
while(led!=0x00); //Fungsi akan berjalan jika nilai led
>< 0
led=0x08; //nilai awal
PORT C
do
{
PORTC=~led; //nilai pd PORT C dikomplemen
delay_ms(150); //tunda 150ms
led
<<=1; //nilai pd PORT C geser kanan
}
while(led!=0x00); //Fungsi akan berjalan jika nilai led
>< 0
led=0x80; //nilai awal PORT C
do
{
PORTC=~led; //nilai pd PORT C dikomplemen
delay_ms(200); //tunda 200ms
led
>>=1; //nilai pd PORT C geser kiri
}
while(led!=0x00); //Fungsi
akan berjalan jika nilai led >< 0
};
}
Setelah itu Tekan Ctrl+F9. Lalu pilih “Program
the Chip”. Jika benar LED akan menyala satu persatu bolak-balik dari
kiri-kanan, kanan-kiri. Begitu seterusnya dengan kecepatan beser yang
berubah-ubah.