Friday, April 17, 2009

SOURCE CODE " LCD plus Keypad interfacing with Atmel 8051 in C"

Keypad and LCD Interfacing


# include
# include

int g;
sbit row1 = P3^0;
sbit row2 = P3^1;
sbit row3 = P3^2;
sbit row4 = P3^3;

char scan_key(void)
{
P3 = 15;
while(1)
{
if ( P3 != 15 ) break;
}
P3 = 239;
if( row1 == 0 ){g = 1; return '1';}
if( row2 == 0 ){g = 4; return '4';}
if( row3 == 0 ){g = 7; return '7';}
if( row4 == 0 ){ return '*';}
P3 = 223;
if( row1 == 0 ){g = 2; return '2';}
if( row2 == 0 ){g = 5; return '5';}
if( row3 == 0 ){g = 8; return '8';}
if( row4 == 0 ){g = 0; return '0';}
P3 = 191;
if ( row1 == 0 ){g = 3; return '3';}
if ( row2 == 0 ){g = 6; return '6';}
if ( row3 == 0 ){g = 9; return '9';}
if ( row4 == 0 ){ return '#';}

}

int main()
{
int i, c, f = 0,ali = 0;
char a;
P1 = 56, P2_1 = 0, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for (i = 0;I < 255; i++);
P1 = 15, P2_1 = 0, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for (i = 0; I < 255; i++);
P1 = 1, P2_1 = 0, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for(i = 0;i < 255; i++);
P1 = 28, P2_1 = 0, P2_2 = 0, P 2_3 = 1;
P2_3 = 0;
for(i = 0;i < 255; i++);
P1 = 129, P2_1 = 0, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for(i = 0;i < 255; i++);
while (1)
{
a = scan_key();
if( a == '*')
{
P1 = 1, P2_1 = 0, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
f = 0;
g = 0;
for( c = 0;c < 32000; c++);
}
if( a != '*' && a != '#')
{
P1 = a, P2_1 = 1, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for(c = 0;c < 32000; c++);
f = f + g;
f = f * 10;
}
if( a == '#')
{
f = f/10;
a = f;
P1 ='=', P2_1 = 1, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for( c = 0;c < 32000; c++);
f = 0;
g = 0;
goto label;
}
while (0)
{
label:
P1 = a, P2_1 = 1, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for( c = 0; c <32000 ; c++);
P1 =' ', P2_1 = 1, P2_2 = 0, P2_3 = 1;
P2_3 = 0;
for( c = 0; c < 32000; c++);
}
}
}

No comments:

Post a Comment