Contoh Aplikasi Avr: Menghidupkan Led (Byte) - Output
Contoh Aplikasi Avr: Menghidupkan Led (Byte) - Output
ACSR=0x80;
while (1)
{ PORTA=0xF0; PORTB=0x0F; PORTC=0xC3; PORTD=0b10101010; };
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0xFF;
ACSR=0x80;
PORTA.7=0; PORTB.7=1; PORTC=0xF0;
while (1)
{
PORTA.7=~PORTA.7; PORTB.7=~PORTB.7; PORTC=~PORTC;
delay_ms(1000);
};
}
void Flip_Flop()
{char i;
for (i=0;i<3;i++)
{ PORTB=0xF0; delay_ms(500); PORTB=0x0F; delay_ms(500); }
PORTA=0xFF;
}
void Running_Left()
{char i;
PORTB=0xFE; // nilai awal PORTB=0xfe atau bit ke-0 berlogika "0"
delay_ms(50);
for (i=0;i<8;i++)
{ PORTB=PORTB<<1; // PORTB digeser 1 bit sehingga bit ke-0 mengisi bit ke-1
delay_ms(250);
}
PORTB=0xFF;
}
void Running_Right()
{char i;
PORTB=0x7F; // nilai awal PORTC=0x7f atau bit ke-7 berlogika "0"
delay_ms(50);
for (i=0;i<8;i++)
{ PORTB=PORTB>>1; // PORTC digeser 1 bit sehingga bit ke-7 mengisi bit ke-6
delay_ms(250);
}
PORTB=0xFF;
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0xFF;
ACSR=0x80;
while (1)
{ Flip_Flop(); Running_Left(); Running_Right(); };
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0x7E; DDRB=0xFF;
PORTC=0x77; DDRC=0xFF;
PORTD=0xFF; DDRD=0xFF;
ACSR=0x80;
while (1)
{
char led[7]={0x7E,0xBD,0xDB,0xE7,0xDB,0xBD,0x7E};
char i;
for (i=0;i<7;i++)
{ PORTB=led[i]; delay_ms(100); }
led_wyper(3);
};
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0x00; //Input dgn R pull-up
ACSR=0x80;
while (1)
{ PORTA=PIND; PORTB=~PIND; };
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0x00; //Input dgn R pull-up
ACSR=0x80;
while (1)
{
if (!PIND.0){PORTA.0=0;}
if (!PIND.1){PORTA.0=1;}
if (!PIND.2){PORTA.2=0;}
if (!PIND.3){PORTA.2=1;}
if (!PIND.4){PORTA.4=0;}
if (!PIND.5){PORTA.4=1;}
if (!PIND.6){PORTA.6=0;}
if (!PIND.7){PORTA.6=1;}
};
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0x00; //Input
ACSR=0x80;
while (1)
{ Lampu = Switch; };
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0x00; //Input dgn R pull-up
ACSR=0x80;
while (1)
{
if (PIND.7==1){PORTB=0x00;}
else { PORTB=0xFF;}
};
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF; // Output
PORTB=0xFF; DDRB=0xFF;
PORTC=0xFF; DDRC=0xFF;
PORTD=0xFF; DDRD=0x00; //Input dgn R pull-up
ACSR=0x80;
while (1)
{
if (tombol1 ==0) //jika switch S0 ditekan maka
led=nyala;
if (tombol2 ==0) //jika switch S1 ditekan maka
led=padam;
if (tombol3 ==0) //jika switch S2 ditekan maka
led=0xAA;
if (tombol4 ==0) //jika switch S0 ditekan maka
led=0x55;
};
}
Program LCD Standart
/*****************************************************
Chip type : ATmega16 (11,059200 MHz)
*****************************************************/
#include <mega16.h>
#include <delay.h>
void main(void)
{
PORTA=0xFF; DDRA=0xFF;
PORTB=0xFF; DDRB=0x00;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0x00;
ACSR=0x80;
lcd_init(16); //Inisialisasi LCD
while (1)
{
lcd_clear();
lcd_putsf("abcdefghijklmnop");
lcd_gotoxy(0,1);
lcd_putsf("ABCDEFGHIJKLMNOP");
delay_ms(1000);
lcd_gotoxy(0,0);
lcd_putsf("1234567890abcdef");
lcd_gotoxy(0,1);
lcd_putsf("qwerty1234qwerty");
delay_ms(1000);
};
}
void main(void)
{
PORTA=0xFF; DDRA=0xFF;
PORTB=0xFF; DDRB=0x00;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0x00;
ACSR=0x80;
lcd_init(16); //Inisialisasi LCD
lcd_clear();
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("abcdefghijklmnop");
lcd_gotoxy(0,1);
lcd_putsf("ABCDEFGHIJKLMNOP");
PORTA=PINB;
};
}
int data;
void main(void)
{
PORTA=0xFF; DDRA=0xFF;
PORTB=0xFF; DDRB=0x00;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0x00;
ACSR=0x80;
Data=0;
lcd_init(16); //Inisialisasi LCD
lcd_clear();
lcd_putsf("NILAI COUNTER");
lcd_gotoxy(0,1);
lcd_putsf(" [ ] ");
while (1)
{
if (SW_up){data--;delay_ms(500);if(data<0){data=999;}}
if (SW_down){data++;delay_ms(500);if(data>999){data=0;}}
};
}