Description:
16 switches are connected in this diagram, port2 connected as the 4pin input and 4 pin output.16 switches are connected in matrix method.Port2 connected with switches and port3 blinks the corresponding binary numbers. In this program, r represents row and c represents column, port2 first set as HIGH and the r1 (first row) set as 0 and c1(first column) set 0,and other columns set as 1 the first switch pressed port3 blinks the corresponding binary value and vice versa.
Code:
#include<reg51.h>
sbit r1=P2^0;
sbit r2=P2^1;
sbit r3=P2^2;
sbit r4=P2^3;
sbit c1=P2^4;
sbit c2=P2^5;
sbit c3=P2^6;
sbit c4=P2^7;
void main()
{
while(1)
{
P2=0XFF;
r1=0;
while(c1==0&& c2==1&&
c3==1&& c4==1)
{
P3=1;
}
while(c2==0&& c1==1&&
c3==1&& c4==1)
{
P3=2;
}
while(c3==0&&c1==1&&c2==1&&c4==1)
{
P3=3;
}
while(c4==0 && c1==1&&
c2==1&& c3==1)
{
P3=4;
}
P2=0XFF;
r2=0;
while(c1==0&& c2==1&&
c3==1&&c4==1)
{
P3=5;
}
while(c2==0&&c1==1&&c3==1&&c4==1)
{
P3=6;
}
while(c3==0&&c1==1&&c2==1&&c4==1)
{
P3=7;
}
while(c4==0&&c1==1&&c2==1&&c3==1)
{
P3=8;
}
P2=0XFF;
r3=0;
while(c1==0&& c2==1&&
c3==1&&c4==1)
{
P3=9;
}
while(c2==0&&c1==1&&c3==1&&c4==1)
{
P3=10;
}
while(c3==0&&c1==1&&c2==1&&c4==1)
{
P3=11;
}
while(c4==0&&c1==1&&c2==1&&c3==1)
{
P3=12;
}
P2=0XFF;
r4=0;
while(c1==0&&c2==1&&
c3==1&&c4==1)
{
P3=13;
}
while(c2==0&&c1==1&&c3==1&&c4==1)
{
P3=14;
}
while(c3==0&&c1==1&&c2==1&&c4==1)
{
P3=15;
}
while(c4==0&&c1==1&&c2==1&&c3==1)
{
P3=16;
}
}
}
No comments:
Post a Comment