Pembacaan Push Button pada AVR
Dari gambar dapat kita lihat bahwa pushbutton terletak pada PORTD.2 dan PORTD.1, sedangkan PORTC dipasang nyala led. Pada listing program ini bertujuan untuk membuat animasi led saat tombol pushbutton ditekan.Jika push button PORTD.1 ditekan, maka akan muncul animasi led yang bergeser, jika push button PORTD.2 ditekan, maka akan muncul animasi blink led.Berikut kode Programnya
#include <mega16.h>PORTD=0xff; //aktifkan pull-up
// Declare your global variables here
usigned char temp;
void main(void)
{
DDRD=0x00; // port d sebagai input
DDRC=0xff; // port c sebagai output (led)PORTC=0xff; //diberikan logika 1 pada led, agar led mati
temp=0b100000000;
while (1)if (PIND.1==0)
{
// Place your code here
{
for (i=0;i<8;i++)
{
temp>>=1; //menggeser bit 1 kali tiap siklus
PORTC=~temp;
delay_ms(500);
}
}
if (PIND.2==0){
PORTC=0; //semua led menyala
delay_ms(500); //jeda waktu 0.5 s
PORTC=255; //semua led mati
delay_ms(500);
PORTC=0;
delay_ms(500);
PORTC=255;
delay_ms(500); }
};
}
0 Komentar