Sunday, December 4, 2016

Menyalakan 8 Buah LED Menggunakan BASCOM-AVR Pada Atmega16/32/8535

Pembelajaran kita kali ini adalah tentang mikrkontrler, yang dimana kita akan membuat suatu simulasi yang dimana 8 Buah LED akan menyala. Disini saya menggunakan mikrokontroler Atmega16, Atmega 32, Atmega 8535. Aplikasi yang akan kita gunakan adalah ISIS Proteus dan BASCOM-AVR, yang simana untuk simulasinya adalah menggunakan ISIS Proteus, sedangkan untuk membuat dan mengcompile bahasa pemrogramannya adalah menggunakan BASCOM-AVR. sebelum melanjutkan ke pembelajaran, alangkah baiknya kamu membuat rangkainnya dulu di dalam proteus, contohnya sebagai berikut.


Rangkain yang saya membuat adalah rangkaian paling sederhana, karena dalam pembelajaran ini kita hanya menjalan suatu simulasi manyalakan LED. Gambar diatas adalah rangkaian yang akan kita pakai untuk melihat nyalanya 8 buah LED. Rangkaian ini adalah rangkain LED katoda yang dimana GND (Ground) di sambungkan dengan katoda LED. Nah, Berikut ini adalah Bahasa pemrograman untuk menyalah 8 buah LED :


$regfile = "m16def.dat"
$crystal = 12000000
Config Portd = Output
Portd = &B10000000
Waitms 10
End

Penjelasan Program :

$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 akan 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.

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”.

Portd = 255
End
Pernyataan diatas ini adalah untuk menyalakan LED nya. Disitu tertera “portd = 1” maka LED yang ada di paling kanan akan menyala, disini saya menggunakan angka desimal untuk menyalan LED nya. Kamu bisa ubah dengan angka Biner atau Angka Hexa. Jika kamu menggunakan angka Biner ubah programnya menjadi “Portd = &B11111111” karena rangkaian yang saya pakai dalam projek belajar kali ini adalah Rangkaian LED Katoda, maka angka 1 adalah nyala dan untuk 0 adalah mati. Maksud dari “Waitms 10” adalah untuk mempertahankan kondisi LED delama 10 Milisecond. Dan “END” adalah untuk mengakhiri program supaya tidak membaca program lainnya.

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