Jumat, 10 Februari 2012

AKSES INPUT OUTPUT (I/O) AVR

  Pada dasarnya untuk mengakses I/O (input output) AVR ada beberapa register yang harus disetting terlebih dahulu, yaitu:

1.       Data Register (PORTx)

2.      Data Direction Register (DDRx) dan

3.      Port Input Pin (PINx)


DDR bit=1
DDR bit=0
Port bit=1
Output high
Input pull-up
Port bit=0
Output low
Input floating


  • Input                    : DDR bit 0 dan port bit 1
  • Output high       : DDR bit 1 dan port bit 1
  • Output low         : DDR bit 1 dan port bit 0 

DDRx digunakan untuk mendefinisikan port sebagai input atau output, Jika level logika pada register DDR bernilai 1 maka Port tersebut dikonfigurasikan sebagai Output. Sedangkan jika level logika pada register DDR bernilai 0 maka Port tersebut dikonfigurasikan sebagai input.

Contoh: DDRA=0xff → maka Port A sebagai Output

               DDRA=0×00 → maka Port A sebagai Input



PORTx digunakan untuk mengeluarkan/menulis data ke port mikrokontroler, saat dikonfigurasikan sebagai output.

Contoh: PORTB=0xff → maka Port B = 11111111 (biner)

                PORTB=0xa3 → maka Port B = 10100011 (biner)

PINx digunakan untuk mengambil/membaca data dari port mikrokontroler, saat dikonfigurasikan sebagai input.

Contoh:

PortB=0xCC //jika ditulis salam hexa

DDRB=0x0F //jika ditulis salam biner maka DDRB=0b00001111 



Arti dari sintax di atas adalah PORTB(0-3) sebagai input dan PORTB(4-7) sebagai input. Sedangkan dari PORT terlihat bahwa PB(0-1)= low, PA(2-3)=high, PA(4-5) tanpa floating dan PA(6-7) dengan Rpull-up

0 komentar:

Posting Komentar