Jumat, 29 Mei 2009

Belajar Mikrokontroler ATmega 16

PErcobaan 1 ..
MEngakses input output pada ATmega16...
1.1 Membuat LED berkedip -  kedip
#include
#include
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTA=0xff;
while (1)
{
PORTA.0=1;
delay_ms(1000);
PORTA.0=0;
delay_ms(100);
}
}

1.2 Membuat LED menyala berjalan
#include
#include
#include
void main(void)
{
int i,a;
PORTA=0xff;
DDRA=0xff;
while (1)
{
for (i=0;i<=7;i++) {a=pow(2,i); PORTA=~a; delay_ms(500);} } }

1.3 Membuat LED menyala berjalan dengan metode geser bit
#include
void delay(int n)
{
int i;
for(i=0;i>7)); // instruksi geser bit
PORTA=a;
delay(200);
}
}
// *** program utama
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
while (1)
{
kiri();
}
}
1.4 Membuat LED menyala berjalan (metode lookup table)
#include
#include
void main(void)
{
unsigned char led[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
int a;
PORTA=0x00;
DDRA=0xFF;
while (1)
{
for (a=0;a<=7;a++) { PORTA = led[a]; delay_ms(100); } } }

1.5 Membuat LED menyala sesuai dengan kondisi switch
#include
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTC=0x00;
DDRC=0x00;
#asm("nop")
while (1)
{
PORTA=PINC;
}
}

1.6 Membuat LED menyala berjalan sesuai dengan kondisi switch
#include
#include
#include
void main(void)
{
int i,a;
PORTA=0xff;
DDRA=0xff;
#asm("nop")
while (PINC.1==1) // dengan pengkondisian
{
for (i=0;i<=7;i++) {a=pow(2,i); 12 PORTA=~a; delay_ms(100);} } }
selamat mencoba dan sukses.....

Tidak ada komentar:

Posting Komentar