Thursday 13 September 2012

Latihan Dasar Mikrokontroler AVR (I/O)

Untuk belajar mikrokontroler setidaknya harus mengetahui tentang input dan output pada mikrokontroler. Pada artikel ini saya akan sedikit membahas mengenai penggunaan port pada mikrokontroler AVR untuk membuat aplikasi sederhana yaitu menyalakan pin pada port mikrokontroler dan memberikan masukan ke pin mikrokontroler. Untuk latihan saya akan menggunakan mikrokontroler AVR ATMega 8535. Sebenarnya selain tipe tersebut dapat pula menggunakan tipe ATMega 16 / 32 karena konfigurasi pin pada mikrokontroler tersebut sama hanya saja kapasitas memory flash berbeda, sedangkan pada programnya cukup mengganti header saja yang semula bertuliskan "mega8535" menjadi "mega16" atau "mega32".


Pada mikrokontroler tersebut untuk membuat fungsi keluaran atau masukan pada masing masing port terlebih dahulu harus melakukan setting pada register tiap port yaitu DDRA untuk PORTA, DDRB untuk PORTB dan seterusnya. Register pada DDR tersebut menentukan fungsi pada tiap port dan pin sebagai masukan atau keluaran. Untuk masukan kita bisa memerikan logika 0 dan untuk keluaran  logika 1 pada DDR tersebut. Misal akan membuat fungsi PORTA sebagai masukan dan PORTB sebagai keluaran maka kita beri nilai saja DDRA=0x00; dan DDRB=0xFF; atau dalam biner dituliskan DDRA=0b00000000; dan  pada DDRB0b11111111;
Apabila ada suatu pertanyaan, "Mungkin tidak membuat masukan dan keluaran dalam satu PORT?" jawabnya mungkin saja, buatlah nilai DDR tersebut bervariasi misal DDRA=0b00001111; artinya fungsi PORTA pada pin 0 sampai 3 sebagai keluaran dan pin 4 sampai 7 sebagai masukan.
Agar memudahkan pembelajaran tentang mikrokontroler adakalanya harus mencobanya terlebih dahulu, berarti syarat utama untuk berlatih mikrokontroler harus memiliki modul sistem minimum mikrokontroler yang  sudah dilengkapi dengan downloader karena bila tidak memiliki sangatlah sulit untuk melihat hasil dari program yang sudah kita buat. Namun apabila anda tidak punya bagaimana? jangan khawatir karena sudah ada suatu aplikasi software yang dapat dilakukan untuk melakukan simulasi suatu rangkaian mikrokontroler yaitu proteus (ISIS).
Rangkaian simulasi sistem minimum sederhana menggunakan mikrokontroler ATMega 8535 menggunakan 2 konfigurasi Led.



 
Untuk lebih jelas anda boleh mencoba download beberapa contoh aplikasi sederhana berikut ini:
======== untuk yang menggunakan bahasa c =========
Source code (codevision) contoh aplikasi input output
======== untuk yang menggunakan bahasa assembly ====
Source code (AVR Studio) contoh aplikasi input output
Source code (AVR Studio) contoh aplikasi counter biner
======== file simulasi proteus ====================
File latihan proteus untuk contoh aplikasi running led
File latihan proteus untuk contoh aplikasi input output
File latihan proteus untuk contoh aplikasi counter biner
======== tutorial dasar ========================
Untuk yang bingung atau pemula silahkan baca tutorial berikut:
Tutorial penggunaan Codevision AVR
Tutorial penggunaan AVR Studio
Tutorial flash program ke dalam mikrokontroler
==========================================

 Tampilan Codevision AVR untuk latihan running led menggunakan bahasa  C.










Tampilan AVR Studio untuk latihan running led menggunakan bahasa assembly. Bagi yang tertarik menggunakan AVR-GCC pada AVR Studio dapat menyalin program bahasa C di source codevision ke lembar kerja AVR-GCC dengan melakukan sedikit modifikasi header karena bahasa yang digunakan hampir mirip.

7 comments:

  1. berkunjung,.,,,
    http://mekatronika-corner.blogspot.com/

    ReplyDelete
  2. Kepada para pembaca mohon maaf apabila banyak source listing program, gambar dan rangkaian yang tidak dapat ditampilkan seluruhnya, karena banyaknya artikel di blog ini yang sudah banyak di copy paste tanpa menyertakan sumbernya. Ada beberapa yang sudah terdeteksi akan tetapi yang paling banyak di:
    http://warunkilmu.blogspot.com
    http://instrument-asyik.blogspot.com/2012/09/latihan-dasar-mikrokontroler-avr-io.html

    jika ada pembaca yang berminat dengan salah satu artikel harap mencantumkan sumber blog ini, dan apabila memerlukan listing program atau rangkaian dapat melakukan kontak lewat email. Terima kasih.

    ReplyDelete
  3. biasanya klo coding pakek asembler itu pakek apa sih bang

    ReplyDelete
  4. gan, ketika saya ingin menyalakan seven segment common anoda...PORT nya saya setting sebagai berikut :
    PORTX=0x00;
    PORTX=0xFF;
    seven segment nya dapat menyala..
    tetapi ketika saya ganti setting PORT nya dengan :
    PORTX=0xFF;
    PORTX=0xFF;
    seven segment nya menyala juga...
    kog bisa gitu ya gan,, mhon pencerahannya ? :D

    ReplyDelete
  5. Gan, mw nanya nih saya msh awam dg namanya pemrograman elektronika mgnai avr dan proteus,bljr pertama tiu gmn?Thx

    ReplyDelete
  6. saya mau nanya mas, masih bingung soalnya. maksud settingan port dan ddr itu bagaimana. contohnya running led saat saya setting DDRA sebagai output DDRA=0xFF dan PORTA=0xFF dan saya setting PORTA=0x00. keduanya sama2 berhasil dirunning led saya. yang saya tanyakan bedanya apa setingan tersebut? kenapa suatu waktu port harus oxff dan oxoo? terimakasih

    ReplyDelete