Anda di halaman 1dari 4

Panduan Praktek Teknik Pemrograman Mikrokontroler

MODUL 2
Pembacaan dan Penulisan Port

Tujuan :
Praktikan dapat membaca Port masukan/keluaran dan melakukan
pemrosesan pada level bit atau byte.

Teori
Mikrokontroler 8051 mempunyai 4 buah port yang dapat difungsikan sebagai port
masukan atau keluaran. Pengubahan fungsi keluaran dan masukan pada port tidak
perlu ada proses inisialisasi. Keempat port berada di Special Function Register (SFR)
dengan nama dan alamat seperti pada Tabel 1 berikut ini.
Tabel 1
No Nama Alamat
1 P0 0x80
2 P1 0x90
3 P2 0x0A
4 P3 0x0B
Semua port dilengkapi dengan resistor Pull-Up, kecuali P0 yang open drain. Oleh
karena itu P0 membutuhkan resistor Pull-Up secara eksternal.

Port dapat diakses (baca atau tulis) secara byte atau bit. Operasi yang berhubungan
dengan operasi baca dan tulis port dapat berupa operasi Bitwise atau operasi logika.
Operasi Bitwise diperlihatkan seperti Tabel 2.

No Operator Keterangan
1 & Bitwise AND
2 | Bitwise OR
3 ^ Bitwise XOR
4 << Geser kiri
5 >> Geser kanan
6 ~ Bitwise NOT

Hasil pembacaan port seringkali digunakan sebagai masukan untuk mengambil


keputusan. Salah satu pernyataan pengambilan keputusan adalah pernyataan if, if-
else dan if – else if dengan sintaks sebagai berikut.
a. if (kondisi)
{ pernyataan}
b. if (kondisi)
{ pernyataan1}
else
{pernyataan2}
c. if (kondisi)

STMIK AKAKOM YOGYAKARTA 1 dari 4


Panduan Praktek Teknik Pemrograman Mikrokontroler

{ pernyataan1}
else if
{ pernyataan2}
else
{ pernyataan3}

Alat
a. Software : MIDE-51
b. Komputer

Praktik

A. Membaca dan Penulisan Port per Byte


1. Tulis listing program berikut ini.

#include <at89x51.h>
void main()
{
unsigned char bufer;
while(1)
{
bufer=P1;
P2=bufer;
}
}
2. Beri nama, simpan dan kompail.
3. Jalankan simulator Dscope-51, pilih 8051.dll, dan load file hex hasil kompilasi.
4. Tampilkan P1 dan P2
5. Ubah nilai P1 dan catat perubahan pada P2, lakukan hal sebailknya. Catat
informasinya.

B. Membaca dan Menulis Port Per Bit


1. Tulis listing program berikut ini.
#include <at89x51.h>
void main()
{
bit bufbit;
while(1)
{
bufbit=P1_0;
P2_7=bufbit;
}
}
2. Simulasikan dan ubah P1 bit ke 0 dan catat perubahan di P2 bit ke 7.
3. Lakukan perubahan pembacaan dan penulisan pada bit-bit yang lainnya.
4. Ubah pernyataan “bufbit=P1_0” menjadi “bufbit=~P1_0” dan simulasikan
ulang. Catat hasilnya.

C. Mengkondisikan Masukan
1. Tulis listing program berikut ini.

STMIK AKAKOM YOGYAKARTA 2 dari 4


Panduan Praktek Teknik Pemrograman Mikrokontroler

#include <at89x51.h>
void main(void)
{
unsigned char tampung;
while(1)
{
tampung=P1&0x07;
P2=tampung;
}
}

2. Simulasikan menggunakan Dscope-51.


3. Ubah masukan P1 dari logika 1 ke 0 ke 1 lagi bit demi bit dimulai dari bit ke
0 (P1.0). Catat perubahan P2 berdasarkan perubahan P1.
4. Ulangi mulai langkah 2 dengan mengganti operator bitwise AND dengan operator
bitwise OR dan EXOR.
5. Tulis listing program berikut ini.
#include <at89x51.h>
void main(void)
{
unsigned char tampung;
while(1)
{
tampung=P1<<1;
P2=tampung;
}
}
2. Simulasikan dan ubah masukan P1 amati perubahannya.
3. Ubah nilai 1 pada pernyataan “tampung=P1<<1” dengan nilai 2, 3 dan 4.
4. Simulasikan ulang dan catat hasilnya.
5. Ulangi mulai langkah 2 dengan operator geser kanan(>>)
6. Tulis listing program berikut ini.
#include <at89x51.h>
void main(void)
{
unsigned char tampung;
while(1)
{
tampung=~P1;
P2=tampung;
}
}
7. Simulasikan dan catat hasilnya.

D. Pengambilan Keputusan
1. Tulis listing program berikut ini.
#include <at89x51.h>

void main(void)
{
bit A,B,C;
A=P1_0;
B=P1_1;
C=P1_2;
if(A&B)
{P2=5;}
if((A&B)|(B&C)

STMIK AKAKOM YOGYAKARTA 3 dari 4


Panduan Praktek Teknik Pemrograman Mikrokontroler

{P2=2;}
}
2. Simulasikan dan catat kapan P2 bernilai 5 dan 2.

Tugas
Suatu sistem berbasis mikrokontroler 8051 mempunyai 3 buah masukan sensor
yang digunakan untuk mendeteksi keberadaan orang disekitar pintu otomatis. Sensor
mengeluarkan logika 1 jika ada orang dan 0 jika tidak ada orang. Sensor diletakkan
didepan pintu (sensor depan), tengah pintu (sensor tengah) dan di belakang pintu
(sensor belakang). Koneksi sensor dengan masukan mikrokontroler 8051 adalah
sebagai berikut.
Sensor depan = P1.0
Sensor tengah=P1.1
Sensor belakang=P1.2
Pembuka pintu dihubungkan dengan P2.0 dan akan membuka jika berlogika 1,
menutup jika berlogika 0. Pintu akan membuka jika sensor depan =1, sensor
tengah =1 kemudian akan menutup jika sensor belakang 1 atau sensor belakang
=1, sensor tengah=1 kemudian akan menutup jika sensor depan =1.
a. Buat diagram blok rangkaiannya.
b. Buat program untuk sistem di atas.

STMIK AKAKOM YOGYAKARTA 4 dari 4

Anda mungkin juga menyukai