Teks ini memberikan tutorial lengkap tentang cara membuat program Running LED menggunakan CodeVision AVR (CV-AVR) untuk mikrokontroler AVR, mulai dari membuat proyek baru, mengatur port input/output, menulis kode program, hingga simulasi menggunakan Proteus. Program ini menggunakan animasi berbagai pola gerak LED seperti geser kiri-kanan, naik-turun, dan OR-gating menggunakan tombol sebagai inputnya.
Praktikum iii lcd, servo motor, dan keypad dengan proteus
Membuat program running led menggunakan
1. Membuat program Running LED menggunakan CV-AVR
6 Februari 2015 handril satryan purnama learningcvavr, program, tutorial
Buat temen-temen yang ingin belajar mikrokontroller terutama yang berbasis AVR,
pada postingan kali ini saya ingin memberikan tutorial penggunaan
software CodeVision AVR untuk menjalankan program Running LED, beserta
dengan langkah-langkah pembuatan project baru, dan penggunaan software proteus
sebagai alat untuk simulasi program. Namun program ini juga bisa langsung di
download ke board minimum system AVR anda.
Berikut adalah langkah-langkah pembuatan project baru pada CV-AVR :
Pada menu bar file Click New file, kemudian akan muncul halaman berikur.
Pilih project, kemudian pilih yes pada form konfirmasi.
2. 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.
3. Kemudian kita akan mengatur PORT C sebagai keluaran untuk menyalakan LED, maka
kita akan melakukan settingan sebagai berikut.
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.
6. int data=0b10000000,data2=0b00000001,data3,data4,x=0b00010000,y=0b1000,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; //jika data3 bernilai 1 maka data digeser ke kiri 1 x
if(data3==0)data=data>>1; //jika data3 bernilai 0 maka data digeser ke kanan 1 x
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;
7. }
void animasi6()
{
led=~data;
delay_ms(100);
data=data/2; // data2 dibagi 2
if(data<0b00000001)data=0b10000000;
}
void animasi7()
{
z=x|y; // x di OR kan dengan y lalu di copy ke z
led=~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; //jika data4 nilainya lebih dari 3 maka data4 kembali bernilai 0
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)
{
8. 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 ;