Tuesday 3 November 2015

AT89C51 KEYPAD VALUE ON LCD




#include<reg51.h>
#define port P3
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^2;
void delay()
{
unsigned int i;
for(i=0;i<3000;i++);
}
void cmd(unsigned int c)
{
port=c;
rs=0;
rw=0;
e=1;
delay();
e=0;
}
void dat(unsigned int c)
{
port=c;
rs=1;
rw=0 ;
e=1  ;
delay();
e=0;
}
void lcd_init()
{
cmd(0x01);
cmd(0x80);
cmd(0x0c);
cmd(0x38);
}
 void digit(unsigned int i)
 {
  unsigned char a,k=0x82;
   cmd(0x01);
  do
  {
  cmd(k--);
  a=i%10;
  dat(48+a);
  cmd(0x80);
  delay();
  i=i/10;
 }
 while(i>0);
 }
void main()
{
int a,b,c;
lcd_init();
P2=0x00;
while(1)
{
P1=0xf0;
while(P1==0xf0);
a=P1;
P1=0x0f;
b=P1;
while(P1!=0x0f);
c=a|b;
P2=c;
if(c==0xe7)
{
digit(1);
}
else if(c==0xeb)
{
digit(2);
}
else if(c==0xed)
{
digit(3);

}
else if(c==0xee)
{
digit(4);

}
else if(c==0xd7)
{
digit(5);
}
else if(c==0xdb)
{
digit(6);
}
else if(c==0xdd)
{
digit(7);
}
else if(c==0xde)
{
digit(8);
}
else if(c==0xb7)
{
digit(9);
}
else if(c==0xbb)
{
digit(10);
}
else if(c==0xbd)
{
digit(11);
}
else if(c==0xbe)
{
digit(12);
}
else if(c==0x77)
{
digit(13);
}
else if(c==0x7b)
{
digit(14);
}
else if(c==0x7d)
{
digit(15);
}
else if(c==0x7e)
{
digit(16);
}
}
}





No comments:

Post a Comment