Jumat, 13 Mei 2016

Pengetahuan Dasar Input Output Mikrokontroler AVR

DASAR  PEMROGRAMAN DAN APLIKASI MICRO CONTROLLER
INPUT/OUTPUT
Masukan/Luaran (I/O) pada Mikrokontroler AVR
Mohon silahkan melihat kembali berbagai macam fitur ATMega16 (sebagai contoh mikrokontroler
AVR) pada halaman-halaman sebelum ini. Salah satunya adalah memiliki 4 x 8 saluran masukan dan
luaran digital (berlogika 0 atau 1), totalnya 32 bit atau 32 pin! Masing-masing diberi nama A, B, C
dan D (masing-masing 8 pin atau 8 bit).
Kali ini kita akan membahas tentang hal dasar berkaitan dengan konsep I/O atau masukan/luaran
pada mikrokontroler AVR:
􀁸 Membaca tingkat tegangan masukan, apakah berlogika 0 (tegangan disekitar 0 volt) atau 1 (tegangan
sekitar 5 volt maksimal);
􀁸 Mengeluarkan tingkat tegangan 0 (sekitar 0 volt) atau 1 (sekitar 5 volt);
5.1. Register DDRx
Digunakan untuk menentukan apakah sebuah pin pada sebuat PORT (A, B, C atau D) sebagai
masukan atau luaran atau disebut sebagai arah (direction) dari pin yang bersangkutan:
􀁸 Berikan logika 1 (satu) pada bit yang terkait agar dijadikan sebagai luaran atau output.
􀁸 Berikan logika 0 (nol) pada bit yang terkait agar dijadikan sebagai masukan atau input.
Misal PORTA semua bit akan digunakan sebagai masukan, maka untuk mengaturnya kita gunakan
perintah...
DDRA= 0x00; //seluruh pin-pin pada Port A digunakan sebagai input
Misalnya lagi, PORTA.0 akan dijadikan masukan sedangkan PORTA.2 sampai PORTA.7 akan
digunakan sebagai luaran, maka perintahnya...
DDRA= 0xFE;
Perhatikan 􀃆 0xFE (heksa) = 0b11111110 (biner), perhatikan baik-baik konversi biner ini, setiap bit
nilai biner mewakili Pin-Pin pada PortA.
Register PORTx
Sebagaimana dijelaskan sebelumnya, jika sebuah PORT, semua atau sebagian, dikonfigurasi sebagai
masukan, maka register ini berfungsi sebagai penentu apakah kondisi pin yang terkait di-pullup atau
Floating. Begitu juga jika dikonfigurasi sebagai luaran, maka register ini menentukan kondisi pin
yang terkait terbyang di maksud dengan pullup. Saat tidak ada tegangan dari luar, PIN.1 akan cenderung
berkondisi HIGH (logika 1). Sedangkan PIN.2 dibiarkan begitu saja sehingga kondisi logik dari
PIN.2 begitu rentan terhadap pengaruh disekitarnya. PIN.2 bisa berlogika HIGH, bisa juga
berlogika LOW, ini artinya logika PIN.2 mengambang (floating).
Kondisi floating biasanya diperlukan saat PIN sebuah mikrokontroler dihubungkan ke suatu sensor.
Karena jika di pullup, dikhawatirkan kondisi logik PIN tersebut mengganggu kondisi logik pin-pin
sensor yang bersangkutan.aca HIGH atau LOW. Untuk memahami hal ini, perhatikan Gambar 14.
Perhatikan contoh-contoh berikut...
DDRA=0x00;
PORTA = 0xFF;
Ini berarti seluruh pin-pin pada PORTA dijadikan sebagai masukan dan di-pullup, artinya pada
rangkaian yang terkait, jika menggunakan tombol atau pushbutton, jika tidak ditekan akan terbaca
HIGH dan jika ditekan akan terbaca LOW. Gunakan contoh rangkaian pada Gambar 15 dan
perhatikan tanda panah, pushbutton satu ujung dihubungkan ke pin yang terkait sedangkan ujung
lainnya di-GND-kan. INGAT! Ini bukan satu-satu-nya cara membuat rangkaian masukan dengan
pushbutton, tetapi ini cara yang mudah dan murah meriah... he he he...
Contoh lainnya...
DDRB= 0x00;
PORTB=0x0F;
Ini artinya seluruh pin-pin PORTB dijadikan masukan, dengan konfigurasi 0x0F (0b00001111) atau
PORTB.0 sampai PORTB.3 di-pullup, sedangkan PORTB.4 sampai PORTB.7 dikonfigurasi
floating.
5.3. Register PINx
Digunakan untuk membaca masukan pada pin yang bersangkutan, akan dijelaskan pada contoh
program di halaman-halaman berikutnya.
A. OUTPUT :
1) LED
1. FLIP FLOP
2. RUNNING LED
2) 7 SEGMENT
1. MANUAL :
A. PENGKODEAN
B. COUNTER UP
C. COUNTER DOWN
2. IC BCD
A. PENGKODEAN
B. COUNTER UP
C. COUNTER DOWN
3) DOT MATRIK
1. MANUAL :
A. PENGKODEAN
B. COUNTER UP
C. COUNTER DOWN
2. IC BCD
A. PENGKODEAN
B. COUNTER UP
C. COUNTER DOWN
4) LCD
MENAMPILKAN TEXT/KARAKTER
5) MOTOR STEPPER

MENJALANKAN MOTOR CW DAN CCW
6) MOTOR DC
MENJALANKAN MOTOR CW DAN CCW
7) MOTOR SERVO
MENJALANKAN MOTOR CW DAN CCW
8) BUZZER
MEMBUNYIKAN BUZZER
B. INPUT :
1) PUST BUTTON
TEKAN PUSH BUTTON LED NYALA/TAMPIL DI LCD
2) SWITCH
TEKAN SWITCH LED NYALA/TAMPIL DI LCD
3) KEYPAD
A. TEKAN TOMBOL MUNCUL DI LCD
B. PROGRAM KALKULATOR
4) SENSOR :
a) LDR
b) FHOTO DIODA
c) POTENSIO METER
d) LM 35

MENAMPILKAN HASIL PEMBACAAN SENSOR KE PERANGKAT OUTPUT

Tidak ada komentar:

Posting Komentar