Selasa, 28 Juni 2011

pengetahuan AVR “LED Control”


Pada dasarnya setiap mikrokontroler memiliki bahasa dasar atau ASSEMBLER yang khusus diperuntukkan baginya. Begitu-pun dengan AVR. Namun berdasarkan pandangan kami, bahasa ASSEMBLER AVR lebih rumit untuk dipelajari dibandingkan dengan bahasa yang tingkatannya lebih tinggi, seperti bahasa “Basic” ataupun bahasa “C”. Karena itu, penjelasan kali ini adalah penggunaan bahasa “Basic” dengan menggunakan “BASCOM” sebagai program compiler-nya.
Materi kali ini adalah pengendalian 8 buah LED yang dirangkaikan pada PORTC dari ATmega8535(L) (bisa pula untuk IC ATmega16(L), ATmega32(L), ATmega163(L), ATmega323(L)) seperti yang terlihat pada gambar berikut.
Untuk memudahkan pembelajaran, sebaiknya menggunakan modul kami DI-Smart AVR System sebagai media praktik. Adapun langkah-langkah dalam pembuatan sistemnya adalah sebagai berikut:
  1. Modul yang dibutuhkan DI-Smart AVR System. (Merangkai komponen-komponen sesuai dengan gambar skematik rangkaian).
  2. Hubungkan adaptor DC pada JACK-DC. Tetapkan tegangan adaptor pada kisaran 9 s/d 12 VDC. Pastikan kutub positif berada pada bagian dalam. (Jika anda menyusun dari awal, maka pastikan sistem mendapatkan tegangan 5V [VCC = 5V]).
  3. Atur jumper JP3 pada posisi “LED CONNECTED” pada DI-Smart AVR System
  4. Unduh skrip program berikut (menggunakan BASCOM):
$regfile = “m8535.dat”        ‘Lokasi source code BASCOM untuk chip ATmega8535
$crystal = 4000000             ‘Sesuai dengan xtal0 = crystal yang digunakan pada rangkaian = 4MHz 
‘Jika anda menggunakan DI-Smart AVR System, maka crystal = 8000000 = 8MHz

Config Portc = Output         ‘Deklarasi PORTC sebagai output = keluaran LED

‘Membuat seluruh LED berkedip
Portc = 0                           ‘Nilai desimal 0 = seluruh pin Portc berlogika 0 = LED MENYALA
Wait 1                               ‘Waktu tunda = 1 detik
Portc = 255                       ‘Nilai desimal 255 = seluruh pin Portc berlogika 1 = LED PADAM
Wait 1

Portc = &B1111_1110         ‘LED L0 = menyala (&B = Biner)

Do
Rotate Portc , Left , 1         ‘Data pada Portc digeser ke kiri sebanyak 1-bit
Waitms 500                       ‘Tunda selama 500ms
Loop                                 ‘Loop seterusnya
End

◄ Newer Post Older Post ►