Memprogram LED ATMega (1); Running LED

Belajar mikrokontrol ATMega atau jenis mikrokontroler lain pada dasarnya cukup mudah. Kita hanya memerlukan sebuah program compiler berbasis bahasa C, Basic maupun Assembly serta sebuah aplikasi simulasi, tentu saja harus dibarengi keinginan untuk mempelajarinya 🙂

LED adalah salah satu komponen output dasar pada elektronika yang sering digunakan pada project belajar pertama dalam mata kuliah pemrograman mikrokontroler atau mikroprosesor. Program running led adalah program dimana led akan menyala bergantian dari salah satu port ke port selanjutnya.

Berikut adalah listing program running LED pada codevision AVR menggunakan ATmega 16 dan disimulasikan menggunakan software simulasi ISIS proteus.

Untuk membuat nyala running terlihat oleh mata, kita menggunakan pustaka delay pada codevision untuk membuat delay selama 50 mili detik.

#include <mega16.h>
#include <delay.h>
int geser=1;
//program diambil dari http://anotherorion.com
//running led
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
delay_ms(50);
PORTA=0x01;
delay_ms(50);
while (1)
      {
        if(geser<0)
        {
        geser=0x01;
        }
        delay_ms(50);
        PORTA=geser;
        geser<<=1;     //melakukan shift register 
      };
}

running led

Nah, mudah bukan? selamat mencoba

Butuh contoh aplikasi codevision dan proteus schematicnya bisa didownload disini, setelah mempelajari modul ini kita bisa beranjak mempelajari modul memprogram inner running led

BACA JUGA:   Arduino dan ATMega

program running led, membuat running led dengan atmega16, running led, program running led atmega16, program shift led atmega 16, running led cvavr, program runing led pakai atmega 16, program runing led, program avr running led, koding running led

12 Komentar

  1. Muhammad Wildan Balas

    Int geser ini menggantikan fungsi apa ya? Kalau cuma int geser yang di masukkan yang timbul warning, "expression with posibly no effect" di bagian badan program

  2. Priyo Harjiyono Balas

    melakukan shift register mas, perintah geser<<=1 menggeser nyala led dari PORTA.0 sampai PORTA.7

    • Faish Balas

      Pak.. bagaimana kalau sy ingin menggeser nyala lamounya setelah dr port 1-7 kemudian menggeser dg kebalikanya?

      • anotherorion PenulisBalas

        bikin satu lagi conditional ifnya mas, klo tidak bisa juga pake while, dimulai dari 0x80 dan digeser dengan perintah geser>>=1;

  3. muhammad wildan Balas

    Sipp mas nice info,
    1 pertanyaan lagi : Kalau semisal porta=0xff kan artinya semua port a ngasih sinyal 1 dan porta=0x00 semua port a ngasih sinyal 0, kalau PORTA=0x01 itu maksudnya apa ya?
    Trims

  4. Muhammad Wildan Balas

    Sipp mas nice info,
    1 pertanyaan lagi : Kalau semisal porta=0xff kan artinya semua port a ngasih sinyal 1 dan porta=0x00 semua port a ngasih sinyal 0, kalau PORTA=0x01 itu maksudnya apa ya?
    Trims

  5. Priyo Harjiyono Balas

    Muhammad Wildan hanya PORTA.0 yang ngasih sinyal 1 mas, sisanya sinyal 0

  6. jojo Balas

    kog punya saya keluar ” Linker : ” error program has no ‘ main ‘ function . mohon di bantu .

Berikan tanggapan anda

This site uses Akismet to reduce spam. Learn how your comment data is processed.