Posted by : Niam Tamami March 19, 2011


Pada tutorial ini saya akan menjelaskan mengenai pengolahan tombol push button pada AVR. Berikut adalah rangkaian yang digunakan pada program ini.
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>

// Declare your global variables here
usigned char temp;
void main(void)
{
DDRD=0x00; // port d sebagai input
          PORTD=0xff; //aktifkan pull-up
DDRC=0xff; // port c sebagai output (led)
          PORTC=0xff; //diberikan logika 1 pada led, agar led mati
          temp=0b100000000;
while (1)
      {
      // Place your code here
                if (PIND.1==0)
                {
                    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);                 }
      };
}

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Entri Populer

tweet

- Copyright © 2013 blog.nitbot.com -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -