Monday, January 26, 2015

Membuat aplikasi LED berjalan

kita akan mencoba untuk membuat aplikasi led berjalan, tentunya menggunakan AVR Starter KIT ANFA. saya ingat sahabat bahwa dalam sebuah buku, hehehe, yang pernah saya baca bahwa banya orang yang meremahkan, "kalo hanya untuk menyalakan led aja buat apa pake mikro" nah kalo nyalain LED aja gak bisa apa lagi mengakses yang lain kan dasarnya memang dari sini. langsung aja kita ke program.


Dalam  Starter kit Led  terpasang pada Port C dengan kondisi active low, sehingga LED membutuhkan logic 0 untuk bisa menyala. Untuk menyalakan LED instruksi pertama yang harus dilakukan adalah melakukan konfigurasi PORT C sebagai Output, langsung kita lihat pada program.


$regfile = "m32def.dat"                                                                      ‘jenis IC yang digunakan atmega32
$crystal = 16000000                                                                         ‘Crystal yang digunakan 16MHz
Config Portc = Output                                                                       ‘Configurasi port C sebagai Output
Portc = &B01010101                                                            ‘mengirimkan data BINER 8 bit pada port C
End                                                                                                                          ‘mengakhiri program

Agar lebih paham kita akan membuat animasi led berkedip bergantian ganjil genap berulang terus menerus.
Susunan program secara sederhana sebagai berikut.

$regfile = "m32def.dat"                                                          ‘jenis IC yang digunakan atmega32
$crystal = 16000000                                                               ‘Crystal yang digunakan 16MHz
Config Portc = Output                                                              ‘Configurasi port C sebagai Output
Do                                                                                         ‘DO merupakan bagian awal program berulang
Portc = &B10101010                                                                                            ‘menyalakan led Ganjil
wait 1                                                                                                                     ‘penundaan 1 detik        
Portc = &B01010101                                                                                             ‘menyalakan led Ganjil
wait 1                                                                                                                     ‘penundaan 1 detik  
Loop                                                                                         ‘looping atau melompat ke awal program berulang “Do”
End                                                                                                                         ‘mengakhiri program

Sangat mudah bukan untuk melakukan akses pada LED display, selanjutnya kita akan melakukan animasi menggeser Led kea rah kiri satu perpindahan dengan cara manual.

$regfile = "m32def.dat"                                                            ‘jenis IC yang digunakan atmega32
$crystal = 16000000                                                                           ‘Crystal yang digunakan 16MHz
Config Portc = Output                                                       ‘Configurasi port C sebagai Output
Do                                                                          ‘DO merupakan bagian awal program berulang
Portc = &B11111110                                                                      ‘menyalakan led pertama
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11111101                                                                      ‘menyalakan led kedua
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11111011                                                                      ‘menyalakan led kega
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11110111                                                                      ‘menyalakan led keempat
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11101111                                                                      ‘menyalakan led kelima
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11011111                                                                      ‘menyalakan led keenam
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B10111111                                                                      ‘menyalakan led ketujuh
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B01111111                                                                      ‘menyalakan led kedelapan
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Loop                                                                                                    ‘looping atau melompat ke awal program berulang “Do”
End                                                                                                      ‘mengakhiri program

Aplikasi selanjutnya kita akan mengkombinasikan LDC dengan LED dalam satu susunan program yang padu. Kita akan menggeser nyala led ke kiri satu perubahan dan kita akan menghitung berapa kali led berulang dan di tampilkan ke LCD. WOW akses LCD dengan mudah.

$regfile = "m32def.dat"                                                                     ‘jenis IC yang digunakan atmega32
$crystal = 16000000                                                                        ‘Crystal yang digunakan 16MHz
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2      ‘konfigurasi pin LCD 
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5            ‘konfigurasi pin LCD 
Config Lcd = 16 * 2                                                                                ‘jenis LCD yang digunakan 16 * 2
Cursor Off                                                                                               ‘cunsor dimatikan
Config Portc = Output                                                                        ‘konfigurasi port C sebagai output
Dim A As Byte , B As Byte                                                                ‘A & B merupakan Byte data
A = 0                                                                                                 ‘A di isi dengan nilai 0
Cls                                                                    ‘lcd di bersihkan dahulu untuk pemastikan LCD bersih
Lcd "geser kiri"                                                                 ‘menampilkan tulisan “geser kiri”
Cls                                                                    ‘lcd di bersihkan dahulu untuk pemastikan LCD bersih
Lowerline                                                                         ‘pindah cunsor pada baris  bawah
Lcd "ulang ke = "                                                              ‘menampilkan  tulisan “ulang ke =”
Do                                                                          ‘DO merupakan bagian awal program berulang
Portc = &B11111110                                                                      ‘menyalakan led pertama
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11111101                                                                      ‘menyalakan led kedua
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11111011                                                                      ‘menyalakan led kega
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11110111                                                                      ‘menyalakan led keempat
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11101111                                                                      ‘menyalakan led kelima
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B11011111                                                                      ‘menyalakan led keenam
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B10111111                                                                      ‘menyalakan led ketujuh
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Portc = &B01111111                                                                      ‘menyalakan led kedelapan
Waitms 100                                                                                          ‘tunda selama 100 mili detik
Incr A                                                                                                   ‘menaikkan nilai dari A
Locate 2 , 12                                                                                        ‘pindah cunsor ke baris ke 2 kolom ke12
Lcd A                                                             ‘menampilkan nilai dari A ke lokasi baris ke 2 kolom ke12
Waitms 100                                                                                           ‘tunda selama 100 mili detik
Loop                                                               ‘looping atau melompat ke awal program berulang “Do”

End                                                                                                        ‘mengakhiri program

kemudian banyak sahabat yang bertanya kok programnya jadi panjan banget. hehehe pertama gini dulu biar kelihatan betul instruksi dan paham maksutnya. nah program ini bisa di sederhanakan jika sahabat sudah paham betul. dapatkan lebih banyak contoh di manual book yang tentunya satu paket dengan ALFA ya. tunggu pada post selanjutnya salam teknik sahabat.

jika sahabat ada yang berminat bisa langsung klik link dibawah.




http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html