Langsung ke konten utama

ATMEGA16


APLIKASI INPUT OUTPUT

Pendahuluan
Pemrograman I/O pada mikrokontroler merupakan dasar dari prinsip pengontrolen berbasis mikrokontroler, dimana orientasi dari penerapan mikrokontroler adalah untuk mengendalikan suatu sistem berdasarkan informasi yang diterima, lalu diproses oleh mikrokontroler, dan dilakukan aksi pada bagian output sesuai program yg telah ditentukan sebelumnya.

1.1.     Konsep I/O ATMega16

Gambar berikut ini merupakan susunan kaki standar 40 pin DIP ATMega16.


Terlihat pada gambar diatas, terdapat 4 buah port, yaitu PORTA, PORTB, PORTC dan PORTD yg semuanya dapat diprogram sebagai input ataupun output. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up.
Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. 


Pin I/O pada amikrokontroler AVR dapat dikonfigurasi sebagai input atau output dengan cara mengubah isi I/O register Data Direction Register. Misalnya jika ingin Port B dikonfigurasikan sebagai out maka DDRB harus diset sebagai 0xFFH (sama dengan 255). Jika sebagai input maka diset 0x00H (sama dengan 0).
Contoh :
  • DDRB = 255  // Port B dikonfigurasikan sebagai output
  • DDRD = 0x00 // Port d dikonfigurasikan sebagai input.
Untuk mendeteksi input pada salah satu port, dapat digunakan fungsi PINx, sedangkan untuk mendeteksi per pin pada suatu port dapat digunakan fungsi Pinx.bit.

1.2.     RANGKAIAN LAMPU LED

Rangkaian minimum untuk menghidupkan 8 LED melalui Port B ditunjukan pada Gambar 1.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port B, port B harus dikirim atau diberi logika ‘0’. 

Gambar 1.1.      Hasil pemasangan komponen rangkaian lampu led

1.3.     PEMROGRAMAN MENYALAKAN LED

Langkah – langkah pemrograman.
1.      Buka Codevision AVR dari komputer anda.
2.      Pilih File -à New à Project
3.      Ketika muncul jendela yang meminta memilih pengaktifan CodeWizzard pilih YES
4.      Sehingga muncul jendela CodeWizardAVR untuk mensetting pemilihan IC mikrokontroler, Nilai Crystal (clock), Setting Port sbg I/O.
   
5.      Masih di jendela CodeWizard, dibagian toolbar pilih File à Generate, Save and Exit.
6.      Kemudian beri nama file yang anda inginkan (jangan ada spasi) sebanyak 3 x dg nama file yg sama.
7.      Tambahkan #include setelah #include
8.      Cek inisialisasi PORT B sebagai output.
9.      Tuliskan perintah ini di program utama :
PORTB = 0x00 ;  // Port B diberi logika 00000000 untuk menyalakan lampu.
delay_ms(100);
10.  Cek kebenaran penulisan program dengan pilih Project -à Compile , lihat apakah ada pesan kesalahan. Jika tidak ada kesalahan Pilih Project à Build untuk menghasilkan file turunan obj, dan hex.
11.  Untuk mensimulasikan silahkan buka program Proteus ISIS, klik 2 x di gambar IC ATMega16 sampai muncul jendela Edit Component, klik tanda folder di program file untuk mencari file berekstensi .hex (biasanya di folder exe ditempat menyimpan file codevisionAVR). Klik OK. Dan jalankan simulai dengan klik tanda play
12.  Untuk mendownload ke mikrokontroler ikuti langkah berikut : Copy-kan file yg berkstensi hex ke folder tempat menyimpan program AVRdude dan mouse.bat
13.  Dalam jendela CodeVisionAVR, klik Tools à Configure sehingga muncul jendela :
14.  Klik mouse.bat kemudian klik Settings sehingga muncul jendela berikut, pada Command Line Parameters ketikkan nama file hex yg ingin dijalankan. Klik OK
15.  Kemudian Pada toolbar CodeVisionAVR klik Tools à mouse.bat . Tunggu sampai file berhasil didownload ke mikrokontroler. Sebelum langkah ini dilakukan pastikan bahwa modul mikrokontroler sudah tersambung ke PC dan driver usb sudah terinstall.

1.4.     PEMROGRAMAN LED FLIP FLOP

  • Ulangi langkah 1 sampai dengan 8 dari pemrograman menyalakan LED dengan mengganti nama file menjadi flipflop.
  • Untuk Langkah 9 ketikkan program berikut :
PORTB = 0x00;
delay_ms(100);
PORTB = 0xFF;
delay_ms(100);
  • Ulangi langkah 10 sampai dengan 15.

1.5.     PEMROGRAMAN INPUT OUTPUT SAKLAR

•    Ulangi langkah 1 sampai dengan 8 dari pemrograman menyalakan LED dengan mengganti nama file menjadi saklar. Dengan perubahan di langkah 4 sbb :
 
•     Untuk Langkah 9 ketikkan program berikut :
PORTB = PINC;
•     Ulangi langkah 10 sampai dengan 15.



Komentar

Postingan populer dari blog ini

Profile Tokoh (Eko Pratomo Suyatno) : Ayah Berhati Malaikat

  Eko Pratomo Suyatno, siapa yang tidak kenal lelaki bersahaja ini? Namanya sering muncul di koran, televisi, di buku-buku investasi dan keuangan. Dialah salah seorang dibalik kemajuan industri reksadana di Indonesia dan juga seorang pemimpin dari sebuah perusahaan investasi reksadana besar di negeri ini. Dalam posisinya seperti sekarang ini, boleh jadi kita beranggapan bahwa pria ini pasti super sibuk dengan segudang jadwal padat. Tapi dalam note ini saya tidak akan menyoroti kesuksesan beliau sebagai eksekutif. Karena ada sisi kesehariannya yang luar biasa!!!! Usianya sudah tidak terbilang muda lagi, 60 tahun. Orang bilang sudah senja bahkan sudah mendekati malam, tapi Pak Suyatno masih bersemangat merawat istrinya yang sedang sakit. Mereka menikah sudah lebih 32 tahun. Dikaruniai 4 orang anak. Dari isinilah awal cobaan itu menerpa, saat istrinya melahirkan anak yang ke empat. tiba-tiba kakinya lumpuh dan tidak bisa digerakkan. Hal itu terjadi selama 2 tahun,

Berlapang Dada - Sekuat Karang

  Aku tidak boleh menangisi nasibku yang bersuamikan siapa. Ini pilihanku sendiri. Kalaupun pilihanku ini membuat hidupku susah dan hidup sengsara lagi seperti apa yang dialami orangtuaku dulu, semoga Alah kuatkan pundakku. Aku tak boleh meratapi apa yang terjadi padaku kemarin, saat ini ataupun yang terjadi di masa depan meski itu akan terasa pahit dan menyedihkan dijalani. Menangis hanya akan membuatku tidak berani menerima kenyataan dan takut unntuk melangkah maju meninggalkan beban yang ada di pundaku saat ini. Kalaupun aku melangkah untuk melepaskan beban di pundak yang nantinya hanya untuk berganti dengan beban lain yang mungkin lebih berat, berharap saja agar beban itu akan dibuatNya lebih ringan untuk dijalani. Allah, aku tak ingin menyesali keputusanku. Tuntun aku dan kuatkan aku untuk menjalani hari-hari esok sebagai seorang anak, seorang istri dan juga seorang ibu bagi anakku. Aku pasrahkan masa depan anak dan keluargaku padaMu Ya Allah. KepadaMu aku berserah.

cord d'bagindas empat mata

Empat Mata d'Bagindas [intro] E B C#m A 3x E B Biarkanlah diri ini C#m A Untuk mencoba mendekatimu E B Mendekati indahnya dirimu C#m A Dirimu yang hadir di mimpiku [int] E B C#m A E B Berikanlah aku waktu C#m A Dan keadaan yang engkau mampu E B Empat mata yang ku mau C#m A B Untuk katakan cinta padamu F#m B Hati ini takkan bisa F#m B Lebih lama tuk memendam rasa [chorus] A E Empat mata bicara padamu C#m B Ku katakan aku cinta kamu A E Empat mata ku ingin bertemu C#m B Tuk ungkapkan isi di hatiku E B Berikanlah aku waktu C#m A Dan keadaan yang engkau mampu E B Empat mata yang ku mau C#m A B Untuk katakan cinta padamu F#m B Hati ini takkan bisa F#m B Lebih lama tuk memendam rasa [chorus] A E Empat mata bicara padamu