Led Berjalan ATMega16 (biner)

Tutorial LED berjalan menggunakan ATMega 16, bilangan yang digunakan adalah bilangan biner. Unruk mengendalikan nyala LED dengan bilangan biner cukup mudah. Pada tutorial ini dengan memberi kode “1” akan menyalakan LED dan kode “0” LED mati.

1. rangkaian

catatan: rangkaian tidak digambarkan semua. seperti kaki VCC dan Ground pada IC mikrokontroler ATMega16 tidak digambarkan.

2. kode program

#include <io.h>
#include <delay.h>
 
void main(void)
{
PORTC=0xFF;
DDRC=0xFF;
 
while (1)
    { 
 
    PORTC=0b00000000;
    delay_ms(300);
    PORTC=0b00000001;
    delay_ms(300);
    PORTC=0b00000010;
    delay_ms(300);
    PORTC=0b00000100;
    delay_ms(300);
    PORTC=0b00001000;
    delay_ms(300);
    PORTC=0b00010000;
    delay_ms(300);
    PORTC=0b00100000;
    delay_ms(300);
    PORTC=0b01000000;
    delay_ms(300);
    PORTC=0b10000000;
    delay_ms(300);
    }
}

3. Pembahasan

PORTC=0xFF;
DDRC=0xFF;

Kode program diatas adalah mengatur PORT C menjadi output/keluaran. output disini dimaksudkan adalah untuk menyalakan dan mematikan lampu LED.

    PORTC=0b00000000;
    delay_ms(300);

0b00000000 diartikan seperti ini: 0b -> menandakan bilangan biner, 00000000 -> delapan buah angka nol, jika diperhatikan PORTC terdapat 8 buah kaki. Jadi jumlah angka nol ini mewakili jumlah kaki PORTC dan nol memberi perintah untuk LED mati.

delay_ms(300) : delay -> tunggu/tunda, ms(300) -> artinya 300 milisecond. Baris kode program ini bila diartikan tunggu selama 300 milisecond atau 0.3 detik.

jadi dua baris kode program ini adalah memerintahkan LED PORTC untuk mati dan tunggu 0.3 detik sebelum melanjutkan program selanjutnya.

    PORTC=0b00000001;

penggalan program diatas menginstruksikan PORTC untuk mengeluarkan output 1 buah led menyala pada bit paling kecil yaitu pada PC.0. Hasil dari perintah PORTC=0x00000001 bisa dilihat pada gambar dibawah ini

berbagai kombinasi perintah bisa dilakukan seperti:

PORTC=0b00000011;
PORTC=0b10000001;
PORTC=0b00011000;
PORTC=0b10101010;
PORTC=0b11111111;
dan lain lain.

memang mudah memberi data/perintah menggunakan bilangan biner, tetapi ada kekurangan bila terlalu sering menggunakan bilangan biner yaitu banyaknya menggunakan bilangan ini biasanya akan sering terjadi kesalahan dalam menuliskan angka dan saking banyaknya angka juga menyulitkan dalam programer dalam membaca atau mengecek kode program. Ada bilangan lain yang lebih mudah untuk menghindari kekurangan penggunaan bilangan biner yaitu menggunakan bilangan hexsa.