Membuat program untuk mikrokontroller avr atmega8535 tidak sulit yang dibayangkan, apa lagi jika yang digunakan adalah bahasa C. Selain mudah dimengerti juga mudah untuk dipahami dibandingkan dengan bahasa assembly. Kekurangan yang terdapat pada bahasa C ini hanya pada saat di compile kapasitasnya akan lebih besar dibandingkan dengan assembly dengan programan yang sama. Software yang dapat digunakan untuk pemrograman C salah satunya adalah AVRstudio, software ini dikeluarkan verdor ATMEL secara freeware. Memang untuk versi yang lama hanya bisa digunakan untuk bahasa assembly, kecuali versi terbaru yaitu versi 4.12 atau versi 4.13 dapat digunakan untuk bahasa C. Berikut ini contoh penggunaan bahasa C dengan menggunakan AVRstudio 4.13 untuk pembuatan counter 00 - 99.
Tombol = Port A.0
Seven Segment common anode = Port B
Scan = Port C.7 & Port C.6
Source Code AVRStudio
#include
#include
unsigned char hitung,seg1,seg2;
unsigned char kodeangka[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display (void)
{
seg1=hitung;
seg1%=0x0A;
PORTB=kodeangka[seg1];
PORTC&=~(1<<7 span="">7>
_delay_ms(20);
PORTC|=(1<<7 span="">7>
seg2=hitung;
seg2/=0x0A;
PORTB=kodeangka[seg2];
PORTC&=~(1<<6 span="">6>
_delay_ms(20);
PORTC|=(1<<6 span="">6>
if (hitung ==
100)
hitung = 0x00;
else
return;
}
int main (void)
{
DDRB = 0xFF; //PORTB=output
DDRC = 0xFF; //PORTC=output
PORTA= 0xFF; //enable
all pull up
PINA = 0xFF;
DDRA = 0x00; //PORTA=input
hitung = 0x00;
while (1)
{
char tombol;
tombol=PINA;
switch(tombol)
{
case 254://11111110
hitung++; display ();PINA=0xFF;
break;
case 255://11111111
display ();
break;
default:display
();
}
}
}
No comments:
Post a Comment