• Microcontroler AVR Running LED (atmel studio 7)

     

     Robosoft Labs 28 Pin AVR Development Board, Skurl395, Rs 299 /piece | ID:  14026266162

     

    Pada pertemuan kali kita akan mempejari dan membuat program untuk LED berkedip………

                      1.Pengertian ……

    Apa itu blink LED adalah suatu cara untuk membuat LED berkedip dengan durasi yang dapat disetting

    catatan:untuk dapat membuat program ini pembaca diharapkan telah menguasai…….

    ·       Sistem bilangan (khususnya binner dan hexadecimal)

    ·       Telah mengetahui dan dapat mensetting DDR pada Atmega

    ·       Telah mengetahi PORT input & output pada atmega

    ·       Telah mengetahui cara membuat Sistem Minimum pada Atmega

    ·       Telah mengetahui cara pemberian Power pada Atmega

     

    Secara sederhana urutan langkah-langkah untuk membuat LED berkedip adalah sebagai berikut :

    1.memasukan library Atmega pada program (termasuk library untuk delay).

    2.mendefinisikan setiap register yang akan digunakan (DDR,PORT,dan PIN).

    3.membuat main program atau program utama

    4.menuliskan program untuk membuat bit berjala dari bit rendah ke  bit besar dan bit besar ke bit kecil pada satu port yang terdapat 8 pin yang dimulai dari PINx0.

    5.menuliskan return 0; sebagai pengulangan terus menerus jika syarat masih terpenuhi.

     

     

     

    Gambar rangkaian untuk runing LED pada atmega 8 dengan Push Button untuk Reset 

    // contoh program untuk membuat berjalan dari kiri ke kanan//

    for (i=0; i<7;i++)    // Membuat perulangan untuk i dengan syarat    // tertera dalam fungsi for

                {

                      PORTD = 1<<i;    // Memberikan nilai 1 pada i

                      _delay_ms(100); // delay selama 0.1 Sekon

                      // Perulangan akan terjadi sebagai berikut

    // Setiap nilai i akan bertambah 1 sampai syarat yang diatas terpenuhi

                     

          }

     // contoh program untuk membuat berjalan dari kanan ke kiri//

    for (i=7; i>0;i--) // Membuat perulangan untuk i dengan syarat tertera dalam fungsi for

               {

                    PORTD = 1<<i;    // Memberikan nilai 1 pada i

                    _delay_ms(100); // delay selama 0.1 Sekon

                    // Perulangan akan terjadi sebagai berikut

                    // Setiap nilai i akan berkurang 1 sampai syarat yang diatas terpenuhi

                   

         }

    AVR ATmega32 Development Board

    // RUNING LED DARI KIRI KENAN DAN DARI KANAN KE KIRI//

     

    #define F_CPU 10000000UL       // Mendefinisikan chip bekerja pada           frekuensi 1MHz

    #include <avr/io.h>            // Memasukan library input / output atmega

    #include <util/delay.h>        //  Memasukan library delay atmega untuk   port input output

    #define LED_DDR      DDRD      // Meletakan DDRD untuk Data pada LED

    #define LED_PORT     PORTD     // Meletakan PORTA untuk Data output LED

    #define LED_PIN      PIND      // Meletakan PIND untuk Data pada setiap pin               untuk LED

     

    int main(void)

    {

         DDRD = 0XFF;    // Membuat PORTA sebagai Output

    int i = PORTD; // Membuat variabel i sebagai pengganti PORTD untuk menyingkat penulisan

     

     

         while (1)

         {

               // Runing LED dari kiri ke kanan

     

    for (i=0; i<7;i++) // Membuat perulangan untuk i dengan syarat tertera dalam fungsi for

               {

                    PORTD = 1<<i;   // Memberikan nilai 1 pada i

                    _delay_ms(100); // delay selama 0.1 Sekon

     

                    // Perulangan akan terjadi sebagai berikut

    // Setiap nilai i akan bertambah 1 sampai syarat yang diatas terpenuhi

                   

               }

     

               // Runing LED dari kanan ke kiri

     

    for (i=7; i>0;i--) // Membuat perulangan untuk i dengan syarat tertera dalam fungsi for

               {

                    PORTD = 1<<i; // Memberikan nilai 1 pada i

                    _delay_ms(100); // delay selama 0.1 Sekon

                    // Perulangan akan terjadi sebagai berikut

    // Setiap nilai i akan berkurang 1 sampai syarat yang diatas terpenuhi

                   

               }

     

    // Variasi kode dengan menggunkan while sebagai pengganti loop for 

      /*

          

     

           while(i<7)

           {

               PORTD = 1<<i;

               _delay_ms(100);

               PORTD = i+1;

           }

     

           while(i>0)

           {

                 PORTD = 1<<i;

                 _delay_ms(100);

                 PORTD = i-1;

           }

     

    return 0;

    // Perulangan terus menerus jika syarat pada program masih bisa dipenuhi

    }

     

    catatan:

         1.Software yang digunakan adalah Atmel Studio

         2.Kabel unutuk burn hex file adalah kabel USB ASP

     

     


  • You might also like

    Tidak ada komentar:

    Posting Komentar

Story Posts

featured/recent

Formulir Kontak

Footer Copyright

Design by - Blogger Templates | Distributed by Free Blogger Templates

About Us

Piki Bloggers Template is Designed Theme for Giving Enhanced look Various Features are available Which is designed in User friendly to handle by Piki Developers. Simple and elegant themes for making it more comfortable