Pagi-pagi, masih terbangun, sambil nunggu ngantuk ane share tentang aplikasi mikrokontroler untuk menyalakan 8 led pada port A. Mikrokontroler yang dipakai adalah mikrokontroler AVR atmega32.
Pada postingan sebelumnya kan udah ane bahas tentang mikrokontroler dan juga bascom avr. semoga postingan ini dapat membantu teman2 buat belajar mikrokontroler khususnya menggunakan bahasa basic.
Langsung aja ini rangkaiannya menggunakan aplikasi proteus, mungkin nanti ane bahas juga tentang ni proteus dipostingan selanjutnya. proteusnya versi 7.5 SP3 :
Led dipasang pada port A atmega32, terdapat 8 buah led yang masing-masing dihubungkan pada PORTA.0 - PORTA.7 , kenapa digunakan resistor 330ohm?? karena resistor ini digunakan untuk mengurangi kecerahan dari led yang dipakai, semakin besar hambatan nya maka led akan semakin redup begitu pula sebaliknya. Pada aplikasi ini led menggunakan active low.
Active low?? Apa itu?? hehe active low itu led akan menyala apabila diberikan logika 0, dengan kata lain untuk menyalakan led itu maka kita keluarkan logika low atau '0'. kok bisa?? yaa karena kan anoda led terhubung dengan VCC atau tegangan 5volt. sehingga untuk menyalakan led itu kita butuh gnd untuk menyalakan led itu, gnd dalam hal ini dapat digunakan logika '0' atau low. Atau dengan kata lain ini mengunakan konfigurasi common anode.
listing program :
$regfile = "m32def.dat"
$crystal = 11059200
Config Porta = Output
Led Alias Porta
Led = &B11111110
Do
Rotate Led , Right , 1
Waitms 100
Loop
$crystal = 11059200
Config Porta = Output
Led Alias Porta
Led = &B11111110
Do
Rotate Led , Right , 1
Waitms 100
Loop
penjelasan:
$regfile = "m32def.dat", digunakan untuk mendeklarasikan pustaka berdasarkan mikrokontroler yang digunakan, pada aplikasi ini digunakan atmega32 sehingga "m32def.dat", bisa saja digunakan atmega16 maka pustakanya menjadi "m16def.dat".
$crystal = 11059200 , digunakan untuk menentukan frekuensi kerja dari mikrokontroler ini, pada aplikasi ini digunakan untuk kristal 11,05920 MHz.
Config Porta = Output -> perintah ini digunakan untuk mengkonfigurasi porta sebagai output
Led Alias Porta -> alias digunakan untuk menyatakan namalain dari hardware yang digunakan sehingga porta nama lainnya adalah led
Led = &B11111110 -> pada kondisi awal, led diberikan logika 0 untuk porta.0 selain itu diberikan logika 1. (porta.1 - porta.7)
Led Alias Porta -> alias digunakan untuk menyatakan namalain dari hardware yang digunakan sehingga porta nama lainnya adalah led
Led = &B11111110 -> pada kondisi awal, led diberikan logika 0 untuk porta.0 selain itu diberikan logika 1. (porta.1 - porta.7)
Do -> memulai perintah
Rotate Led , Right , 1 -> menggeser nyala led kekanan satu per satu atau 1 bit
Waitms 100 -> digunakan tundaan selama 100 milisekon sehingga setiap pergeseran bit di berikan tundaan selama 100milisekon
Loop -> berulang terus, tiada henti hehehehe
Rotate Led , Right , 1 -> menggeser nyala led kekanan satu per satu atau 1 bit
Waitms 100 -> digunakan tundaan selama 100 milisekon sehingga setiap pergeseran bit di berikan tundaan selama 100milisekon
Loop -> berulang terus, tiada henti hehehehe
Hasilnya, led akan menyala satu per satu dan akan bergeser kekanan, kenapa pada saat led disimulasikan, led yang menyala pertama kali pada porta.7 kenapa bukan porta.0. karena pada program itu dieksekusi dari perintah do sampai loop, sehingga setelah Do maka led langsung digeser, sehingga begitu lah hasilnya.
untuk filenya bisa didownload dibawah ini :listing
simulasi proteus
Semoga bermanfaat, mohon maaf apabila ada salah kata, makasih :D.
2 komentar:
salam kenal mas, saya juga anak elektro, lagi belajar mikrokonroler dan juga blog
manteb ini gan, terimakasih
https://www.tokopedia.com/codyonline/etalase/blower-solder-uap
Posting Komentar
Silahkan berkomentar