Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/26/08 18:25
Read: times


 
#157777 - code of 8x8 keypad
Responding to: ???'s previous message
i have put 1k pull up on p1
#define col P2
#define row p1
code unsigned char key_matrix[8][8]
=
{ 43,  42,  41, 40, 39,38, 37, 36, 66,  59,  64, 63, 62, 61, 45, 44,7,6,5,4,3,2,1,0,18,  17,  16, 15, 14, 13, 12, 11,57,  56,  55, 10, 9,  8,  20, 19,54,  53,  52, 25, 24, 23, 22, 51,  50,  49, 30, 29, 28, 27, 26, 58,  47,  48, 65, 60, 67, 32, 31,};

void MSDelay(unsigned int value)
{
 	unsigned int x,y;
	for(x=0;x<1275;x++)
		for(y=0;y<value;y++);
}

xdata unsigned char colloc,rowloc,temp=0xfe,i=0;
	
unsigned char key_scan()
{
	col=0xff;
	while(1)
	{
		do
		{
			row=0x00;
			colloc=col;

		}while(colloc!=0xff);//check untill all key release
		do
		{
			do
			{
				MSDelay(20);
				colloc=col;

			}while(colloc==0xff);
		MSDelay(5);
		colloc=col;
		}while(colloc==0xff);
		while(1)
		{
		 	row=_crol_(temp,i);
			colloc=col;
			if(colloc!=0xff)
			{
			 	rowloc=i;
				i=0;
				break;
			}
			i++;
	   }
	   //check cloumn //
	   if(colloc==0xfe)
	   {
	   	  key=key_matrix[rowloc][0];
		  return key;					
	   }else if(colloc==0xfd)
	   {
		  key=key_matrix[rowloc][1];
		  return key;
	   }else if(colloc==0xfb)
	   {
		  key=key_matrix[rowloc][2];
		  return key;
	   }else if(colloc==0xf7)
	   {
		  key=key_matrix[rowloc][3];
		  return key;
	   }else if(colloc==0xef)
	   {
		  key=key_matrix[rowloc][4];
		  return key;
	   }else if(colloc==0xdf)
	   {
		  key=key_matrix[rowloc][5];
		  return key;
	   }
	   else if(colloc==0xbf)
	   {
		  key=key_matrix[rowloc][6];
		  return key;
	   }
	   else if(colloc==0x7f)
	   {
		  key=key_matrix[rowloc][7];
		  return key;
	   }


	}
}


...replace this with your code...


List of 15 messages in thread
TopicAuthorDate
problem in 8x8 keypad            01/01/70 00:00      
   I see ...            01/01/70 00:00      
      this code with correction            01/01/70 00:00      
         Try the Insert Code button.            01/01/70 00:00      
            code with comment            01/01/70 00:00      
               Lots of things to look into            01/01/70 00:00      
                  reply            01/01/70 00:00      
                     One way to debounce            01/01/70 00:00      
               One Suggestion            01/01/70 00:00      
                  the easy way to do keypads            01/01/70 00:00      
   indent, indent, indent            01/01/70 00:00      
   problem in keypad            01/01/70 00:00      
      Where is the code?            01/01/70 00:00      
         code of 8x8 keypad            01/01/70 00:00      
            Simplify and think about debounce            01/01/70 00:00      

Back to Subject List