Aplikasi Seven Segmen ATMega16 dengan CVAVR

Senin, 14 Mei 2012

Aplikasi Seven Segmen ATMega16 dengan CVAVR Seperti kita ketahui
Seven segmen adalah suatu komponen elektronika yang digunakan untuk
penampil angka. Dalam Post sebelumnya sudah dijelaskan cara menampilkan
seven segmen dengan menggunakanBahasa Basic Compiler atau BasCom AVR.
Dalam Post ini akan dijelaskan cara menampilkan seven segmen tetapi dengan
bahasa pemrograman yang berbeda yaitu dengan menggunakan bahasa
pemrograman CVAVR atau Code Vision AVR. Hardware Hardware penampil
seven segmen adalah sebagai berikut.
Program CodeVisionAVR
#include (mega16.h)
#include (delay.h)
void main(void)
{
 unsigned char seven[10]={0b11000000,0b11001111,0b10100100,
0b10110000,0b10011001,0b10010010,0b10000010,0b11111000,
0b10000000,0b10010000};
unsigned int n=0;

DDRC=0xFF;

while (1)
 { PORTC=seven[n];
 delay_ms(100);
 n=n+1;
 if (n>9){ n=0;
 };
 };
}
Penjelasan Program diatas menggunakan dua macam librari yaitu
#include (mega16.h) dan #include (delay.h) . Librari mega16.h untuk
menunjukkan pada program bahwa menggunakan mikrokontroler
ATMega16 sedangkan librari delay.h digunakan untuk mengakses
fungsi delay. Program ini menggunakan dua macam variabel yaitu
 Seven[10] yang bertipe unsigned char dan n yang bertipe unsigned
integer. Pada variable Seven[10] berisi 10 macam data yang nantinya
data data ini digunakan untuk menampilkan angka 0 sampai 9 pada
seven segmen. Setelah mendeklarasikan variable terdapat sintak
DDRC=0xFF yang artinya menjadikan Portc semuanya sebagai output.
Pada program utamanya terdapat sintak

PORTC=seven[n];
delay_ms(100);
n=n+1;
if (n>9){ n=0;

Maksud dari sintak terssebut adalah mengeluarkan data yang terdapat
pada variabel "seven" melalui portc . Nah data pada variabel seven dapat
berubah ubah sesuai nilai variabel "n" jadi variabel n disini berfungsi
sebagai pointer. Supaya nilai pada variabel seven dapat berubah ubah
maka variabel n di-incremen-kan hingga nilai n menunjukkan nilai 9.
dengan demikian maka angka yang ditampilkan pada seven segmen
adalah angka 0 dampai 9.