
bit debounce=1;
bdata unsigned char row_no,col_no;
sbit col_no0 = col_no^0;

void delay(unsigned int itime)
{
  int i,j;
	for(i=0;i<1275;i++) <B><--------- Do you want to do this, or do you want the loops nested? </B>
		;
	for(j=0;j<itime;j++)
		;
}

		:
		:
		:
		:

unsigned char key_scan()
{
  unsigned char temp,i,key=100;
	col=0xff;
	row=0x00;
	while(col==0xff)
		;  <B><--------- This is going to loop forever! </B>
	temp=col;
	delay(20);
	while(col==0xff)
		; <B><--------- So is this! </B>
	if(temp!=col)
	{
		debounce=0;
	}
	else
	{
		delay(20);
		temp=0xfe;
		for(i=0;i<8;i++)
		{
			row=_crol_(temp,i);
			if(col != 0xff)
			{
				col_no=col;
				col_check();
				key=key_matrix[col_no];
				col=0xff;
				while(col!=0xff)
					; <B><--------- And this! </B>
				return key;
			}
		}
	}
}