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
Posting Komentar