Site icon ndoWare

Port-port I/O Paralel Mikrokontroler 8051

Seperti yang sudah kita lihat sebelumnya, 8051 memiliki empat port I/O 8-bit yang digunakan sebagai empat port 8-bit atau tiap-tiap pin-pin port dapat dialamatkan secara individual. Gambar berikut menunjukkan struktur-struktur port I/O 8051.

Setiap port terdiri dari latch, satu driver keluaran dan satu buffer masukan. Bit yang dijalankan ditunjukkan sebagai D flip-flop, dimana klok adalah nilai dari data bus internal sebagai respon ke sinyal Write to Latch dari CPU. Keluaran Q dari flip-flop dapat dibacakan ke bus data internal sebagai respon ke sinyal Read Latch dari CPU. Read pin adalah operasi yang berbeda dari pembacaan latch. Status pin port dapat dibacakan ke data bus internal ketika CPU memberikan perintah “read pin”

Port 1, 2 dan 3

Port 1, 2 dan 3 adalah port quasi-bi-directional dan memiliki register pull-up internal tetap. Port 1, 2 dan 3 ketika dikonfigurasikan sebagai masukan, mereka ditarik secara tinggi dan arus sumber jika secara eksternal ditarik rendah. Untuk mengkonfigurasikan pin port sebagai input, “1” harus ditulis ke dalam port latch. hal ini lalu mematikan (turn OFF) FET dan pin tersebut kemudian ditarik tinggi oleh resistor pull-up, perangkat eksternalnya dapat menariknya rendah.

Status dari pin sekarang dapat dibacakan ke dalam bus data internal. Pada saat reset, port latch dari 8051 memiliki logika “1” yang dituliskan ke dalamnya, dan dikonfigurasikan sebagai masukan. Kita dapat mengatur pin sebagai keluaran kapan saja; namun, untuk fungsi input, FET harus dalam keadaan OFF. Jika pin tersebut digunakan sebagai keluaran, menulis logika “0” ke dalam pin memerlukan FET dalam keadaan ON. Sama halnya, untuk menulis logika “1” ke dalam pin, FET harus dalam keadaan OFF, menjadikan logika “1” sebagai keluaran dikarenakan resistor pull-up.Satu hal penting yang harus dilihat disini bahwa port-port dari 8051 dapat meredam lebih banyak arus daripada sumbernya. Pin-pin port dapat meredam sekitar 0.5mA tapi hanya dapat menjadi sumber satuan µA.

Port 0

Port 0 tidak memiliki resistor pull-up internal. Ketika dikonfigurasikan sebagai masukan, port ini menjadi mengambang dan maka dari itu akan berfungsi menjadi port bi-directional sejati.  Port 0 memiliki dua FET keluaran. Untuk operasi normal, FET pull-up atas dalam keadaan OFF, menyebabkan dibutuhkannya pin keluaran “open drain” dan resstor pull-up eksternal. Jika logika  “1” ditulis ke dalam latch port 0, jika FET dimatikan dan pin mengambang dan dapat digunakan sebagai masukan high-impedance.

FET pull-up hanya beroperasi jika ada akses ke memori eksternal. Buffer keluaran port 0 dapat memandu masukan 8 LS TTL. Driver keluaran dari port 0 (dan juga port 2) dapat diubah menjadi bus internal ADDR (dan ADDR/DATA) dengan menggunakan sinyal Control internal disaat mengakses memori eksternal. Ketika digunakan sebagai bus ADDR dan ADDR/DATA, pin-pin port 0 dan port 2, secara berurutan, tidak dapat digunakan sebagai I/O tujuan-umum.

Exit mobile version