Anda di halaman 1dari 10

Membuat program Running LED menggunakan CV-AVR

Berikut adalah langkah-langkah pembuatan project baru pada CV-AVR :


Pada menubar file Click New file, kemudian akan muncul halaman berikur.

Pilih project, kemudian pilih yes pada form konfirmasi.

Kemudian akan muncul Form berikut untuk memilih Tipe chip yang akan
digunakan. Disini kita akan menggunakan tipe chip ATmega.

Disini kita akan menggunakan chip atmega16 dengan crystal sebesar


16.000 Mhz

Langkah selanjutnya adalah dengan mengatur Port I/O yang akan kita
gunakan. Disini kita akan menggunakan PORT B sebagai input untuk
meberikan masukan berupa push button untuk mengendalikan
pergerakan LED nantinya.

Kemudian kita akan mengatur PORT C sebagai keluaran untuk


menyalakan LED, maka kita akan melakukan settingan sebagai berikut.

Kemudian langkah selanjutnya ialah dengan menyimpan program yang


telah dibaut dalam satu folder yang sama, dengan melakukan generate,
save and exit. Kemudian simpan file tersebut dengan nama yang sama
sebanyak 3 kali. Seperti langkah berikut ini.

Setelah melakukan langkah2 tersebut maka pogram akan membuat file2


dan folder2 khusus secara otomatis.
Maka selanjutnya kita akan mengetikkan program untuk membuat
animasi running led

leds_shiftpwm
Berikut adalah script program untuk membuat animasi running LED:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Standard
Automatic Program Generator
Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Running Led / blinking Led
Version : V0.1
Date

: 05/10/2014

Author : Handril Sartriyan Purnama


Company : RELiF.Inc
Comments: More program at http://Relifline.wordpress.com
Chip type

: ATmega16

Program type

: Application

AVR Core Clock frequency: 8,000000 MHz


Memory model

: Small

External RAM size

:0

Data Stack size

: 256

*****************************************************/
#include <mega16.h>
#include <delay.h>
#define led PORTC
#define tombol PINA.7

// Declare your global variables here


int
data=0b10000000,data2=0b00000001,data3,data4,x=0b00010000,y=0b
1000,z;
void animasi1()
{
led=~data;

//data di not kan lalu dicopy ke led (PORTA)

delay_ms(100);
data=data>>1; // data digeser ke kanan 1 x
if(data<0b00000001)data=0b10000000;
}
void animasi2()
{
led=~data2; //data2 di not kan lalu dicopy ke led
delay_ms(100);
data2=data2<<1; //data2 digeser ke kiri 1 x
if(data2>0b10000000)data2=0b00000001;
}
void animasi3()
{
led=~data;
delay_ms(100);
if(data3==1)data=data<<1;
ke kiri 1 x

//jika data3 bernilai 1 maka data digeser

if(data3==0)data=data>>1;
ke kanan 1 x

//jika data3 bernilai 0 maka data digeser

if(data>=0b10000000)data3++;
if(data<=0b00000001)data3++;
if(data3>1)data3=0;
}
void animasi5()
{
led=~data2;
delay_ms(100);
data2=data2*2; // data2 dikalikan 2
if(data2>0b10000000)data2=0b00000001;
}
void animasi6()
{
led=~data;
delay_ms(100);
data=data/2; // data2 dibagi 2
if(data<0b00000001)data=0b10000000;
}
void animasi7()
{
z=x|y;
led=~z;

// x di OR kan dengan y lalu di copy ke z


// z di not kan lalu dicopy ke led

delay_ms(100);
x=x>>1;

// z digeser ke kanan 1 x

y=y<<1;

// y digeser ke kiri 1 x

if(y>0b10000000)y=0b00010000;
if(x<0b0001)x=0b1000;
}
void animasi4()
{
if(tombol==0){data4++; delay_ms(100);} //jika tombol ditekan maka
data4 bertambah 1 diberi tunda 100ms
if(data4>5)data4=0;
kembali bernilai 0

//jika data4 nilainya lebih dari 3 maka data4

if(data4==0)animasi1(); //jika data4 bernilai 0 maka jalankan sub


animasi1()
if(data4==1)animasi2(); //jika data4 bernilai 1 maka jalankan sub
animasi2()
if(data4==2)animasi3(); //jika data4 bernilai 2 maka jalankan sub
animasi3()
if(data4==3)animasi5();
if(data4==4)animasi6();
if(data4==5)animasi7(); //jika data4 bernilai 3 maka jalankan sub
animasi7()
}
void main(void)
{
PORTA=0xFF;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0xFF;

DDRC=0xFF;
PORTD=0x00;
DDRD=0x00;
while (1)
{
// Place your code here
animasi4();
}
}
/More program at Relifline.wordpress.com/
Buat kalian yang belum mengerti tentang penulisan program dengan
menggunakan bahasa C, kalian bisa membaca posingan sebelumnya yaitu
Dasar pemrograman bahasa C dengan CodeVision AVR.
/*********************************************************
Kemudian untuk Simulasi Bisa kita gunakan software proteus ISIS, berikut
adalah rangkaian simulasinya ;

Anda mungkin juga menyukai