Sunday, May 4, 2014

Filled Under:

RANGKAIAN INTERFACE MIKROKONTROLER ATMEGA8535 Dengan LED

10:43 PM

LED atau singkatan dari Light Emitting Diode adalah salah satu komponen elektronik yang tidak asing lagi di kehidupan manusia saat ini. LED saat ini sudah banyak dipakai, seperti untuk penggunaan lampu permainan anak-anak, untuk rambu-rambu lalu lintas, lampu indikator peralatan elektronik hingga ke industri, untuk lampu emergency, untuk televisi, komputer, pengeras suara (speaker), hard disk eksternal, proyektor, LCD, dan berbagai perangkat elektronik lainnya sebagai indikator bahwa sistem sedang berada dalam proses kerja, dan biasanya berwarna merah atau kuning. LED ini banyak digunakan karena komsumsi daya yang dibutuhkan tidak terlalu besar dan beragam warna yang ada dapat memperjelas bentuk atau huruf yang akan ditampilkan. dan banyak lagi
RANGKAIAN INTERFACE MIKROKONTROLER ATMEGA8535 DENGAN LED 8 BIT, SAKLAR TOGGLE 8 BIT, 2 BUAH SEVEN SEGMEN, DAN KEYPAD 2x2.


PROGRAM INTERFACE DENGAN LED 8 BIT, DIHUBUNGKAN KE PORTA SEBAGAI OUTPUT.

Program LED1


      PORTA=0x0f;                     //menyalakan 4 bit LED terendah (0-3) di portA dalam bilangan heksa
      delay_ms(1000);                  //delay 1 detik
      PORTA=0xf0           ;           //menyalakan 4 bit LED tertinggi (4-7) di portA dalam bilangan heksa
      delay_ms(1000);                  //delay 1 detik

Program LED2

      PORTA=0b00001111;          //menyalakan 4 bit LED terendah (0-3) di portA dalam bilangan biner
      delay_ms(1000);                  //delay 1 detik
      PORTA=0b11110000;         //menyalakan 4 bit LED tertinggi (4-7) di portA dalam bilangan biner
      delay_ms(1000);                  //delay 1 detik

Program LED3

      PORTA=0b01010101;                      //menyalakan LED bit ke 0,2,4,6 di portA
      delay_ms(1000);                  //delay 1 detik
      PORTA=0b10101010;                      //menyalakan LED bit ke 1,3,5,7 di portA
      delay_ms(1000);                  //delay 1 detik

Program LED4 (2 buah LED bergerak dari tengah ke pinggir kembali ke tengah lagi dan berulang)

      PORTA=0b11100111;
      delay_ms(1000);     
      PORTA=0b11011011;
      delay_ms(1000);     
      PORTA=0b10111101;
      delay_ms(1000);     
      PORTA=0b01111110;
      delay_ms(1000);     
      PORTA=0b10111101;
      delay_ms(1000);     
      PORTA=0b11011011;
      delay_ms(1000);     
      PORTA=0b11100111;
      delay_ms(1000);     

Program LED5 (LED bergerak dari bit terendah ke bit tertinggi dan berulang)

      PORTA=0b00000001;
      delay_ms(1000);     
      PORTA=0b00000010;
      delay_ms(1000);     
      PORTA=0b00000100;
      delay_ms(1000);     
      PORTA=0b00001000;
      delay_ms(1000);     
      PORTA=0b00010000;
      delay_ms(1000);     
      PORTA=0b00100000;
      delay_ms(1000);     
      PORTA=0b01000000;
      delay_ms(1000);     
      PORTA=0b10000000;
      delay_ms(1000);     


PROGRAM INTERFACE DENGAN SAKLAR TOGGLE 8 BIT (PORTB, INPUT) DAN LED 8 BIT (PORTA, OUTPUT)

PROGRAM ON/OFF LED SESUAI KONDISI SAKLAR TOGGLE

// Declare your local variables here
unsigned char datain;

while (1)
      {
      // Place your code here
      datain=PINB;
      PORTA=datain;
      }


PROGRAM INTERFACE DENGAN 2 BUAH SEVEN SEGMEN (PORTA, PORTB.6 DAN PORTB.7, OUTPUT)

PROGRAM MENAMPILKAN ANGKA 5 PADA SEGMEN KANAN DAN ANGKA 2 PADA SEGMEN KIRI

// Port A initialization
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
PORTB=0xF0;
DDRB=0xF0;

while (1)
      {
      // Place your code here
     
      PORTB.7=1;
      PORTB.6=0;         //AKTIFKAN SEVEN SEGMEN KANAN
      PORTA=0x6d;     // DATA ANGKA 5
      delay_ms(100);
      PORTB.7=0;         // AKTIFKAN SEVEN SEGMEN KIRI
      PORTB.6=1;
      PORTA=0x5b       // DATA ANGKA 2  
      delay_ms(100)
      }



PROGRAM MEMBUAT COUNTER 00-99

// Declare your global variables here
unsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};

// Declare your local variables here
int kiri, kanan, i;

// Port A initialization
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
PORTB=0xF0;
DDRB=0xF0;

while (1)
      {
      // Place your code here
     kiri=0;
     kanan=0;
    
     for (kiri=0;kiri<10;kiri++)
     {
        for (kanan=0;kanan<10;kanan++)
        {  
           for(i=0;i<100;i++)
           {
                PORTB.7=0;
                PORTB.6=1;  
                PORTA=bil[kiri];
                delay_ms(5);
               
                PORTB.7=1;
                PORTB.6=0;  
                PORTA=bil[kanan];
                delay_ms(5);
           }
        }
     }
  }








PROGRAM MEMBACA KEYPAD 2X2 DENGAN SISTEM SCANNING DAN DITAMPILKAN KE LED 8 BIT (PORTA, OUTPUT, PORT B.4 DAN PORTB.5, OUTPUT, PORTB.0 DAN PORTB.1, INPUT)

// Declare your global variables here
unsigned char key;
unsigned char keypad();

void main(void)
{
// Port A initialization
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
PORTB=0xff;
DDRB=0xf0;

while (1)
      {
      // Place your code here
      PORTA=0x00;      //led dimatikan awal program
      key=keypad();      //baca keypad
      if (key=='1')
         {
         PORTA=0b10000000;               //jika key1 ditekan maka nyalakan LED bit 7
         delay_ms(1000);
         }
      if (key=='2')
         {
         PORTA=0b01000000;               //jika key2 ditekan maka nyalakan LED bit 6
         delay_ms(1000);   
         }
      if (key=='3')
         {
         PORTA=0b00100000;               //jika key3 ditekan maka nyalakan LED bit5
         delay_ms(1000);
         }
      if (key=='4')
         {
         PORTA=0b00010000;               //jika key4 ditekan maka nyalakan LED bit 4
         delay_ms(1000);
         }
    
 }
}

unsigned char keypad()
{
   PORTB.4=0;       //pORTB.4 diberi logika0, scan baris1
   PORTB.5=1;
   delay_ms(100);
   if (PINB.0==0) return ('1');   //baca kolom1
   if (PINB.1==0) return ('3');   //baca kolom2
  
   PORTB.4=1;
   PORTB.5=0;       //portb.5 diberi logika 0, scan baris2
   delay_ms(100);
   if (PINB.0==0) return ('2');   //baca kolom1
   if (PINB.1==0) return ('4');   //baca kolom2
  
}


Next Prev home

0 comments:

Post a Comment