Monday, December 5, 2016

Menyalakan LED Berjalan Kanan-Kiri Menggunakan BASCOM-AVR Pada Atmega16/32/8535

Kelaselektro kali ini ingin memberikan kamu artikel tentang pembelajaran Mikrokontroler. Yaitu simulasi menyalakan LED. Disini LED akan dinyalakan Berjalan dari kanan kemudian balik lagi kekiri. Saya akan menggunakan bahasa pemrograman basic untuk menyalakan LED nya yaitu menggunakan aplikasi BASCOM-AVR, dalam aplikasi ini juga kita bisa mengcompile file program untuk dipanggil pada saat simulasi. Untuk melihat simulasinya, saya akan menggunakan aplikasi Isis Proteus 7. Dalam pembelajaran ini IC mikrokontroler yang dipakai adalah Atmega16, Atmega32, dan Atmega8535. Pertama kamu harus buat rangkaian simulasi LED berjalan nya di isis proteus 7. Berikut contohnya sebagai berikut :

Rangkaian diatas yang saya buat adalah rangkaian sederhana, karena tujuan pembelajaran disini adalah untuk mensimulisasikan saja. Rangkaian LED ini adalah rangkaian LED KATODA, yaitu yang dimana GND (Ground) dipasang pada kaki katoda LED. Saya menggunakan Atmega16, tetapi jika kamu ingin mengguakan atemaga32/8535 boleh-boleh saja, karena struktur mikrokontrolernya sama saja. Oke, kalau gitu jika kamu sudah membuat rangkaian simulasinya, maka kita tinggal buat Bahasa Pemrogramannya di Bascom-Avr. Programnya sebagai berikut :

$regfile = "m16def.dat"

$crystal = 12000000
Config Portd = Output
Program:

‘kekanan

Portd = &B10000000 : Waitms 30
Portd = &B11000000 : Waitms 30
Portd = &B11100000 : Waitms 30
Portd = &B11110000 : Waitms 30
Portd = &B11111000 : Waitms 30
Portd = &B11111100 : Waitms 30
Portd = &B11111110 : Waitms 30
Portd = &B11111111 : Waitms 30
‘kekiri
Portd = &B11111110 : Waitms 30
Portd = &B11111100 : Waitms 30
Portd = &B11111000 : Waitms 30
Portd = &B11110000 : Waitms 30
Portd = &B11100000 : Waitms 30
Portd = &B11000000 : Waitms 30
Portd = &B10000000 : Waitms 30
Portd = &B00000000 : Waitms 30
Goto Program
End




Penjelasan Bahasa Pemrograman :

$regfile = "m16def.dat"


Pernyataan ini menunjukkan bahwa program yang kita buat ikut melibatkan file pre-prosesor m16def.dat. File ini telah ada dalam aplikasi BASCOM-AVR, sehingga kamu tinggal memanggilnya dengan menggunakan perintah $regfile. File preprosesor ini berisikan kode-kode pengaturan yang berkaitan dengan register dalam mikrokontroler yang akan digunakan. Maksud dari “m16def.dat” ini adalah sebuah program yang akan berjalan di mikrokontroler Atmega16, jika program kamu menggunakan Atmega 32 ubah dengan “m32def.dat” dan jika kamu menggunakan Atmega8535, maka ubah dengan “8535def.dat”.


$crystal = 12000000


Pernyataan ini menunjukan bahwa rangkaian yang kamu gunakan berfrekuensi 12 MHz atau 12.000.000 Hz. Jika kamu hanya menggunakan bahasa program ini untuk simulasi, frekuensi tidak berpengaruh akan jalannya rangkaian. Jika kamu memang ingin menggunakan program ini untuk praktek nyata, maka kamu harus tahu frekuensi rangkaian yang kamu buat, lalu masukan bahasa pemrogramannya dengan frekuensi yang di pakai.


Config Portd = Output


Pernyataan Ini menunjukan bahwa PORTD (I/O register yang ada dalam Mikrokontroler) adalah suatu keluaran/Output. Seperti pada gambar diatas saya menggunakan PORTD untuk jalur keluar LED nya. Jika kamu ingin menggunakan PORT lain boleh-boleh saja, Misalnya kamu ingin menggunakan PORTA ubah programnya menjadi “Config Porta = output”.


Program:
‘kekanan
Portd = &B10000000 : Waitms 30
Portd = &B11000000 : Waitms 30
Portd = &B11100000 : Waitms 30
Portd = &B11110000 : Waitms 30
Portd = &B11111000 : Waitms 30
Portd = &B11111100 : Waitms 30
Portd = &B11111110 : Waitms 30
Portd = &B11111111 : Waitms 30


Bahasa program yang diatas adalah bahasa program untuk menyalan LED berjalan Kekanan satu-satu. Maksud “Program:” disini adalah sub data untuk memberikan nama programnya. Kamu juga bias ubah sesuai yang kamu inginkan, misalnya “Haha:” “Lala:”. “Portd = &B1000000 : Waitms 30” maksudnya adalah lampu yang ada di paling kanan akan menyala, kemudian dalam 30 milidetik akan berpindah membaca “Portd = &B11000000 : Waitms 30” yaitu 2 LED dari kanan akan menyala, begitu seterusnya. Sehingga akan menyentuh pembacaan terakhir yaitu “Portd = &B11111111 : Waitms 30” maka LED akan menyala semua.


Portd = &B11111110 : Waitms 30

Portd = &B11111100 : Waitms 30
Portd = &B11111000 : Waitms 30
Portd = &B11110000 : Waitms 30
Portd = &B11100000 : Waitms 30
Portd = &B11000000 : Waitms 30
Portd = &B10000000 : Waitms 30
Portd = &B00000000 : Waitms 30
Goto Program
End


Bahasa program yang diatas adalah bahasa program untuk menyalan LED berjalan Kekiri satu-satu yaitu untuk mengembalikan keadaan awal LED (Mati semua).” Portd = &B11111110 : Waitms 30” Setelah pembacaan akhir yang kekanan tadi yaitu LED menyala semua, maka akan membaca program untuk mengembalikan seperti sebelumnya yaitu LED yang nyala hanya 7 kemudian dalam 30 milidetik akan membaca program dibawahnya yaitu “Portd = &B11111100 : Waitms 30” maka LED yang akan menyala hanya 6 LED. Dan akan membaca seterusnya hingga menyentuh program “Goto Program” , ini adalah kode untuk memerintah pembacaan kembali ke start atau keadaan awal. Maka LED akan mengulang-ulang terus menerus seperti itu. Untuk “Goto Program” misalnya kamu tadi membuat sub datanya “Haha:” maka ubah dengan “Goto Haha”.

Mengcompile Program :


Jika sudah kamu buat bahasa pemrogramannya, maka kamu tinggal save ditempat yang diinginkan kemudian Compile dengan mengklik menu program kemudia pilih Compile, atau bisa juga dengan menekan Shortcut F7.

Menjalankan Simulasi :
Buatlah rangkain seperti diatas di aplikasi Proteus, disini saya menggunakan proteus versi 7. jika sudah buat. Klik 2x pada IC Mikrkntroler, maka akan keluar jendela untuk memasukan file program yang tadi kamu compile, Tekan icon folder yang ada di baris Program File. Cari file program yang tadi kamu simpan, pilih file dengan format .hex . kemudian open dan ok. Tinggal kamu klik play atau tekan F12 untuk melihat simulasinya.

No comments:

Post a Comment