Port Input/Output Mikrokontroler AVR ATMEGA32

robotics-university.com | Port input/output (I/O) merupakan bagian atau fitur sebuah mikrokontroler yang memiliki fungsi untuk membangun komunikasi antara mikrokontroler dengan peranti masukan (input) atau peranti keluaran (output) eksternal. Contoh peranti input adalah berbabagai macam sensor (LM35, ultrasonik PING/SRF, kompas digital, gyroscope, accelerometer, sensor optik, dll), sedangkan contoh peranti output adalah seperti berbagai macam aktuator (motor DCMP, motor servo, motor stepper, solenoid, dll), berbagai macam komponen display (LED, LCD, seven segment, dot-matrix, dll), berbagai macam komponen penghasil suara (buzzer, speaker, dll), dan lain sebagainya.

A. Port I/O Pada Mikrokontroler AVR ATMEGA32
Mikrokontroler AVR ATMEGA32 memiliki 4 buah port I/O, yaitu PORTA, PORTB, PORTC, dan PORTD yang pada setiap port memiliki 8 kaki I/O (ciri mikrokontroler 8-bit). Sehingga secara keseluruhan mikrokontroler AVR ATMEGA32 memiliki 32 jalur untuk berkomunikasi dengan peranti input atau peranti output.


Gambar 1. Letak kaki/pin input/output mikrokontroler AVR ATMEGA32

B. Skematik Port I/O Mikrokontroler AVR ATMEGA32

Apabila kita memerhatikan skematik pin I/O mikrokontroler AVR ATMEGA32 pada gambar 2, maka di sana tampak bahwa pada setiap pin/kaki I/O telah dilengkapi dengan resistor pull-up yang dihubungkan dengan tegangan catu melalui sebuah komponen FET. Selain itu, pada setiap pin/kaki I/O juga telah dilengkapi dengan dioda pengaman terhadap tegangan catu (Vcc) dan ground (GND). Dengan demikian, sebenarnya setiap pin I/O telah dapat digunakan untuk mengendalikan operasi sebuah komponen LED secara langsung.



Gambar 2. Skematik pin I/O mikrokontroler AVR ATMEGA32

C. Register Pengatur Port I/O Mikrokontroler AVR ATMEGA32
Setiap port I/O mikrokontroler AVR ATMEGA32 dalam pengaturannya melibatkan 3 buah register I/O, yaitu register PORT (Port Data Output Register), register DDR (Data Direction Register), dan register PIN (Port Data Input Register). Gambar 3 menunjukkan peta ketiga register tersebut.



Gambar 3. Register pengatur pin I/O mikrokontroler AVR ATMEGA32

Register PORT berfungsi untuk menyimpan data output, register DDR berfungsi untuk menentukan arah port sebagai jalur input atau sebagai jalur output, dan register PIN berfungsi untuk menyimpan data input.

D. Kapan PORT I/O Digunakan Sebagai Jalur Output?
Port I/O mirokontroler akan berfungsi sebagai jalur keluaran/output adalah ketika PORT I/O dihubungkan dengan peranti keluaran/output. Akan tetapi fungsi ini harus diatur (setting) secara program, yaitu dengan mengatur data register yang berhubungan dengan port I/O. Contoh peranti output adalah sebagai berikut:
  1. Driver motor DCMP
  2. Driver motor DC Stepper
  3. Motor DC Servo
  4. Display LED atau Dot-matrix
  5. Display LCD
  6. Display seven segment
  7. dll

E. Kapan PORT I/O Digunakan Sebagai Jalur Input?

Port I/O mirokontroler akan berfungsi sebagai jalur masukan/input adalah Ketika PORT I/O dihubungkan dengan piranti masukan/input. Akan tetapi fungsi ini harus diatur (setting) secara program, yaitu dengan mengatur data register yang berhubungan dengan port I/O. Contoh peranti input adalah sebagai berikut:
  1. Sensor optik.
  2. Sensor ultrasonik.
  3. Sensor Uvtron.
  4. Sensor gyroscope
  5. Sensor accelerometer
  6. Sensor gas.
  7. Push button (tag-switch)
  8. dll

F. Prosedur Pengaturan PORT I/O
Pengaturan port I/O adalah mengatur arah fungsi port, yaitu sebagai jalur masukan atau sebagai jalur keluaran. Cara pengaturannya adalah dengan mengatur nilai logika setiap bit dari register DDR, yaitu apabila menghendaki port I/O bekerja sebagai jalur input, maka register DDR diberi logika low (nilai 0). Sebaliknya apabila menghendakiport I/O bekerja sebagai jalur output, maka register DDRx diberi logika high (nilai 1). Berikut ini adalah contohnya:
DDRA = 0b00001111
Memiliki arti bahwa bit ke-0 hingga ke-3 sebagai jalur output, sedangkan bit ke-4 hingga ke-7 sebagai jalur input.
DDRC = 0xFF
Memiliki arti bahwa semua bit PORTC berfungsi sebagai jalur output.

G. Fungsi Alternatif Port I/O
Selain memiliki fungsi sebagai jalur input atau jalur output, port I/O pada mikrokontroler AVR ATMEGA32 juga memiliki fungsi alternatif. Berikut ini adalah tabel-tabel yang menerangkan fungsi alternatif pin-pin (bit-bit) port I/O pada mikrokontroler AVR ATMEGA32:

Tabel 1. Fungsi alternatif port A



Tabel 2. Fungsi alternatif port B



Tabel 3. Fungsi alternatif port C



Tabel 4. Fungsi alternatif port D



Share on Google Plus

About Taufiq D.S. Suyadhi

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment