Anda di halaman 1dari 9

Input Output

Mikrokontroler AVR
Atmega 16
Port I/O Atmega 16

Port B (PB) Port A (PA)

Port D (PD) Port C (PC)


Register bit

Setiap port I/O mempunyai 3 buah register bit, yaitu:


•DDxn
•PORTxn
•PINxn

Huruf x mewakili nama port, sedangkan n mewakili nama


bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn
terdapat pada I/O address PORTx dan bit PINxn terdapat
pada I/O addres PINx.
Deskripsi register
Deskripsi register untuk port A, port B, port C dan port D sama
yaitu terdiri dari DDxn, PORTxn dan PINxn berikut adalah
deskripsi register untuk port A.
Port I/O pada mikrokontroler AVR dapat difungsikan sebagai
input atau output, dengan cara mengubah isi I/O register Data
Direction Register. Bit DDxn dalam register DDRx (Data
Direction Register) menentukan arah pin. Berikut adalah tabel
pengaturan port I/O :

DDR bit =1 DDR bit = 0

PORT bit = 1 Output high Input pull-up

PORT bit = 0 Output low Input floating


Jika kita ingin Port C dikonfigurasikan sebagai ouput,
maka DDRC (data direction register port C) harus diset
0b11111111 atau 0xFF atau 255. Jika port C sebagai output,
maka DDRC harus diset 0x00 atau 0b00000000 atau 0.

Contoh:
DDRC = 0xFF; //port C dikonfigurasikan sebagai output
yaitu PC0 – PC7
DDRD = 0x00; //port D dikonfigurasikan sebagai input
yaitu PD0 – PD7
Setiap pin I/O mikrokontroler AVR memiliki internal pull
up. Misalnya port B dikonigurasikan sebagai input dan
internal pull up nya diaktifkan, maka DDRB = 0x00 dan
PORTB = 0xFF.

Contoh:
DDRB = 0x00; // port B dikonfigurasikan sebagai input
yaitu PB0 – PB7
PORTB = 0XFF; //internal pull up aktif
Untuk membaca data pada salah satu port, dapat
digunakan fungsi PINx, sedangkan untuk membaca data
per pin pada suatu port dapat digunakan fungsi PINx.bit

Contoh:
PORTC = PIND; //semua data yang dibaca dari
portD dikeluarkan pada port C
PORTD.0 = PINC.1 ; // data yang dibaca dari port
C1 dikeluarkan pada port D0
Tegangan keluaran pada pin I/O mikrokontroler ketika
berlogika ‘1’ besarnya sekitar 4,2 V dan arusnya sebesar
20 mA. Port I/O sebagai output hanya memberikan arus
(sourcing) sebesar 20 mA, keluaran dari suatu port
mikrokontroler hanya dapat mengemudikan perangkat
output dengan arus yang kecil, sehingga untk peralatan
elektronika dengan arus yang besar perlu diberikan
penguat tambahan, oleh karena itu biasanya
dipergunakan penguat lagi berupa transistor atau IC
penguat

Anda mungkin juga menyukai