APLIKASI LAMPU LED DENGAN MIKROKONTROLLER



1.     RANGKAIAN LAMPU LED

Rangkaian minimum untuk menghidupkan 8 LED melalui Port 0 ditunjukan pada Gambar 1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port 3, port 3 harus dikirim atau diberi logika ‘0’. Jika LED terhubung secara Common Katode, maka untuk menyalakan LED harus dikirim atau diberi logika ‘1’, menyebabkan Port 0 menjadi masukan berimpedansi, sehingga tidak dapat menyalakan LED karena ordenya μA.

2.     PEMROGRAMAN MENYALAKAN LED

Setelah rangkaian LED dibuat dan dihubungkan dengan port pararel mikrokontroller, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED tersebut.
Program sebagai berikut ini



//Program LED 1. LED Menyala

/* deklarasi register AT89c51 */
#include <at89x51.h>      //jika menggunakan AT89C51

/* Program utama */
void main()
{
char a;  a=0x000;
while(1)
 {
   P0 = a;  //menyalakan Led semuanya
 }
}



3.     PEMROGRAMAN LED BERKEDIP

Setelah membuat dan menjalankan program menyalakan lampu LED, maka sekarang saatnya Anda membuat program kedua yang digunakan untuk menghidupkan LED berkedip.
Program sebagai berikut ini

//Program LED 2. LED Berkedip

/*------deklarasi register AT89c51---------*/
#include <at89x51.h>           //jika menggunakan AT89C51

/*---fungsi tunda 1 milidetik (kira-kira)--*/
void tunda1ms()   
{
 int i;
 for(i=0;i<150;i++);
}

/*--------fungsi tunda n milidetik--------*/
void tunda(int n) 
{
 int i;
 for (i=0; i<n;i++)
 tunda1ms();
}

/*-------------Program utama-------------*/
void main()
{
 char a;   char b;
 a=0x000;   b=0x0FF;

while(1)
 {
     P0= a;      //menyalakan Led semuanya
     tunda(500);    //memanggil fungsi tunda
     P0= b;          //mematikan semua Led
     tunda(500);    //memanggil fungsi tunda
 }
}




4.     PEMROGRAMAN LED FLIP FLOP 1

Setelah membuat dan menjalankan program menyalakan lampu LED berkedip, maka sekarang saatnya Anda membuat program ketiga yang digunakan untuk menghidupkan LED flip-flop 1.
Program sebagai berikut ini

//Program LED 3 LED Flip-Flop

/*----------deklarasi register AT89c51---------*/
#include <at89x51.h>

/*----fungsi tunda 1 milidetik (kira-kira)----*/
void tunda()
    {
        _asm
                mov r0, #0x0f5
          01$:  mov r1, #0x0ff
          02$:  mov r2, #0
                djnz r1, 02$
                djnz r0, 01$
        _endasm;
    }

/*--------------Program utama-----------------*/
void main()
{
 char a; 
 char b; 
 a=0x00f; 
 b=0x0f0;
 while(1)
 {
     P0= a;      //menyalakan Led port0 - port3 yang
     tunda();       //memanggil fungsi tunda
     P0= b;      //menyalakan Led port4 - port7 yang
     tunda();       //memanggil fungsi tunda
 }
}


5.     PEMROGRAMAN LED FLIP FLOP 2

Setelah membuat dan menjalankan program menyalakan lampu LED flip-flop pada pemrograman flip-flop 1, maka sekarang saatnya Anda membuat program keempat yang digunakan untuk menghidupkan LED flip-flop 2. Program LED flip-flop 2 ini berbeda dengan LED flip-flop 1. Program ini akan menyalakan LED flip-flop genap dan ganjil pada port 0
Program sebagai berikut ini

//Program LED 4 Flip-Flop genap dan ganjil

/* deklarasi register AT89c51 */
#include <at89x51.h>

/*-----------------fungsi tunda-----------------*/
void tunda()
    {
        _asm
                mov r0, #0x0f5
          01$:  mov r1, #0x0ff
          02$:  mov r2, #0
                djnz r1, 02$
                djnz r0, 01$
        _endasm;
    }

/*--------------Program utama-------------------*/
void main()
{
 char a;  
 char b; 
 a=0x55;  
 b=0xAA;

 while(1)
 {
     P0= a;     //menyalakan Led port genap yang lain
                      mati
     tunda();    //memanggil fungsi tunda
     P0= b;     //menyalakan Led port ganjil yang lain
                      mati
     tunda();    //memanggil fungsi tunda
 }
}


6.     PEMROGRAMAN LED BERJALAN KEKANAN

Setelah membuat dan menjalankan program menyalakan lampu LED flip-flop, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED berjalan kanan. Program LED berjalan kekanan ini dijalankan pada hardware nyala led berlogika tinggi atau logika 1. jika menggunakan logika rendah maka LED bukan menyala tetapi akan mati. Program LED berjalan kekanan menggunakan operasi geser kanan. Operasi geser kiri akan menggeser bit-bit kekanan sehingga bit 0 akan berpindah ke bit 1 dan bit 1 akan berpindah ke bit 2 dan seterusnya.
Program sebagai berikut ini

//Program LED 6 LED berjalan Kekanan

/* deklarasi register AT89c51 */
#include <at89x51.h>

/*   fungsi tunda 1   */
/*------------------------------------------*/
/*   fungsi tunda 1 milidetik (kira-kira)   */
/*------------------------------------------*/
void tunda1ms()   
{
 int i;
 for(i=0;i<150;i++);
}
/*--------------------------------------------*/
/*       fungsi tunda n milidetik             */
/*--------------------------------------------*/
void tunda(int n) 
{
 int i;
 for (i=0; i<n;i++)
 tunda1ms();
}

/*               Program utama                  */
void main()
{
  volatile unsigned char a=0x01;
  while(1)
    {
       a=((a>>7) | (a<<1)); //putar ke kanan 1 bit, bit
                                ke 0 akan
       tunda(1000); //sehingga efeknya seperti LED
                     berjalan
       P0=a;         // mengisi bit ke 7 dst
     }
}


7.     PEMROGRAMAN LED BERJALAN KEKIRI

Setelah membuat dan menjalankan program menyalakan lampu LEDberjalan kekanan, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED berjalan kekiri. Program LED berjalan kekanan menggunakan operasi geser kiri. Operasi geser kiri akan menggeser bit-bit kekanan sehingga bit 7 akan berpindah ke bit 6 dan bit 6 akan berpindah ke bit 5 dan seterusnya.
Program sebagai berikut ini

//Program LED 6 LED Berputar kekiri

/* deklarasi register AT89c51 */
#include <at89x51.h>

/*   fungsi tunda 1   */

/*------------------------------------------*/
/*   fungsi tunda 1 milidetik (kira-kira)   */
/*------------------------------------------*/
void tunda1ms()   
{
 int i;
 for(i=0;i<150;i++);
}
/*--------------------------------------------*/
/*       fungsi tunda n milidetik             */
/*--------------------------------------------*/
void tunda(int n) 
{
 int i;
 for (i=0; i<n;i++)
 tunda1ms();
}

/*               Program utama                  */
void main()
{
  volatile unsigned char a=0x01;
  while(1)
    {
    a=((a<<7) | (a>>1)); //putar ke kanan 1 bit, bit ke 0
                           akan
       tunda(1000);    //sehingga efeknya seperti LED
                           berjalan
       P0=a;         // mengisi bit ke 7 dst
     }
}


8.     PEMROGRAMAN MENGHIDUPKAN LED KE KIRI

Setelah membuat dan menjalankan program menyalakan LED ke kiri, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED ke kiri. Program menghidupkan LED dari kiri ke kanan menggunakan operasi pernyataan geser kanan.
Program sebagai berikut ini

//Program LED 7 menyalakan LED ke kiri
/* deklarasi register AT89c51 */
#include <at89x51.h>

/*--------------------------------------------*/
/*       fungsi tunda 1 milidetik (kira-kira)*/
/*--------------------------------------------*/
void tunda(int n) 
 {
     _asm
            mov r0, #0x0f5
      01$:  mov r1, #0x0ff
      02$:  mov r2, #0
            djnz r1, 02$
            djnz r0, 01$
     _endasm;
 }

/*----------------------------------------------*/
/*               Program utama                  */
/*----------------------------------------------*/
void main()
{
char a;
char k;

while(1)
 {
    a=0x07F;
        for (k=0;k<9;k++)
        {
            P0=a;           //mengeluarkan data LED satu
                              persatu
            tunda();     //sehingga efeknya seperti
                              LED berjalan
            a=a>>1;
        }
 }
}


9.     PEMROGRAMAN MENGHIDUPKAN LED KE KANAN

Setelah membuat dan menjalankan program menyalakan LED ke kiri, maka sekarang saatnya Anda membuat program yang digunakan untuk menghidupkan LED ke kanan Program menghidupkan LED ke kanan menggunakan operasi pernyataan geser kiri.
Program sebagai berikut ini
// Program LED 8 LED Berjalan kiri ke kanan
/* deklarasi register AT89c51 */  
#include <at89x51.h>

/*   fungsi tunda 1 milidetik (kira-kira)   */
/*------------------------------------------*/
void tunda1ms()   
{
 int i;
 for(i=0;i<150;i++);
}

/*       fungsi tunda n milidetik             */
/*--------------------------------------------*/
void tunda(int n) 
{
 int i;
 for (i=0; i<n;i++)
 tunda1ms();
}

/*----------------------------------------------*/
/*               Program utama                  */
/*----------------------------------------------*/
void main()
{
char a;  char k;
while(1)
 {
    a=0x0FE;
        for (k=0;k<9;k++)
        {
            P0=a;           //mengeluarkan data LED satu
                               persatu
            tunda(100);     //sehingga efeknya seperti
                                 LED berjalan
            a=a<<1;
        }
 }
}


10.     PEMROGRAMAN LED BERJALAN BOLAK-BALIK

Setelah membuat dan menjalankan program menyalakan lampu LED berjalan menyala kekiri, maka sekarang saatnya Anda membuat program ketuga yang digunakan untuk menghidupkan LED bolak balik. Program LED bolak balik menggunakan operasi pernyataan geser kanan dan geser kiri.
Program sebagai berikut ini

//Program LED 10 LED ping-pong
/* deklarasi register AT89c51 */
#include<at89x51.h>
void tunda()
    {
        _asm
                mov r0, #0x0f5
          01$:  mov r1, #0x0ff
          02$:  mov r2, #0
                djnz r1, 02$
                djnz r0, 01$
        _endasm;
    }
void jalankiri(unsigned int n)
{
    unsigned char i=0, a=0x01;
    P1 = 0;
    while(n)
        {
        for(i=0;i<7;i++) {       
    a=((a>>7) | (a<<1));
       tunda(); 
       P0=a;        
        }
    n--;
    }
}
void jalankanan(unsigned int n)
{
    unsigned char i=0, a=0x80;
    P1 = 0;
    while(n)
     {
        for(i=0;i<7;i++)
        {
    a=((a<<7) | (a>>1));
       tunda();   
       P0=a;       
        }
    n--;
    }
}
/*               Program utama                  */
void main()
{
iswanto:
    jalankiri(1);
    jalankanan(1);
    goto iswanto;
}











Universitas Medan Area Prodi Biologi Fakultas Sains dan Teknologi Fakultas Pertanian Prodi Agroteknologi Prodi Agribisnis Fakultas Teknik Prodi Elektro Prodi Mesin Prodi Arsitektur Prodi Informatika Prodi Sipil Prodi Industri Fakultas Psikologi Fakultas Isipol Prodi Pemerintahan Prodi Administrasi Publik Prodi Ilmu Komunikasi Fakultas Hukum Fakultas Ekonomi Prodi Akuntansi Prodi Manajemen Prodi Magister Psikologi Prodi Magister Hukum Prodi Magister Administrasi Publik Prodi Magister Agribisnis Prodi Doktor Ilmu Pertanian

Komentar

  1. I recently realized your website the other day and that i happen to be following it’s routinely. You’ve got great deal of tips proper here so i delight in your lifestyle of online site likewise. Preserve acknowledge that there are succeed! kampus terbaik di medan

    BalasHapus

Posting Komentar