Assalamualaikum
Salam
Ok sekarang kita akan membahas tentang Pembacaan dan Penulisan Port pada microkontroller MCS 51 series
Simple Teory
Microkontroller 8051 / MCS 51 mempunyai 4 buah Port ini tergantung series micro-nya, port ini difungsikan sebagai masukkan dan keluaran. Pengubahan fungsi keluaran dan masukan pada port tidak perlu ada proses inisialisasi. 4 port ini berada di Spesial Fungtion Register (SFR ). no port dan nama serta alamat dapat dilihat table dibawah ini.
No | Nama | Alamat |
1 | P1 | 0x80 |
2 | P2 | 0x90 |
3 | P3 | 0x0A |
4 | P4 | 0x0B |
semua port dilengkapi dengan resistor Pull-Up, kecuali P0 yang open drain. Oleh kerena itu P0 membutuhkan resistor Pull-Up secara eksternal.
Port dapat diakses (baca atau tulis) secara byte (8 bit) atau bit( 0 dan 1). operasi yang berhubungan dengan operasi baca tulis port dapat berupa operasi Bitwise atau logika.
nah untuk pembacaan port dan penulisan port ini sering digunakan mengambil keputusan. salah satu cara mengambil keputusan dengan metode if, else, else if.
contoh :
if (penyeleksian)
{
Pernyataan1;
}
else if (penyeleksian)
{
Pernyataan2;
}
else
{
pernyataan3;
}
ok langsung aja anda bisa langsung melihat video dan pembahasan dibawah ;)
ok dibawah ini simple scriptnya
#include <at89x51.h> //preprocessor atau register untuk 8051
void main()
{
unsigned char buffer; // deklarasi var buffer type char takbertanda -> di video "bertanda" heheh males ralatnya disini aja di ralat :D
while(1) // dieksekusi terus-menerus
{
buffer = P1; //nilai Port 1 di berikan pada buffer
P2 = buffer; // lalu Port 2 kerjakan apa yang diperintahkan Port 1 -> di video "port 1" heheh males ralatnya disini aja di ralat :D
}
}
Pengambilan Keputusan dengan if
Perlengkapan
Editor dan Simulator Menggunakan Keil uv4
semoga bermanfaat :)
thanks
ok dibawah ini simple scriptnya
#include <at89x51.h> //preprocessor atau register untuk 8051
void main()
{
unsigned char buffer; // deklarasi var buffer type char takbertanda -> di video "bertanda" heheh males ralatnya disini aja di ralat :D
while(1) // dieksekusi terus-menerus
{
buffer = P1; //nilai Port 1 di berikan pada buffer
P2 = buffer; // lalu Port 2 kerjakan apa yang diperintahkan Port 1 -> di video "port 1" heheh males ralatnya disini aja di ralat :D
}
}
Pengambilan Keputusan dengan if
/*
Pembacaan dan penulisan port
Bitwise dan penyeleksian if
adhyrasade.wordpress.com
*/
#include <at89x51.h>//preprocessor atau register untuk 8051
int main()
{
unsigned char buffer;
char A,B,C;
A=P2_0; //P1_0 ini contoh untuk mengakses Port per bit
B=P2_1;
C=P2_2;
for(;;) // sama dengan while(1)
{
if(A&B) //a dan b bernilai 1 maka akan menjalakan pernyataan didalam kalang.
{
buffer = 0x0f;
P2 = buffer; //P2 = 00001111
buffer = 0;
return 0;
}
else if((A&B)|(B&C)) //ab = 0, bc =0 pernyataan tidak dijalakan
{ P2 = 2; } //ab = 0, bc =1 pernyataan didalam kalang dijalakan P2 = 00000010
//ab = 1, bc =0 pernyataan didalam kalang dijalakan
//ab = 1, bc =1 pernyataan didalam kalang dijalakan
else
{ P2 = 0; } // P2 = nol logic low
} //end for(;;)
}//end
Perlengkapan
Editor dan Simulator Menggunakan Keil uv4
semoga bermanfaat :)
thanks
No comments:
Post a Comment
Please Comment